私はS3バケットにアクセスするための認証情報を作成するのにAWS IAM STS(boto経由)を使用しています。私は、次の方針で何が間違っているかについて迷っています。私は可能な限り私の方針を簡素化し、予期せぬ結果を得ています。シンプルなAWSユーザーポリシーでシングルバケットを指定する際の問題
私は、次のポリシーを添付したユーザーのトークンを取得する場合:
user_policy_string = r'{"Statement":[{"Effect":"Allow","Action": "s3:*","Resource":"arn:aws:s3:::*"}]}'
これは動作しますが、明らかに少しも許容します。私はS3にアクセスしようとすると、ここで
user_policy_string = r'{"Statement":[{"Effect":"Allow","Action": "s3:*","Resource":"arn:aws:s3:::buck_binary_bucket_bay-earth-d5a/*"}]}'
が、私は403エラーを取得:これらの資格情報に関連付けられた権限を絞り込んで、私は、同じポリシーを使用しますが、バケツを指定しようとします。 AWSのドキュメントに基づいて、私はこれがポリシーの特定のバケツに対処する方法だと確信しています。だから私はこの制限を引き起こす可能性のあるものを紛失しています。バケツを間違って参照していますか?
S3コンソールでは、ポリシーは空です(完全に許容されるポリシーも追加しようとしました)。 STSトークンを生成するために使用するAWSアカウントの場合、ポリシーは次のとおりです。
"Statement": [
{
"Effect": "Allow",
"Action": "sts:GetFederationToken",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
ありがとう:たとえば、オブジェクトにアクセスする前ListBucket経由バケット内のオブジェクトを一覧表示することができるという一般的な要件は、それ自体がそうのようなバケットを扱うそれぞれの政策の断片を必要とします。これは*正確に*問題でした。 –
AUGH。 AWSのポリシー・メカニズムは悲惨です。参考までに、「リソース」:["arn:aws:s3 ::: BUCKETNAME"、 "Resource": "arn:aws: s3 ::: BUCKETNAME/* "] – Erhannis
@Steffen:sir私はコンソールにログオンしたときにs3にポリシーを適用して、コンソールにログオンしても何も表示しません:'あなたはアクセス権がありませんそれ ' – user3086014