メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

アクセスポリシー言語の概要

このセクションのトピックでは、Amazon S3 と同様にバケットポリシーやユーザーポリシーで使用される基本エレメントについて説明します。ポリシー言語の詳細については、『IAM ユーザーガイド』のトピック「 IAM ポリシーの概要」と「AWS IAM ポリシーの参照」を参照してください。

注記

バケットポリシーのサイズは 20 KB に制限されています。

アクセスポリシーの一般的なエレメント

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

  • リソース – バケットとオブジェクトは、アクセス権限を許可または拒否できる Amazon S3 のリソースです。ポリシーでは、Amazon リソースネーム(ARN)を使用して、リソースを識別します。

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

    たとえば、s3:ListBucket アクセス権限は、Amazon S3 の GET Bucket (List Objects) オペレーションに対するユーザーアクセスを許可します。

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

    リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

  • プリンシパル – ステートメントのアクションやリソースへのアクセスが許可されているアカウントまたはユーザーを指します。プリンシパルは、バケットポリシーでのみ指定できます。ユーザー、アカウント、サービス、またはアクセス許可が付与される他のエンティティがプリンシパルとなります。ユーザーポリシーでは、ポリシーがアタッチされるユーザーが暗黙的なプリンシパルとなります。

以下のバケットポリシーの例は、前述の一般的なポリシーのエレメントを示しています。このポリシーは、Account-ID アカウントのユーザー Dave に、examplebucket バケットに対する Amazon S3 のアクセス権限 s3:GetBucketLocations3:ListBucket、および s3:GetObject を付与します。

Copy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleStatement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account-ID:user/Dave" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::examplebucket" ] } ] }

これはバケットポリシーであるので、アクセス許可を取得する Principal エレメントも含まれます。

アクセスポリシーのエレメントの詳細については、次のトピックを参照してください。

以下のトピックでは、さらに他のポリシーの例を紹介します。