アクセスコントロールリスト (ACL) の概要
Amazon S3 のアクセスコントロールリスト (ACL) では、バケットとオブジェクトへのアクセスを管理できます。各バケットとオブジェクトには、サブリソースとして ACL がアタッチされています。これにより、アクセスが許可される AWS アカウントまたはグループと、アクセスの種類が定義されます。リソースに対するリクエストを受け取ると、Amazon S3 は該当する ACL を確認して、リクエスタに必要なアクセス許可があることを確かめます。
S3 オブジェクト所有権は、Amazon S3 バケットレベルの設定で、バケットにアップロードされる新しいオブジェクト所有権を制御し、ACL を無効にするのに使用できます。デフォルトでは、オブジェクト所有権はバケット所有者の強制設定に設定され、すべての ACL は無効になります。ACL を無効にすると、バケット所有者はバケット内のすべてのオブジェクトを所有し、アクセス管理ポリシーのみを使用してデータへのアクセスを管理します。
Amazon S3 の最新のユースケースの大部分では ACL を使用する必要がなくなっています。オブジェクトごとに個別に制御する必要がある通常ではない状況を除き、ACL は無効にしておくことをお勧めします。ACL を無効にすると、誰がオブジェクトをバケットにアップロードしたかに関係なく、ポリシーを使用してバケット内のすべてのオブジェクトへのアクセスを制御できます。詳細については、「オブジェクトの所有権の制御とバケットの ACL の無効化。」を参照してください。
重要
汎用バケットで S3 のオブジェクト所有者に [バケット所有者の強制] 設定を使用する場合は、ポリシーを使用して汎用バケットとその中のオブジェクトへのアクセスを許可する必要があります。バケット所有者強制設定が有効になっている場合、アクセスコントロールリスト (ACL) の設定または ACL の更新は失敗し、AccessControlListNotSupported
エラーコードが返されます。ACL の読み取り要求は引き続きサポートされています。
バケットまたはオブジェクトを作成すると、Amazon S3 はリソースのフルコントロールをリソースの所有者に付与するデフォルトの ACL を作成します。これを、以下のバケット ACL のサンプルで示します (デフォルトのオブジェクト ACL は同じ構造です)。
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>*** Owner-Canonical-User-ID ***</ID> <DisplayName>owner-display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User"> <ID>*** Owner-Canonical-User-ID ***</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
サンプル ACL には、Owner
の正規ユーザー ID を通じて所有者を識別する AWS アカウント エレメントが含まれています。正規ユーザー ID を見つける手順については、「AWS アカウントの正規ユーザー ID の検索」を参照してください。Grant
エレメントは、被付与者 (AWS アカウント またはあらかじめ定義されたグループ) と付与されたアクセス許可を識別します。このデフォルトの ACL には、所有者に対する 1 つの Grant
エレメントがあります。Grant
エレメントを追加してアクセス許可を付与します。各許可は被付与者とアクセス許可を識別します。
注記
1 つの ACL には最大 100 個の許可を指定することができます。
被付与者とは
重要
サポート終了通知: 2025 年 10 月 1 日以降、Amazon S3 は新しい E メール被付与者アクセスコントロールリスト (ACL) の作成のサポートを終了します。この日付より前に作成された E メール被付与者 ACL は引き続き機能し、AWS マネジメントコンソール、コマンドラインインターフェイス (CLI)、SDK、および REST API から引き続きアクセスできます。ただし、新しい E メール被付与者 ACL は作成できなくなります。
2025 年 7 月 1 日から 2025 年 10 月 1 日の間は、新しい E メール被付与者 ACL を作成しようとすると、Amazon S3 へのリクエストで HTTP 405
エラーの発生率が高くなります。
この変更は、米国東部 (バージニア北部)、米国西部 (北カリフォルニア)、米国西部 (オレゴン)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、欧州 (アイルランド)、南米 (サンパウロ) の各 AWS リージョンに影響します。
被付与者とは、AWS アカウントまたは事前定義済みのいずれかの Amazon S3 グループです。E メールアドレスまたは正規ユーザー ID を使用して AWS アカウントに許可を付与します。ただし、付与のリクエストでメールアドレスを指定すると、Amazon S3 はそのアカウントの正規ユーザー ID を確認して ACL に追加します。その結果、ACL には AWS アカウントの E メールアドレスではなく、常に AWS アカウントの正規ユーザー ID が含まれます。
アクセス権限を付与する場合は、各被付与者を
のペアとして指定します。type
="value
"
は以下のいずれかです。type
id
– 指定された値が AWS アカウントの正規ユーザー ID である場合uri
- 事前定義されたグループにアクセス許可を付与する場合emailAddress
– 指定された値が AWS アカウントの E メールアドレスである場合
重要
E メールアドレスを使用した被付与者の指定は、次の AWS リージョンでのみサポートされています。
-
米国東部(バージニア北部)
-
米国西部 (北カリフォルニア)
-
米国西部 (オレゴン)
-
アジアパシフィック (シンガポール)
-
アジアパシフィック (シドニー)
-
アジアパシフィック (東京)
-
欧州 (アイルランド)
-
南米 (サンパウロ)
Amazon S3 でサポートされているリージョンとエンドポイントの一覧については、Amazon Web Services 全般のリファレンス の「リージョンとエンドポイント」を参照してください。
例: E メールアドレス
例えば、次の x-amz-grant-read
ヘッダーは、E メールアドレスによって識別される AWS アカウント に、オブジェクトデータとそのメタデータを読み取るアクセス許可を付与します。
x-amz-grant-read: emailAddress="[email protected]", emailAddress="[email protected]"
警告
他の AWS アカウントに自分のリソースへのアクセスを許可した場合、その AWS アカウントはアカウント内のユーザーに許可を委任できることに注意してください。これはクロスアカウントアクセスと呼ばれています。クロスアカウントアクセスの使用については、「IAM ユーザーガイド」の「IAM ユーザーにアクセス許可を委任するロールの作成」を参照してください。
AWS アカウントの正規ユーザー ID の検索
正規ユーザー ID は、AWS アカウントに関連付けられています。この ID は、次のような長い文字列です。
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
アカウントの正規ユーザー ID を検索する方法については、「AWS Account Management リファレンスガイド」の「AWS アカウント の正規ユーザー ID を検索する」を参照してください。
また、AWS アカウントがアクセス許可を持つバケットまたはオブジェクトの ACL を読み取って、AWS アカウントの正規ユーザー ID を検索することもできます。許可リクエストによって個別の AWS アカウントに許可が付与された場合、ACL にはアカウントの正規ユーザー ID が含まれた許可エントリが追加されます。
注記
バケットをパブリックにした場合 (非推奨)、認証されていないどのユーザーもバケットにオブジェクトをアップロードできます。これらの匿名ユーザーは AWS アカウントを持っていません。匿名ユーザーがバケットにオブジェクトをアップロードすると、Amazon S3 によって特殊な正規ユーザー ID (65a011a29cdf8ec533ec3d1ccaae921c
) がそのオブジェクトの所有者として ACL で追加されます。詳細については、「Amazon S3 のバケットとオブジェクトの所有権」を参照してください。
Amazon S3 の事前定義済みのグループ
Amazon S3 には、事前定義済みの一連のグループがあります。グループにアカウントアクセスを許可するときは、正規ユーザー ID の代わりに Amazon S3 のいずれかの URI を指定します。Amazon S3 には、以下の事前に定義されたグループが用意されています。
-
Authenticated Users グループ –
http://acs.amazonaws.com/groups/global/AuthenticatedUsers
で表されます。このグループはすべて AWS アカウントを表しています。このグループへのアクセス許可により、AWS アカウント がリソースにアクセスできます。ただし、すべてのリクエストは署名(認証)されている必要があります。
警告
Authenticated Users グループにアクセスを許可すると、世界中の認証された AWS ユーザーがリソースにアクセスできます。
-
All Users グループ –
http://acs.amazonaws.com/groups/global/AllUsers
で表されます。このグループへのアクセス許可により、世界中の誰でもリソースにアクセスすることが許可されます。リクエストは署名(認証)済み、または署名なし(匿名)とすることができます。署名なしのリクエストでは、リクエストの Authentication ヘッダーが省略されます。
警告
All Users グループには、
WRITE
、WRITE_ACP
、またはFULL_CONTROL
アクセス許可を一切付与しないことを強くお勧めします。例えば、WRITE
アクセス許可は所有者以外のユーザーが既存のオブジェクトを上書きまたは削除することを許可しませんが、WRITE
アクセス許可はすべてのユーザーがバケットにオブジェクトを格納することを許可し、この料金はお客様に請求されます。これらのアクセス許可の詳細については、次のセクション 付与できるアクセス許可 を参照してください。 -
Log Delivery グループ –
http://acs.amazonaws.com/groups/s3/LogDelivery
で表されます。バケットに対する
WRITE
アクセス許可により、このグループはサーバーアクセスログ (「サーバーアクセスログによるリクエストのログ記録」を参照) をバケットに書き込むことができます。
注記
ACL を使用する場合、被付与者は AWS アカウントまたは事前定義済みのいずれかの Amazon S3 グループです。被付与者を IAM ユーザーとすることはできません。IAM 内の AWS ユーザーおよびアクセス許可の詳細については、「AWS Identity and Access Management の使用」を参照してください。
付与できるアクセス許可
以下の表に、Amazon S3 の ACL でサポートされている一連のアクセス許可を示します。ACL アクセス許可のセットは、オブジェクト ACL とバケット ACL で同じです。ただし、コンテキスト (バケット ACL かオブジェクト ACL か) に応じて、これらの ACL アクセス許可は特定のバケットまたはオブジェクトオペレーションのためのアクセス許可を付与します。この表では、アクセス許可の一覧と、オブジェクトとバケットにおけるその意味について説明しています。
Amazon S3 コンソールでの ACL アクセス権限の詳細については、「ACL の設定」を参照してください。
アクセス許可 | バケット上で付与された場合 | オブジェクト上で付与された場合 |
---|---|---|
READ |
被付与者がバケット内のオブジェクトをリストすることを許可します | 被付与者がオブジェクトデータとそのメタデータを読み込むことを許可します |
WRITE |
被付与者がバケット内に新しいオブジェクトを作成できるようにします。既存のオブジェクトのバケット所有者およびオブジェクト所有者には、これらのオブジェクトの削除と上書きも許可します。 | 該当しません |
READ_ACP |
被付与者がバケット ACL を読み込むことを許可します | 被付与者がオブジェクト ACL を読み込むことを許可します |
WRITE_ACP |
被付与者が該当するバケットの ACL を書き込むことを許可します | 被付与者が該当するオブジェクトの ACL を書き込むことを許可します |
FULL_CONTROL |
バケットに対する READ 、WRITE 、READ_ACP 、WRITE_ACP のアクセス許可を被付与者に付与します |
オブジェクトに対する READ 、READ_ACP 、WRITE_ACP のアクセス許可を被付与者に付与します |
警告
S3 バケットとオブジェクトにアクセス許可を付与するときは注意が必要です。例えば、あるバケットに対する WRITE
のアクセス権を付与すると、被付与者はそのバケットにオブジェクトを作成できます。アクセス許可を付与する前に、「アクセスコントロールリスト (ACL) の概要」セクション全体を読むことを強くお勧めします。
ACL アクセス許可とアクセスポリシーのアクセス許可のマッピング
前の表に示したように、ACL で使用できるアクセス許可のセットは、アクセスポリシーで設定できるアクセス許可に比べると限定されています (「Amazon S3 のポリシーアクション」を参照してください)。これらのアクセス許可はそれぞれ、Amazon S3 の 1 つ以上のオペレーションを許可します。
次の表は、ACL アクセス権限のそれぞれが、対応するアクセスポリシーのアクセス許可にどのようにマッピングされるかを示します。ご覧のように、アクセスポリシーでは ACL よりも多くのアクセス許可が付与されています。ACL は主に、ファイルシステムのアクセス許可と同様に、基本的な読み取り/書き込みアクセス許可を付与するために使用されます。ACL の使用が適している場合の詳細については、Amazon S3 用 Identity and Access Management を参照してください。
Amazon S3 コンソールでの ACL アクセス権限の詳細については、ACL の設定 を参照してください。
ACL アクセス許可 | ACL アクセス許可がバケットに付与される場合の、対応するアクセスポリシーのアクセス許可 | ACL アクセス許可がオブジェクトに付与される場合の、対応するアクセスポリシーのアクセス許可 |
---|---|---|
READ |
s3:ListBucket 、s3:ListBucketVersions 、および s3:ListBucketMultipartUploads |
s3:GetObject および s3:GetObjectVersion |
WRITE |
バケット所有者は、バケット内の任意のオブジェクトを作成、上書き、削除でき、オブジェクト所有者はそのオブジェクトに対する さらに、被付与者がバケット所有者であるときは、バケットの ACL で |
該当しません |
READ_ACP |
s3:GetBucketAcl
|
s3:GetObjectAcl および s3:GetObjectVersionAcl |
WRITE_ACP |
s3:PutBucketAcl |
s3:PutObjectAcl および s3:PutObjectVersionAcl |
FULL_CONTROL |
これは、READ 、WRITE 、READ_ACP 、および WRITE_ACP ACL アクセス許可を付与するのと同等です。したがって、この ACL アクセス許可は、対応するアクセスポリシーのアクセス許可の組み合わせにマッピングされます。 |
これは、READ 、READ_ACP 、および WRITE_ACP ACL アクセス許可を付与するのと同等です。したがって、この ACL アクセス許可は、対応するアクセスポリシーのアクセス許可の組み合わせにマッピングされます。 |
条件キー
アクセスポリシー権限を付与する場合、条件キーを使用して、バケットポリシーを使用するオブジェクトの ACL の値を制限できます。以下のコンテキストキーは ACL に対応しています。これらのコンテキストキーを使用して、リクエストで特定の ACL の使用を強制することができます。
s3:x-amz-grant-read
‐ 読み取りアクセスが必要です。s3:x-amz-grant-write
‐ 書き込みアクセスが必要です。s3:x-amz-grant-read-acp
‐ バケットの ACL への読み取りアクセスが必要です。s3:x-amz-grant-write-acp
‐ バケットの ACL への書き込みアクセスが必要です。s3:x-amz-grant-full-control
‐ フルコントロールが必要です。s3:x-amz-acl
‐ 既定 ACL が必要です。
ACL 固有のヘッダーを含むポリシーの例については、「バケット所有者にフルコントロールを与えることを条件として s3:PutObject のアクセス許可を付与する」を参照してください。Amazon S3 固有の条件キーの完全なリストについては、「サービス認可リファレンス」の「Actions, resources, and condition keys for Amazon S3」を参照してください。
S3 リソースタイプ別の S3 API オペレーションへのアクセス許可の詳細については、「Amazon S3 API オペレーションに必要なアクセス許可」を参照してください。
一般的な Amazon S3 リクエストの aclRequired
値
承認に ACL を必要とした Amazon S3 リクエストを特定するには、Amazon S3 サーバーアクセスログまたは AWS CloudTrail の aclRequired
値を使用できます。CloudTrail または Amazon S3 サーバーアクセスログに表示される aclRequired
値は、呼び出されたオペレーションと、リクエスター、オブジェクト所有者、バケット所有者に関する特定の情報によって異なります。ACL が不要であったか、bucket-owner-full-control
の既定 ACL を設定するか、リクエストがバケットポリシーで許可されている場合、aclRequired
値の文字列は Amazon S3 サーバーアクセスログでは「-
」となり、CloudTrail では存在しません。
以下の表は、さまざまな Amazon S3 API オペレーションに対して CloudTrail または Amazon S3 サーバーアクセスログで期待される aclRequired
値を示しています。この情報から、どの Amazon S3 オペレーションが承認に関して ACL に依存しているかを理解できます。以下の表で、A、B、C は、リクエスター、オブジェクト所有者、バケット所有者と関連する各アカウントを表しています。アスタリスク (*) が付いているエントリは、A、B、C のうち、任意のアカウントを示します。
注記
次の表の PutObject
オペレーションは、特に明記しない限り、ACL を設定しないリクエストを示します。ただし、ACL が bucket-owner-full-control
ACL である場合を除きます。aclRequired
の値が NULL の場合、aclRequired
は AWS CloudTrail ログに存在しないことを示します。
次の表は、CloudTrail の aclRequired
値を示しています。
オペレーション名 | リクエスタ | オブジェクト所有者 | バケット所有者 | バケットポリシーはアクセスを許可する | aclRequired 値 |
理由 |
---|---|---|---|---|---|---|
GetObject |
A | A | A | はい/いいえ | null | 同一アカウントアクセス |
GetObject |
A | B | A | はい/いいえ | null | 同一アカウントアクセス (バケット所有者の強制による) |
GetObject |
A | A | B | はい | null | クロスアカウントアクセスがバケットポリシーで許可される |
GetObject |
A | A | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
GetObject |
A | A | B | はい | null | クロスアカウントアクセスがバケットポリシーで許可される |
GetObject |
A | B | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
GetObject |
A | B | C | はい | null | クロスアカウントアクセスがバケットポリシーで許可される |
GetObject |
A | B | C | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
PutObject |
A | 該当しない | A | はい/いいえ | null | 同一アカウントアクセス |
PutObject |
A | 該当しない | B | はい | null | クロスアカウントアクセスがバケットポリシーで許可される |
PutObject |
A | 該当しない | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
ACL による PutObject (bucket-owner-full-control を除く) |
* | 該当しない | * | はい/いいえ | はい | リクエストは ACL を許可する |
ListObjects |
A | 該当しない | A | はい/いいえ | null | 同一アカウントアクセス |
ListObjects |
A | 該当しない | B | はい | null | クロスアカウントアクセスがバケットポリシーで許可される |
ListObjects |
A | 該当しない | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
DeleteObject |
A | 該当しない | A | はい/いいえ | null | 同一アカウントアクセス |
DeleteObject |
A | 該当しない | B | はい | null | クロスアカウントアクセスがバケットポリシーで許可される |
DeleteObject |
A | 該当しない | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
PutObjectAcl |
* | * | * | はい/いいえ | はい | リクエストは ACL を許可する |
PutBucketAcl |
* | 該当しない | * | はい/いいえ | はい | リクエストは ACL を許可する |
注記
次の表の REST.PUT.OBJECT
オペレーションは、特に明記しない限り、ACL を設定しないリクエストを示します。ただし、ACL が bucket-owner-full-control
ACL である場合を除きます。aclRequired
値の文字列「-
」は、Amazon S3 サーバーアクセスログの NULL 値を示します。
次の表は、Amazon S3 サーバーアクセスログの aclRequired
値を示しています。
オペレーション名 | リクエスタ | オブジェクト所有者 | バケット所有者 | バケットポリシーはアクセスを許可する | aclRequired 値 |
理由 |
---|---|---|---|---|---|---|
REST.GET.OBJECT |
A | A | A | はい/いいえ | - | 同一アカウントアクセス |
REST.GET.OBJECT |
A | B | A | はい/いいえ | - | 同一アカウントアクセス (バケット所有者の強制による) |
REST.GET.OBJECT |
A | A | B | はい | - | クロスアカウントアクセスがバケットポリシーで許可される |
REST.GET.OBJECT |
A | A | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
REST.GET.OBJECT |
A | B | B | はい | - | クロスアカウントアクセスがバケットポリシーで許可される |
REST.GET.OBJECT |
A | B | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
REST.GET.OBJECT |
A | B | C | はい | - | クロスアカウントアクセスがバケットポリシーで許可される |
REST.GET.OBJECT |
A | B | C | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
REST.PUT.OBJECT |
A | 該当しない | A | はい/いいえ | - | 同一アカウントアクセス |
REST.PUT.OBJECT |
A | 該当しない | B | はい | - | クロスアカウントアクセスがバケットポリシーで許可される |
REST.PUT.OBJECT |
A | 該当しない | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
ACL による REST.PUT.OBJECT (bucket-owner-full-control を除く) |
* | 該当しない | * | はい/いいえ | はい | リクエストは ACL を許可する |
REST.GET.BUCKET |
A | 該当しない | A | はい/いいえ | - | 同一アカウントアクセス |
REST.GET.BUCKET |
A | 該当しない | B | はい | - | クロスアカウントアクセスがバケットポリシーで許可される |
REST.GET.BUCKET |
A | 該当しない | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
REST.DELETE.OBJECT |
A | 該当しない | A | はい/いいえ | - | 同一アカウントアクセス |
REST.DELETE.OBJECT |
A | 該当しない | B | はい | - | クロスアカウントアクセスがバケットポリシーで許可される |
REST.DELETE.OBJECT |
A | 該当しない | B | いいえ | はい | クロスアカウントアクセスは ACL に依存する |
REST.PUT.ACL |
* | * | * | はい/いいえ | はい | リクエストは ACL を許可する |
サンプル ACL
バケットの以下のサンプル ACL は、リソース所有者と一連の許可を識別します。形式は Amazon S3 REST API の ACL の XML 表現です。バケット所有者はリソースに対する FULL_CONTROL
が許可されます。また、この ACL には、正規ユーザー ID で示されている 2 つの AWS アカウントと、前のセクションで説明した事前定義済みの 2 つの Amazon S3 グループに対して、リソースへの許可がどのように付与されるかが示されています。
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>Owner-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>Owner-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>user1-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>WRITE</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"> <ID>user2-canonical-user-ID</ID> <DisplayName>display-name</DisplayName> </Grantee> <Permission>READ</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
既定 ACL
Amazon S3 では、既定 ACL と呼ばれる事前定義済みの一連の許可がサポートされています。各既定 ACL には、あらかじめ定義された一連の被付与者とアクセス権限が含まれています。以下の表に、一連の既定 ACL と、関連するあらかじめ定義された許可を示します。
既定 ACL | Applies to | ACL に追加されるアクセス許可 |
---|---|---|
private |
バケットとオブジェクト | 所有者は FULL_CONTROL を取得します。他のユーザーにはアクセス許可は付与されません (デフォルト)。 |
public-read |
バケットとオブジェクト | 所有者は FULL_CONTROL を取得します。AllUsers グループ (被付与者とは を参照) は READ アクセス許可を取得します。 |
public-read-write |
バケットとオブジェクト | 所有者は FULL_CONTROL を取得します。AllUsers グループは READ および WRITE アクセス許可を取得します。通常、これをバケットで付与することはお勧めしません。 |
aws-exec-read |
バケットとオブジェクト | 所有者は FULL_CONTROL を取得します。Amazon EC2 には、Amazon S3 から Amazon マシンイメージ (AMI) バンドルを GET するための READ アクセスが許可されます。 |
authenticated-read |
バケットとオブジェクト | 所有者は FULL_CONTROL を取得します。AuthenticatedUsers グループは READ アクセス許可を取得します。 |
bucket-owner-read |
オブジェクト | オブジェクト所有者は FULL_CONTROL を取得します。バケット所有者は READ を取得します。バケットの作成時にこの既定 ACL を指定しても、Amazon S3 には無視されます。 |
bucket-owner-full-control |
オブジェクト | オブジェクト所有者とバケット所有者はオブジェクトに対する FULL_CONTROL を取得します。バケットの作成時にこの既定 ACL を指定しても、Amazon S3 には無視されます。 |
log-delivery-write |
バケット | LogDelivery グループはバケットに対する WRITE および READ_ACP アクセス許可を取得します。ログの詳細については、サーバーアクセスログによるリクエストのログ記録 を参照してください。 |
注記
リクエストではこれらの既定 ACL を 1 つのみ指定できます。
x-amz-acl
リクエストヘッダーを使用して、リクエストに既定 ACL を指定します。Amazon S3 が既定 ACL を含むリクエストを受信すると、あらかじめ定義された許可がリソースの ACL に追加されます。