amazon-web-services - 没有 ListAllMyBuckets 的特定 S3 存储桶的 IAM 策略无效
问题描述
我已经为一个特定的 S3 存储桶指定了 IAM 访问策略,该存储桶可以与 ListAllMyBuckets 操作一起正常工作。但是我不想向用户列出所有存储桶。如果我删除 LisAllBuckets 操作,则会收到错误消息,
Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 37A0TA0JGKQA56FJ; S3 Extended Request ID: yWLJEG4RSqGKXjphkcvfOUTCqPe6Qtq/aZUKek1LJ
尝试通过我的应用程序使用访问密钥 ID 和秘密访问密钥进行访问时出错。看起来这项政策应该按照 AWS 指南https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/工作- 但是它没有按预期工作。你能帮我解决这个问题吗?谢谢。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::ohdart-dev-assessments"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::ohdart-dev-assessments/*"
]
}
]
}
解决方案
推荐阅读
- postgresql - 在 Gitlab CI 中部署 helm 图表时如何修复节点主机名过长
- java - 并行流中的异常细节不一致
- amazon-web-services - 推荐自定义 EC2 调度的方法?
- database - 如何在 WinForms VB.Net 遗留代码应用程序中对更新数据库的私有方法进行单元测试,而不实际更新数据库?
- openshift - 在 openshift 中执行 kompose 最后会抛出 Unauthorized
- oracle-data-integrator - ODI 12c 使用 SDK 智能导入到 Exec 存储库的行为类似于导入到开发存储库
- regex - 特定单词和特殊字符后的正则表达式
- android - 如何检测父活动是否已实例化?
- angular - Angular APP_INITIALIZER 提供者将一项注入服务视为未定义,但其他注入服务就好了
- ios - 在 Ubuntu 上发布未签名的基于 Cordova 的 iOS 应用程序