使用IAM配置文件

时间:2015-06-05 04:29:58

标签: ruby amazon-web-services amazon-s3 boto amazon-iam

我正在尝试从应用IAM配置文件创建的实例访问某些s3存储桶,该配置文件允许完全访问这些s3存储桶。我可以使用aws cli执行所需的操作。但是,我的应用程序是用Ruby编写的,并使用fog gem。使用雾,我无法访问这些桶。我得到的只是拒绝访问。另外,我抓住了所需的密钥: aws_access_key_id=`curl http://169.254.169.254/latest/meta-data/iam/security-credentials/${instance_profile} | grep AccessKeyId | cut -d':' -f2 | sed 's/[^0-9A-Z]*//g'` aws_secret_access_key=`curl http://169.254.169.254/latest/meta-data/iam/security-credentials/${instance_profile} | grep SecretAccessKey | cut -d':' -f2 | sed 's/[^0-9A-Za-z/+=]*//g'` 并试图访问桶。再次,访问被拒绝。

有什么我应该错过的吗?

1 个答案:

答案 0 :(得分:2)

除了访问密钥和秘密访问密钥之外,临时凭证(例如实例元数据提供的凭证)也具有会话令牌 - 没有令牌凭证无效。

当前版本的fog / fog-aws支持为您提取实例凭证,例如

storage = Fog::Storage::AWS.new(region: "eu-west-1", use_iam_profile:true)

这也会在凭据到期之前重新获取凭据