permissions - 为什么我的AWS S3存储桶策略不会覆盖我的IAM策略?

标签 permissions amazon-web-services bucket amazon-iam

我的IAM帐户中有一个名为“testuser”的用户,该用户具有管理员特权,如下所示:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*"
    }
  ]
}

然后在我的S3存储桶上有一个拒绝该用户访问的策略,如下所示:
{
  "Statement": [
    {
  "Effect": "Deny",
  "Principal": {
    "AWS": "my-account-id:user/testuser"
  },
  "Action": "s3:*",
  "Resource": "arn:aws:s3:::my-bucket-name/*"
    }
  ]
}

因此,S3存储桶策略中的明确拒绝应该覆盖IAM策略中的允许,对吗?但是,当我以测试用户身份登录时,我仍然可以访问该存储桶中的所有内容-甚至可以更改或删除该存储桶(以及其他所有存储桶)的存储桶策略。为什么我的明确拒绝不做任何事情?

最佳答案

尝试在存储桶策略中为用户ID使用完整的ARN表单:

"Principal": {
  "AWS":["arn:aws:iam::accountid:user/testuser"]
}

关于permissions - 为什么我的AWS S3存储桶策略不会覆盖我的IAM策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595926/

相关文章:

ruby-on-rails - 如何更改使用Docker for Windows创建的Gemfile的权限?

amazon-web-services - 如何测试非 $LATEST 版本的 AWS Lambda?

java - 用 node.js/Java 编写的 AWS Lambda 函数是否存在任何性能/功能差异

c# - 我们可以按消息属性过滤来自 Amazon SQS 队列的消息吗?

amazon-web-services - 上传到S3的批处理文件

c - 将具有重复值的整数数组部分排序到存储桶中的最快方法

git - Mercurial:忽略文件权限/模式(chmod)更改

c# - 强制打开一个文件

c++ - 未使用的对象和链接时间优化

elasticsearch - 按桶键值过滤 Elasticsearch 聚合