ディレクトリバケットのアクセスポイントの範囲を管理する
このセクションでは、AWS Command Line Interface、REST API、または AWS SDK を使用してディレクトリバケットのアクセスポイントの範囲を表示および変更する方法について説明します。アクセスポイントスコープを使用して、特定のプレフィックスまたは API オペレーションへのアクセスを制限できます。
ディレクトリバケットのアクセスポイントの範囲を表示する
AWS Management Console、AWS Command Line Interface、REST API、または AWS SDK を使用して、ディレクトリバケットのアクセスポイントの範囲を表示できます。
ディレクトリバケットのアクセスポイントの範囲を表示するには
AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/
を開きます。 -
ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、アクセスポイントをリスト表示するリージョンを選択します。
-
コンソールの左側のナビゲーションペインで、[ディレクトリバケットのアクセスポイント] を選択します。
-
(オプション) アクセスポイントを名前で検索します。選択した AWS リージョンのアクセスポイントのみがここに表示されます。
-
管理するアクセスポイントの名前を選択します。
-
[アクセス許可] タブを選択します。
[アクセスポイントの範囲] では、アクセスポイントに適用されたプレフィックスとアクセス許可を確認できます。
次の get-access-point-scope
コマンド例は、AWS CLI を使用してアクセスポイントの範囲を表示する方法を示しています。
次のコマンドは、AWS アカウント 111122223333
のアクセスポイント
--my-access-point
zoneID
--xa-s3 の範囲を表示します。
aws s3control get-access-point-scope --name
--
my-access-point
zoneID
--xa-s3 --account-id111122223333
詳細と例については、「AWS CLI コマンドリファレンス」の「get-access-point-scope
例 get-access-point-scope
の結果
{ "Scope": { "Permissions": [ "ListBucket", "PutObject" ] "Prefixes": [ "Prefix": "MyPrefix1*", "Prefix": "MyObjectName.csv" ] } }
次の GetAccessPointScope
リクエスト例は、REST API を使用してアクセスポイントの範囲を表示する方法を示しています。
次のリクエストは、AWS アカウント 111122223333
のアクセスポイント
--my-access-point
region
-zoneID
--xa-s3 の範囲を表示します。
GET /v20180820/accesspoint/
--
my-access-point
zoneID
--xa-s3/scope HTTP/1.1 Host: s3express-control.region
.amazonaws.com x-amz-account-id:111122223333
例 GetAccessPointScope
の結果
HTTP/1.1 200 <?xml version="1.0" encoding="UTF-8"?> <GetAccessPointScopeResult> <Scope> <Prefixes> <Prefix>MyPrefix1*</Prefix> <Prefix>MyObjectName.csv</Prefix> </Prefixes> <Permissions> <Permission>ListBucket</Permission> <Permission>PutObject</Permission> </Permissions> <Scope> </GetAccessPointScopeResult>
AWS SDK を使用して、アクセスポイントの範囲を表示できます。詳細については、「Amazon Simple Storage Service API Reference」の「list of supported SDKs」を参照してください。
ディレクトリバケットのアクセスポイントの範囲を変更する
AWS Management Console、AWS Command Line Interface、REST API、または AWS SDK を使用して、ディレクトリバケットのアクセスポイントの範囲を変更できます。アクセスポイントの範囲は、特定のプレフィックス、API オペレーション、またはその両方の組み合わせへのアクセスを制限するために使用されます。
アクセス許可として、以下の API オペレーションを 1 つ以上含めることができます。
PutObject
GetObject
DeleteObject
ListBucket
(ListObjectsV2
では必須)GetObjectAttributes
AbortMultipartUploads
ListBucketMultipartUploads
ListMultipartUploadParts
注記
任意の量のプレフィックスを指定できますが、すべてのプレフィックスの文字の合計長は 256 バイト未満である必要があります。
アクセスポイントの範囲を変更するには
AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/
を開きます。 -
ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、アクセスポイントをリスト表示するリージョンを選択します。
-
コンソールの左側のナビゲーションペインで、[ディレクトリバケットのアクセスポイント] を選択します。
-
(オプション) アクセスポイントを名前で検索します。選択した AWS リージョンのアクセスポイントのみがここに表示されます。
-
管理するアクセスポイントの名前を選択します。
-
[アクセス許可] タブを選択します。
-
[アクセスポイントの範囲] セクションで [編集] を選択します。
-
プレフィックスを追加または削除するには
プレフィックスを追加するには、[プレフィックスを追加] を選択します。[プレフィックス] フィールドに、ディレクトリバケットのプレフィックスを入力します。繰り返してプレフィックスを追加します。
プレフィックスを削除するには、[削除] を選択します。
-
アクセス許可を追加または削除するには
アクセス許可を追加するには、[データ操作を選択する] フィールドで、アクセス許可を選択します。
アクセス許可を削除するには、アクセス許可の横にある [X] を選択します。
-
[Save changes] (変更の保存) をクリックします。
次の put-access-point-scope
コマンド例は、AWS CLI を使用してアクセスポイントの範囲を変更する方法を示しています。
次のコマンドは、AWS アカウント 111122223333
の
--my-access-point
zoneID
--xa-s3 のアクセスポイント範囲を変更します。
注記
アスタリスク (*) を使用して、プレフィックスにワイルドカードを使用できます。アスタリスク文字をリテラルとして使用する場合は、エスケープする前にバックスラッシュ (\) を追加します。
すべてのプレフィックスには暗黙的な「*」末尾があります。つまり、そのプレフィックスを持つすべてのパスが含まれます。
AWS CLI でアクセスポイントの範囲を変更するときは、既存の範囲を置き換えます。
aws s3control put-access-point-scope --name
--
my-access-point
zoneID
--xa-s3 --account-id111122223333
--scope Prefixes=string
,Permissions=string
詳細と例については、「AWS CLI コマンドリファレンス」の「put-access-point-scope
次の PutAccessPointScope
リクエスト例は、REST API を使用してアクセスポイントの範囲を変更する方法を示しています。
次のリクエストは、AWS アカウント 111122223333
の
--my-access-point
zoneID
--xa-s3 のアクセスポイント範囲を変更します。
注記
アスタリスク (*) を使用して、プレフィックスにワイルドカードを使用できます。アスタリスク文字をリテラルとして使用する場合は、エスケープする前にバックスラッシュ (\) を追加します。
すべてのプレフィックスには暗黙的な「*」末尾があります。つまり、そのプレフィックスを持つすべてのパスが含まれます。
API でアクセスポイントの範囲を変更するときは、既存の範囲を置き換えます。
PUT /v20180820/accesspoint/
--
my-access-point
zoneID
--xa-s3/scope HTTP/1.1 Host: s3express-control.region
.amazonaws.com x-amz-account-id:111122223333
<?xml version="1.0" encoding="UTF-8"?> <PutAccessPointScopeRequest> <Scope> <Prefixes> <Prefix>Jane/*</Prefix> </Prefixes> <Permissions> <Permission>PutObject</Permission> <Permission>GetObject</Permission> </Permissions> <Scope> </PutAccessPointScopeRequest>
AWS CLI、AWS SDK、または REST API を使用して、アクセスポイントの範囲を変更できます。詳細については、「Amazon Simple Storage Service API Reference」の「list of supported SDKs」を参照してください。
ディレクトリバケットのアクセスポイントの範囲を削除する
AWS Management Console、AWS Command Line Interface、REST API、または AWS SDK を使用して、ディレクトリバケットのアクセスポイントの範囲を削除できます。
注記
アクセスポイントのスコープを削除すると、すべてのプレフィックスとアクセス許可が削除されます。
アクセスポイントの範囲を削除するには
AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/
を開きます。 -
ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、アクセスポイントをリスト表示するリージョンを選択します。
-
コンソールの左側のナビゲーションペインで、[ディレクトリバケットのアクセスポイント] を選択します。
-
(オプション) アクセスポイントを名前で検索します。選択した AWS リージョンのアクセスポイントのみがここに表示されます。
-
管理するアクセスポイントの名前を選択します。
-
[アクセス許可] タブを選択します。
-
[アクセスポイントの範囲] で、[削除] を選択します。
-
[この削除を確認するには、「確認」と入力します] フィールドに、「
confirm
」と入力します。 -
[削除] を選択します。
次の delete-access-point-scope
コマンド例は、AWS CLI を使用してアクセスポイントの範囲を削除する方法を示しています。
次のコマンドは、AWS アカウント 111122223333
のアクセスポイント
--my-access-point
zoneID
--xa-s3 の範囲を削除します。
aws s3control delete-access-point-scope --name
--
my-access-point
region
-zoneID
--xa-s3 --account-id111122223333
詳細と例については、「AWS CLI コマンドリファレンス」の「delete-access-point-scope
次のリクエストは、AWS アカウント 111122223333
のアクセスポイント
--my-access-point
zoneID
--xa-s3 の範囲を削除します。
DELETE /v20180820/accesspoint/
--
my-access-point
zoneID
--xa-s3/scope HTTP/1.1 Host: s3express-control.region
.amazonaws.com x-amz-account-id:111122223333
AWS SDK を使用して、アクセスポイントの範囲を削除できます。詳細については、「Amazon Simple Storage Service API Reference」の「list of supported SDKs」を参照してください。