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

问题描述:

据我所知,用s3fs挂载s3存储桶的唯一方法是使用支持各种文件位置的文件中指定的accesskey:secretkeys3fs与aws ec2实例和使用实例配置文件

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

感谢

如果你知道你可以使用AWS CLI获得安全credentails的IAM角色的名称。

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

复制 curl 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

当/如果你有一个连接到EC2实例的角色,然后你可以添加在/etc/fstab以下条目自动挂载S3桶上的引导:

s3fs#bucketname /PATHtoLocalMount fuse _netdev,iam_role=nameofiamrolenoquotes 

当然,您必须安装s3fs(正如您根据问题所做的那样),并且角色策略必须授予对S3存储区的适当(可能是全部)访问权限。这很好,因为没有IAM证书需要存储在实例上(=更安全,因为角色访问不能在连接到角色的实例之外使用,而IAM证书可以)。