【发布时间】:2015-08-19 22:08:51
【问题描述】:
我正在尝试从应用允许完全访问这些 s3 存储桶的 IAM 配置文件创建的实例访问一些 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'`
并尝试访问存储桶。再次,访问被拒绝。
有什么我应该错过的吗?
【问题讨论】:
-
不要使用雾宝石,试试fog-awsgem。希望它能解决您的问题
-
谢谢@cmthakur,我会试一试的。
-
访问权限是设置在 S3 存储桶还是 IAM 用户上? IAM 用户和 S3 存储桶是否属于同一个根 AWS 账户?
-
@FrederickCheung,因为我能够使用我认为使用 boto 的 aws cli 列出存储桶。如果我错了,请纠正。
-
@AmitKumarGupta,我已经为 IAM 用户设置了权限,是的,该用户属于同一个根 AWS 账户。
标签: ruby amazon-web-services amazon-s3 boto amazon-iam