【问题标题】:How to see policies for S3 buckets which showing `Access Denied` error in AWS Console?如何查看在 AWS 控制台中显示“拒绝访问”错误的 S3 存储桶策略?
【发布时间】:2018-09-16 17:41:07
【问题描述】:

我已以 root 用户身份登录 AWS 账户。但我无法访问 AWS 中的某些存储桶。它们未显示在 S3 控制台中。我通过在 url 中提交存储桶名称来访问它们 例如让我们称桶为 unaccessible-bucket https://s3.console.aws.amazon.com/s3/buckets/unaccessible-bucket/?region=us-east-1&tab=overview 如果我导航到Permissions > Bucket Policy 我看到通知Access denied,我无法下载文件。我无法更改政策。我也尝试过使用 AWS CLI。 有人可以告诉我如何编辑政策。 根据我们的组织要求, 我们必须添加两个新的 IAM 用户.. 对于一个用户...我们必须授予对包括此unaccessible-bucket 在内的所有存储桶的访问权限。 对于其他用户...我们必须仅授予对此unaccessible-bucket 的访问权限。 Please check the screenshot 非常感谢。

【问题讨论】:

  • S3 控制台是否列出存储桶?如果是这样并且您被拒绝访问存储桶内容或策略,则表明可能已应用存储桶策略拒绝您访问。如果 S3 控制台未列出存储桶,则它们可能位于不同的 AWS 账户中(这将解释您无法访问它们的原因)。

标签: amazon-web-services amazon-s3


【解决方案1】:

假设您以 root 用户身份登录 AWS 控制台。

如果您在 AWS 控制台中看不到 S3 存储桶,则说明您不拥有该存储桶,它由另一个账户拥有。

如果您可以在控制台中看到存储桶,则说明您拥有该存储桶。如果您无法访问存储桶的内容,则需要编辑 S3 存储桶策略并将 root 用户添加为委托人。用您自己的帐号替换帐号。

将此语句添加(或修改)到您的 S3 存储桶策略:

"Principal": { "AWS": "arn:aws:iam::123456789012:root" }

【讨论】:

  • 如果我尝试在存储桶策略中添加任何内容,我会收到 Access denied 错误。
  • 编辑您的问题并包含政策。
  • 很抱歉这么说。我无法查看现有政策,也无法将 "Principal": { "AWS": "arn:aws:iam::123456789012:root" } 添加为政策。我可以将数据写入存储桶,我可以读取我写入的数据。而已。现在我想删除现有策略并获得对存储桶的完全访问权限。
  • 请查看此截图i.stack.imgur.com/pp91e.png。如果我导航到Permissions > Bucket Policy,这就是我得到的。我尝试使用aws s3api delete-bucket-policy --bucket unaccessible-bucket 删除存储桶策略仍然相同的错误Access Denied
  • 您确定您是使用 Root 凭证而不是其他 IAM 用户登录的吗?我问的原因是您不能拒绝根用户访问 IAM 策略和角色。使用 AWS CLI,列出存储桶并仔细检查此存储桶的所有权等。 root 用户可以拒绝自己访问某个对象或服务,但 root 用户始终可以将其还给 root 用户。
猜你喜欢
  • 2019-10-05
  • 1970-01-01
  • 2018-01-10
  • 1970-01-01
  • 2019-04-28
  • 2017-02-14
  • 2021-03-28
  • 1970-01-01
  • 2021-09-03
相关资源
最近更新 更多