据我所知,使用s3fs挂载s3存储桶的唯一方法是使用支持各种文件位置的文件中指定的accesskey:secretkey
。
但是,如果我是一个ec2实例,在本地s3帐户中,使用实例配置文件,我只想使用可用的实例配置文件凭据。有没有人知道使用实例配置文件的方法,而不必在本地文件系统中设置凭据?如果没有,是否有人正在努力支持此功能?
由于
答案 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"
}