(背景)現在自分の権限を変更する機能を除いてAWS上で必要なものにアクセスできるように、私の会社でアカウントを必要とする人には一般的なポリシーを作成しようとしています。そこに、管理されたポリシー "PowerUserAccess"を与えるという考えがあります。また、彼らのアカウントでは、課金の許可を持つS3バケット「arn:aws:s3 ::: c3-uits-s3」を持っています。IAMパワーユーザーをS3バケットへの読み取り専用アクセスに構成する方法はありますか?
(問題)私はこのs3バケットを読み取り専用にして、彼らが請求を見る/ダウンロードできるようにしましたが、バケットからアップロード/削除することはできません。私の最初の試みは
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "NotAction": "iam:*", "Resource": "*" }, { "Effect": "Deny", "NotAction": [ "s3:List*", "s3:Get*" ], "Resource": [ "arn:aws:s3:::c3-uits-s3" ] } ] }
すべてのアクションを否定するが、取得*とリスト*にしたが、これらの権限で私はまだアップロード/削除することができたので、私はそこからわずかビューにのみ必要な権限を取得しようとしました他の何もしないで私は思いついた
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
},
{
"Effect": "Deny",
"NotAction": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::c3-uits-s3"
]
}
]
}
まだアップロード/削除できるのと同じ効果があった。私が試したもう一つの変化は、正しい方向に任意のヘルプまたはポインタをいただければ幸いです
と
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:List*",
"s3:Get*"
],
"Resource": [
"arn:aws:s3:::c3-uits-s3"
]
},
{
"Effect": "Deny",
"Action": [
"s3:Put*",
"s3:Create*",
"s3:Delete*",
"s3:Replicate*"
],
"Resource": [
"arn:aws:s3:::c3-uits-s3"
]
}
]
}
でした!