我正在尝试向程序化 IAM 用户授予对单个存储桶的访问权限。
我设置了以下策略并将其附加到用户:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::mybucket"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::mybucket/*"
]
}
]
}
尝试以编程方式上传文件时出现 403 错误。
我从这里得到了这个政策:
编写 IAM 策略:如何授予对 Amazon S3 存储桶的访问权限 https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/%20here
我通过添加 AWS 托管策略 AmazonS3FullAccess 验证其他一切正常,之后上传成功。但我宁愿不授予该用户完全访问权限。
该用户没有附加任何其他策略。
你们的政策没有任何问题。确保您在 IAM 策略中使用正确的存储桶名称并将策略添加到用户。
你可以测试它IAM 策略模拟器 https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html。也许你应该考虑政策生效的时间,但它“几乎立即”。看这个答案 https://stackoverflow.com/questions/20156043/how-long-should-i-wait-after-applying-an-aws-iam-policy-before-it-is-valid.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)