私はグループを持っており、以下のポリシーをグループに適用しました。グループにユーザーを追加し、そのユーザーのアクセスキーを作成しました。私は "mybucket"から出ることができますが、私は "mybucket"に入れられません。私がプットしようとすると、私は「アクセスが拒否されました」。誰でも私が間違っていることを教えてもらえますか?私にお知らせください。AWS IAM GroupPolicy - s3:PutObject権限が機能しないのはなぜですか?
{
"Statement":[{
"Effect":"Allow",
"Action":["s3:PutObject","s3:GetObject"],
"Resource":["arn:aws:s3:::mybucket","arn:aws:s3:::mybucket/*"]
},
{
"Effect":"Deny",
"Action":["*"],
"NotResource":["arn:aws:s3:::mybucket","arn:aws:s3:::mybucket/*"]
}
]
}
編集:誰かが私にポリシーの目標を述べるように頼んだ。私は、指定されたバケットのグループに対してPUTとGETパーミッションだけを "許可"します。私は明示的にすべてのリソースNOT(NotResource)が指定されている場合、そのグループに対する他のすべての権限を明示的に「拒否」します。 AWSが投稿した記事に基づいて明示的な「拒否」を追加しました。この記事は、そうすることをお勧めしています。
ポリシーの目的をより明確に説明するために私の編集をご覧ください。 – Dave
バケットは問題のユーザーの親アカウントに所有されていますか?複数のアカウントを含むS3権限ははるかに複雑になります。このポリシーは正しいように見え、GetとPutに同等の権限を適用する必要があるように見えます。Getは別の理由で動作していると思います(つまり、バケットは匿名で読み取り可能です)? – derekdb