このセクションでは、AWS Command Line Interface、REST API、または AWS SDK を使用してディレクトリバケットのアクセスポイントの範囲を表示および変更する方法について説明します。アクセスポイントスコープを使用して、特定のプレフィックスまたは API オペレーションへのアクセスを制限できます。
ディレクトリバケットのアクセスポイントの範囲を表示する
AWS Command Line Interface または REST API を使用して、ディレクトリバケットのアクセスポイントの範囲を表示できます。
次の get-access-point-scope
コマンド例は、AWS CLI を使用してアクセスポイントの範囲を表示する方法を示しています。
aws s3control get-access-point-scope --name my-access-point
--usw2-az1--xa-s3
--account-id 111122223333
次の GetAccessPointScope
リクエスト例は、REST API を使用してアクセスポイントの範囲を表示する方法を示しています。
次のリクエストは、AWS アカウント 111122223333
のアクセスポイント
の範囲を表示します。my-access-point
--usw2-az1--xa-s3
GET /v20180820/accesspoint/
/scope HTTP/1.1 Host: s3express-control.us-west-2.amazonaws.com x-amz-account-id:
my-access-point
--usw2-az1--xa-s3111122223333
例 GetAccessPointScope
の結果
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<GetAccessPointScopeResult>
<Scope>
<Prefixes>
<Prefix>*Cats*</Prefix>
<Prefix>*Dogs*</Prefix>
</Prefixes>
<Permissions>
<Permission>ListBucket</Permission>
<Permission>PutObject</Permission>
</Permissions>
<Scope>
</GetAccessPointScopeResult>
AWS SDK を使用して、アクセスポイントの範囲を表示できます。詳細については、「Amazon Simple Storage Service API リファレンス」の「サポートされている SDK のリスト」を参照してください。
ディレクトリバケットのアクセスポイントの範囲を変更する
AWS Command Line Interface または REST API を使用して、ディレクトリバケットのアクセスポイントの範囲を変更できます。アクセスポイントの範囲は、特定のプレフィックス、API オペレーション、またはその両方の組み合わせへのアクセスを制限するために使用されます。
アクセス許可として、次のアクションを 1 つ以上含めることができます。
PutObject
GetObject
DeleteObject
ListBucket
GetObjectAttributes
AbortMultipartUploads
ListBucketMultipartUploads
ListMultipartUploadParts
注記
任意の量のプレフィックスを指定できますが、すべてのプレフィックスの文字の合計長は 256 バイト未満である必要があります。
アクセスポイントのスコープを変更するときは、既存のスコープを置き換えます。
次の put-access-point-scope
コマンド例は、AWS CLI を使用してアクセスポイントの範囲を変更する方法を示しています。
次のコマンドは、AWS アカウント 111122223333
のアクセスポイント
の範囲を変更します。my-access-point
--usw2-az1--xa-s3
aws s3control put-access-point-scope --name my-access-point
--usw2-az1--xa-s3
--account-id 111122223333
--scope Prefixes=prefix-1
Permissions=ListBuckets
注記
アスタリスク (*) を使用して、プレフィックスにワイルドカードを使用できます。アスタリスク文字をリテラルとして使用する場合は、エスケープする前にバックスラッシュ (\) を追加します。
また、すべてのプレフィックスには暗黙的な「*」末尾があります。つまり、プレフィックスを持つすべてのパスが含まれます。
次の PutAccessPointScope
リクエスト例は、REST API を使用してアクセスポイントの範囲を変更する方法を示しています。
次のリクエストは、AWS アカウント 111122223333
のアクセスポイント
の範囲を変更します。my-access-point
--usw2-az1--xa-s3
PUT /v20180820/accesspoint/
/scope HTTP/1.1 Host: s3express-control.us-west-2.amazonaws.com x-amz-account-id:
my-access-point
--usw2-az1--xa-s3111122223333
<?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 SDK を使用して、アクセスポイントの範囲を変更できます。詳細については、「Amazon Simple Storage Service API リファレンス」の「サポートされている SDK のリスト」を参照してください。
ディレクトリバケットのアクセスポイントの範囲を削除する
AWS Command Line Interface、REST API、または AWS SDK を使用して、ディレクトリバケットのアクセスポイントの範囲を削除できます。
注記
アクセスポイントのスコープを削除すると、すべてのプレフィックスとアクセス許可が削除されます。
次の put-access-point-scope
コマンド例は、AWS CLI を使用してアクセスポイントの範囲を削除する方法を示しています。
次のコマンドは、AWS アカウント 111122223333
のアクセスポイント
の範囲を削除します。my-access-point
--usw2-az1--xa-s3
aws s3control delete-access-point-scope --name my-access-point
--usw2-az1--xa-s3
--account-id 111122223333
次のリクエストは、AWS アカウント 111122223333
のアクセスポイント
の範囲を削除します。my-access-point
--usw2-az1--xa-s3
DELETE /v20180820/accesspoint/
/scope HTTP/1.1 Host: s3express-control.us-west-2.amazonaws.com x-amz-account-id:
my-access-point
--usw2-az1--xa-s3111122223333
AWS SDK を使用して、アクセスポイントの範囲を削除できます。詳細については、「Amazon Simple Storage Service API リファレンス」の「サポートされている SDK のリスト」を参照してください。