使用aws ec2实例和使用实例配置文件的s3fs

时间:2017-05-04 21:45:52

标签: amazon-web-services amazon-s3 amazon-ec2 s3fs

据我所知,使用s3fs挂载s3存储桶的唯一方法是使用支持各种文件位置的文件中指定的accesskey:secretkey

但是,如果我是一个ec2实例,在本地s3帐户中,使用实例配置文件,我只想使用可用的实例配置文件凭据。有没有人知道使用实例配置文件的方法,而不必在本地文件系统中设置凭据?如果没有,是否有人正在努力支持此功能?

由于

2 个答案:

答案 0 :(得分:1)

一旦/如果你有一个附加到EC2实例的角色,你可以在/etc/fstab中添加以下条目,以便在启动时自动挂载S3存储桶:

s3fs#bucketname /PATHtoLocalMount fuse _netdev,iam_role=nameofiamrolenoquotes

当然,您必须安装s3fs(正如您从问题中判断的那样),并且角色策略必须授予对S3存储桶的适当(可能是完全)访问权限。这是很好的,因为没有IAM凭证需要存储在实例上(=更安全,因为角色访问不能在附加到角色的实例之外使用,而IAM凭证可以)。

答案 1 :(得分:0)

如果您知道IAM角色的名称,则可以使用AWS CLI获取安全凭证。

以下命令检索名为s3access的IAM角色的安全凭据。

复制 卷曲http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access 以下是示例输出。

{
  "Code" : "Success",
  "LastUpdated" : "2012-04-26T16:39:16Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "AKIAIOSFODNN7EXAMPLE",
  "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "Token" : "token",
  "Expiration" : "2012-04-27T22:39:16Z"
}

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials