S3 ポリシー
--profile 指定がない場合は Workload アカウントで実行する。S3 ポリシーの作成・アタッチは Master アカウントで実行する。
概要
S3 ポリシー(S3_POLICY)は 宣言型ポリシー の一つで、S3 の Block Public Access(BPA)4 設定を組織レベルで一括強制する。
BPA の階層構造における位置づけ
S3 の BPA は 4 つの階層で設定できる。S3 はリクエストに対して全階層の BPA 設定を評価し、いずれかがブロックを示していればリクエストを拒否する(公式ドキュメント)。
| 階層 | 粒度 |
|---|---|
| 組織レベル(S3 ポリシー、本ページ) | OU / アカウント単位 |
| アカウントレベル | アカウント単位 |
| バケットレベル | バケット単位 |
| アクセスポイントレベル | アクセスポイント単位(作成時のみ設定可) |
S3 ポリシーの特徴(公式ドキュメント):
- 4 設定すべてを一括制御(個別設定不可。全有効化
allか無効化noneの二択。公式ドキュメントに明記) - アカウントレベル BPA を強制的に有効化する。バケットレベル BPA は変更しない(実機確認済み)
- アカウントレベル BPA の設定変更はエラーになる
- バケットレベル BPA の変更はブロックされない(自由に変更可能)
- パブリックポリシーの設定はブロックされる
- デタッチ時はアカウントレベルの元の設定に自動復元
Security Hub finding への影響
S3 ポリシーはアカウントレベル BPA のみに作用するため、各コントロールへの影響は以下の通り。
| コントロール | 評価方式 | S3 ポリシーの影響(想定) |
|---|---|---|
| S3.8 | 設定ベース(バケットレベル BPA) | NON_COMPLIANT 状態であった場合、NON_COMPLIANT のまま。バケットレベル BPA は変更されないため |
| S3.2 | 結果ベース(総合判断) | NON_COMPLIANT 状態であった場合、COMPLIANT に変わる。BPA 検証のパターン 5 でアカウントレベル BPA 有効時に COMPLIANT になることを確認済み |
| S3.3 | 結果ベース(総合判断) | 同上 |
| S3.19 | 設定ベース(AP BPA) | NON_COMPLIANT 状態であった場合、NON_COMPLIANT のまま。AP BPA は変更されないため |
| S3.6 | ポリシーベース | NON_COMPLIANT 状態であった場合、NON_COMPLIANT のまま。BPA とは無関係。バケットポリシーの内容は変わらないため |
ポリシーの形式
{
"s3_attributes": {
"public_access_block_configuration": {
"@@assign": "all"
}
}
}BPA の 4 設定の詳細は BPA について を参照。
結果
| コントロール | FAILED 状態 | S3 ポリシー有効化後 |
|---|---|---|
| S3.8 | NON_COMPLIANT | NON_COMPLIANT のまま |
| S3.2 | NON_COMPLIANT | COMPLIANT に変化 |
| S3.3 | NON_COMPLIANT | COMPLIANT に変化 |
| S3.19 | NON_COMPLIANT | NON_COMPLIANT のまま |
| S3.6 | NON_COMPLIANT | NON_COMPLIANT のまま |
- S3 ポリシーはアカウントレベル BPA を強制するが、バケットレベル BPA とアクセスポイント BPA は変更しない
- S3.2 / S3.3(結果ベース)はアカウントレベル BPA が有効になることで COMPLIANT に変化する
- S3.8 / S3.19(設定ベース)はバケットレベル / AP レベルの BPA を直接チェックするため NON_COMPLIANT のまま
- S3.6(ポリシーベース)は BPA とは無関係のためNON_COMPLIANT のまま
- アカウントレベル BPA の無効化はブロックされる(AccessDenied)。バケットレベル BPA の変更はブロックされない
- パブリックポリシーの設定はアカウントレベル BPA の BlockPublicPolicy によりブロックされる
- デタッチ時はアカウントレベル BPA がアタッチ前の状態に自動復元される
前提条件
| 項目 | 状態 |
|---|---|
| S3 ポリシー | 未作成 |
| アカウントレベル BPA | 未設定 |
| バケットレベル BPA | 4 設定すべて有効(デフォルト)。パターン A で FAILED 状態を作成する際に無効化する |
検証の流れ
flowchart LR
A[1. S3 ポリシー<br>作成・アタッチ] --> B[2. パターン A:<br>FAILED → PASSED]
B --> C[3. パターン B:<br>設定変更ブロック]
C --> D[4. パターン C:<br>デタッチ → 復元]
D --> E[5. ポリシー削除]
E --> F[6. クリーンアップ]
1. S3 ポリシー作成・アタッチ
テスト用バケットの作成
aws s3api create-bucket \
--bucket <テストバケット名> \
--create-bucket-configuration LocationConstraint=ap-northeast-1 \
--region ap-northeast-1{
"Location": "http://<テストバケット名>.s3.amazonaws.com/",
"BucketArn": "arn:aws:s3:::<テストバケット名>"
}S3 ポリシーの作成
aws organizations create-policy \
--name "s3-bpa-test" \
--description "S3 BPA enforcement test" \
--type S3_POLICY \
--content '{"s3_attributes":{"public_access_block_configuration":{"@@assign":"all"}}}' \
--profile Master \
--region ap-northeast-1{
"Policy": {
"PolicySummary": {
"Id": "<ポリシー ID>",
"Name": "s3-bpa-test",
"Type": "S3_POLICY"
}
}
}アタッチ前の BPA 状態を確認
アカウントレベル BPA:
aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1An error occurred (NoSuchPublicAccessBlockConfiguration) when calling the GetPublicAccessBlock operation: The public access block configuration was not foundアカウントレベル BPA は未設定。このエラーはアカウントレベルで BPA が一度も設定されていないことを意味する。
バケットレベル BPA:
aws s3api get-public-access-block \
--bucket <テストバケット名> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}S3 ポリシーを対象 OU にアタッチ
aws organizations attach-policy \
--policy-id <ポリシー ID> \
--target-id <対象 OU ID> \
--profile Master \
--region ap-northeast-1
(出力なし)アカウントレベル BPA が強制されていることを確認
aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}アタッチ前は未設定だったアカウントレベル BPA が、S3 ポリシーにより全 true に強制された。
バケットレベル BPA を確認(変更されていないこと)
aws s3api get-public-access-block \
--bucket <テストバケット名> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}2. パターン A: FAILED → S3 ポリシー有効化 → finding 確認
S3 ポリシーが有効な状態ではバケットレベル BPA の無効化やパブリックポリシーの設定がブロックされるため、FAILED 状態を作成できない。一時的に S3 ポリシーをデタッチしてから FAILED 状態を作成し、再アタッチして finding がどう変わるかを確認する。S3.6 も含めた全 5 コントロールを一括で確認する。
S3 ポリシーを一時デタッチ
aws organizations detach-policy \
--policy-id <ポリシー ID> \
--target-id <対象 OU ID> \
--profile Master \
--region ap-northeast-1
(出力なし)S3.8 の FAILED 状態を作成
S3.8 はバケットレベル BPA の 4 設定がすべて有効かをチェックする。FAILED にするためにバケットレベル BPA を無効化する。
aws s3api put-public-access-block \
--bucket <テストバケット名> \
--public-access-block-configuration \
BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false \
--region ap-northeast-1
(出力なし)BPA 設定の確認
aws s3api get-public-access-block \
--bucket <テストバケット名> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": false,
"IgnorePublicAcls": false,
"BlockPublicPolicy": false,
"RestrictPublicBuckets": false
}
}S3.2 / S3.3 の FAILED 状態を作成
S3.2 / S3.3 は BPA 無効化だけでは FAILED にならない(BPA についてで検証済み)。バケットポリシーでパブリック読み書きを許可して初めて FAILED になる。
aws s3api put-bucket-policy \
--bucket <テストバケット名> \
--policy '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::<テストバケット名>/*"
}
]
}' \
--region ap-northeast-1
(出力なし)S3.19 の FAILED 状態を作成
S3.19 はアクセスポイントの BPA 設定をチェックする。BPA 無効のアクセスポイントを作成して FAILED にする。アクセスポイントの BPA は作成後に変更できないため、作成時に無効化する必要がある。
aws s3control create-access-point \
--name <BPA 無効 AP 名> \
--account-id <アカウント ID> \
--bucket <テストバケット名> \
--public-access-block-configuration BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false \
--region ap-northeast-1{
"AccessPointArn": "arn:aws:s3:ap-northeast-1:<アカウント ID>:accesspoint/<BPA 無効 AP 名>",
"Alias": "<エイリアス>"
}S3.6 の FAILED 状態を作成
S3.6 はバケットポリシーで他アカウントに制限対象アクションを許可していれば NON_COMPLIANT になる。パブリック読み書きポリシーに加えて、他アカウントへの制限対象アクション許可を追加する。
aws s3api put-bucket-policy \
--bucket <テストバケット名> \
--policy '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::<テストバケット名>/*"
},
{
"Effect": "Allow",
"Principal": {"AWS": "<組織外アカウント ID>"},
"Action": "s3:PutBucketPolicy",
"Resource": "arn:aws:s3:::<テストバケット名>"
}
]
}' \
--region ap-northeast-1
(出力なし)Config ルールの手動トリガー → 全コントロール NON_COMPLIANT 確認
S3.8:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-level-public-access-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-level-public-access-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1[
{
"ResourceId": "<テストバケット名>",
"ComplianceType": "NON_COMPLIANT"
}
]S3.2:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-public-read-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-public-read-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1[
{
"ResourceId": "<テストバケット名>",
"ComplianceType": "NON_COMPLIANT"
}
]S3.3:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-public-write-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-public-write-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1[
{
"ResourceId": "<テストバケット名>",
"ComplianceType": "NON_COMPLIANT"
}
]S3.19:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-access-point-public-access-blocks-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-access-point-public-access-blocks-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<BPA 無効 AP 名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1[
{
"ResourceId": "<BPA 無効 AP 名>",
"ComplianceType": "NON_COMPLIANT"
}
]S3.6:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-blacklisted-actions-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-blacklisted-actions-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1[
{
"ResourceId": "<テストバケット名>",
"ComplianceType": "NON_COMPLIANT"
}
]S3 ポリシーを再アタッチ
aws organizations attach-policy \
--policy-id <ポリシー ID> \
--target-id <対象 OU ID> \
--profile Master \
--region ap-northeast-1
(出力なし)バケットレベル BPA を確認(変更されないはず)
S3 ポリシーはアカウントレベル BPA を強制するが、バケットレベル BPA を変更するかは不明。ここでバケットレベル BPA が全 false のままであれば、S3 ポリシーはバケットレベルには作用しないことが確認できる。
aws s3api get-public-access-block \
--bucket <テストバケット名> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": false,
"IgnorePublicAcls": false,
"BlockPublicPolicy": false,
"RestrictPublicBuckets": false
}
}バケットレベル BPA は変更されない(実機確認済み)。
Config ルールの手動トリガー → 各コントロールの状態確認
| コントロール | 想定結果 | 理由 |
|---|---|---|
| S3.8 | NON_COMPLIANT のまま | バケットレベル BPA は変更されないため |
| S3.2 | COMPLIANT に変わる | アカウントレベル BPA が有効なので「restricts public policies」と判定 |
| S3.3 | COMPLIANT に変わる | 同上 |
| S3.19 | NON_COMPLIANT のまま | AP BPA は変更されないため |
| S3.6 | NON_COMPLIANT のまま | BPA とは無関係。バケットポリシーの内容は変わらないため |
S3.8:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-level-public-access-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-level-public-access-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1S3.2:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-public-read-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-public-read-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1S3.3:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-public-write-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-public-write-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1S3.19:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-access-point-public-access-blocks-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-access-point-public-access-blocks-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<BPA 無効 AP 名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-1S3.6:
aws configservice start-config-rules-evaluation \
--config-rule-names securityhub-s3-bucket-blacklisted-actions-prohibited-<サフィックス> \
--region ap-northeast-1
(出力なし)aws configservice get-compliance-details-by-config-rule \
--config-rule-name securityhub-s3-bucket-blacklisted-actions-prohibited-<サフィックス> \
--query 'EvaluationResults[?EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId==`<テストバケット名>`].{ResourceId:EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId,ComplianceType:ComplianceType}' \
--region ap-northeast-13. パターン B: 設定変更ブロック確認
S3 ポリシーが有効な状態で、各レベルの BPA 変更がブロックされるかを確認する。
アカウントレベル BPA の無効化を試みる → AccessDenied
aws s3control delete-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1An error occurred (AccessDenied) when calling the DeletePublicAccessBlock operation: This account does not allow changes to its account-level S3 Block Public Access settings due to an organizational S3 Block Public Access policy in effect.アカウントレベル BPA が変更されていないことを確認
aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}バケットレベル BPA の無効化を試みる → ブロックされない
aws s3api put-public-access-block \
--bucket <テストバケット名> \
--public-access-block-configuration \
BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false \
--region ap-northeast-1
(出力なし)バケットレベル BPA の変更はブロックされない。S3 ポリシーはアカウントレベルのみを保護する。
個別設定(一部だけ false)を試みる → ブロックされない
aws s3api put-public-access-block \
--bucket <テストバケット名> \
--public-access-block-configuration \
BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=false,RestrictPublicBuckets=true \
--region ap-northeast-1
(出力なし)パブリックポリシーの設定を試みる → AccessDenied
アカウントレベル BPA の BlockPublicPolicy が有効なため、パブリックポリシーの設定はブロックされる。
aws s3api put-bucket-policy \
--bucket <テストバケット名> \
--policy '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<テストバケット名>/*"
}
]
}' \
--region ap-northeast-1An error occurred (AccessDenied) ... because public policies are prevented by the BlockPublicPolicy setting in S3 Block Public Access.4. パターン C: デタッチ → 復元確認
S3 ポリシーをデタッチした後、アカウントレベル BPA がアタッチ前の状態に復元されることを確認する。2 つのケースを検証する。
- ケース 1: アタッチ前にアカウントレベル BPA が未設定だった場合 → デタッチ後に未設定に戻るか
- ケース 2: アタッチ前にアカウントレベル BPA を手動で設定していた場合 → デタッチ後に手動設定に戻るか
ケース 1: 未設定からの復元
現在の状態: S3 ポリシーがアタッチされており、アカウントレベル BPA は S3 ポリシーにより全 true に強制されている。アタッチ前はアカウントレベル BPA が未設定だった。
現在のアカウントレベル BPA を確認
aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}S3 ポリシーをデタッチ
aws organizations detach-policy \
--policy-id <ポリシー ID> \
--target-id <対象 OU ID> \
--profile Master \
--region ap-northeast-1
(出力なし)aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1An error occurred (NoSuchPublicAccessBlockConfiguration) when calling the GetPublicAccessBlock operation: The public access block configuration was not foundS3 ポリシーアタッチ前の状態(未設定)に復元。
ケース 2: 手動設定からの復元
アカウントレベル BPA を手動で全 false に設定してから S3 ポリシーをアタッチし、デタッチ後に手動設定(全 false)に戻ることを確認する。
アカウントレベル BPA を手動で全 false に設定
aws s3control put-public-access-block \
--account-id <アカウント ID> \
--public-access-block-configuration \
BlockPublicAcls=false,IgnorePublicAcls=false,BlockPublicPolicy=false,RestrictPublicBuckets=false \
--region ap-northeast-1
(出力なし)S3 ポリシーをアタッチ
S3 ポリシーにより、手動設定(全 false)がオーバーライドされて全 true に強制される。
aws organizations attach-policy \
--policy-id <ポリシー ID> \
--target-id <対象 OU ID> \
--profile Master \
--region ap-northeast-1
(出力なし)アカウントレベル BPA が全 true に強制されていることを確認
aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": true,
"IgnorePublicAcls": true,
"BlockPublicPolicy": true,
"RestrictPublicBuckets": true
}
}S3 ポリシーをデタッチ
aws organizations detach-policy \
--policy-id <ポリシー ID> \
--target-id <対象 OU ID> \
--profile Master \
--region ap-northeast-1
(出力なし)アカウントレベル BPA が手動設定(全 false)に復元されていることを確認
S3 ポリシーは元のアカウントレベル設定を保存しており、デタッチ時に復元する。
aws s3control get-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1{
"PublicAccessBlockConfiguration": {
"BlockPublicAcls": false,
"IgnorePublicAcls": false,
"BlockPublicPolicy": false,
"RestrictPublicBuckets": false
}
}アカウントレベル BPA を削除して検証前の状態に戻す
aws s3control delete-public-access-block \
--account-id <アカウント ID> \
--region ap-northeast-1
(出力なし)5. S3 ポリシー削除
aws organizations delete-policy \
--policy-id <ポリシー ID> \
--profile Master \
--region ap-northeast-1
(出力なし)6. クリーンアップ
aws s3control delete-access-point \
--name <BPA 無効 AP 名> \
--account-id <アカウント ID> \
--region ap-northeast-1
(出力なし)aws s3api delete-bucket-policy \
--bucket <テストバケット名> \
--region ap-northeast-1
(出力なし)aws s3api put-public-access-block \
--bucket <テストバケット名> \
--public-access-block-configuration \
BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true \
--region ap-northeast-1
(出力なし)aws s3api delete-bucket \
--bucket <テストバケット名> \
--region ap-northeast-1
(出力なし)