10

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ポリシーからの許可をオーバーライドする必要がありますか?ただし、testuserとしてログインしても、そのバケット内のすべてにアクセスできます。そのバケット(および他のすべてのバケット)のバケットポリシーを変更または削除することもできます。なぜ私の明示的な拒否は何もしないのですか?

4

1 に答える 1

10

バケット ポリシーでユーザー ID の完全な ARN フォームを使用してみてください。

"Principal": {
  "AWS":["arn:aws:iam::accountid:user/testuser"]
}
于 2012-07-21T23:03:34.390 に答える