Amazon S3 でのポリシーとアクセス許可 - Amazon Simple Storage Service

Amazon S3 でのポリシーとアクセス許可

このページでは、Amazon S3 のバケットポリシーとユーザーポリシーの概要を示し、ポリシーの基本要素について説明します。リストされた各要素は、その要素の詳細と使用方法の例にリンクしています。

Amazon S3 アクション、リソースおよび条件の詳細なリストについては、Amazon S3 のアクション、リソース、条件キー を参照してください。

ポリシー言語の概要

基本的に、ポリシーには以下のエレメントが含まれます。

  • リソース – バケット、オブジェクト、アクセスポイントおよびジョブは、アクセス権限を許可または拒否できる Amazon S3 のリソースです。ポリシーでは、Amazon リソースネーム (ARN) を使用して、リソースを識別します。詳細については、「Amazon S3 リソース」を参照してください。

  • アクション – Amazon S3 では、リソースごとに一連のオペレーションをサポートします。許可 (または拒否) するリソースのオペレーションは、アクションキーワードを使用して識別します。

    たとえば、s3:ListBucket アクセス許可は、Amazon S3 の GET Bucket (List Objects) オペレーションの使用を許可します。詳細については、Amazon S3 アクション を参照してください。

  • エフェクト – ユーザーが特定のアクションをリクエストする際のエフェクトです。許可または拒否のいずれかになります。

    リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否することができます。このオペレーションを行うことで、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。詳細については、IAM JSON ポリシーエレメント: Effect を参照してください。

  • プリンシパル – ステートメントのアクションやリソースへのアクセスが許可されているアカウントまたはユーザーを指します。バケットポリシーの場合、プリンシパルは、このアクセス許可の被付与者であるユーザー、アカウント、サービス、または他のエンティティです。詳細については、プリンシパル を参照してください。

  • 条件 – ポリシーが有効である場合の条件。AWS‐全体キーと Amazon S3‐固有キーを使用して、Amazon S3 アクセスポリシーで条件を指定できます。詳細については、Amazon S3 条件キー を参照してください。

以下のバケットポリシーの例は、前述のポリシーのエレメントを示しています。このポリシーは、赤字で示す ID のアカウントのユーザーの Dave に、awsexamplebucket1 バケットに対する Amazon S3 のアクセス許可の s3:GetObjects3:GetBucketLocations3:ListBucket を付与します。

{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*", "arn:aws:s3:::awsexamplebucket1" ] } ] }

ポリシー言語の詳細については、IAM ユーザーガイド の「ポリシーとアクセス許可」および「IAM JSON ポリシーリファレンス」を参照してください。