

# アカウントのパブリックアクセスブロック設定の構成
<a name="configuring-block-public-access-account"></a>

**重要**  
アカウントが組織レベルのパブリックアクセスブロックポリシーによって管理されている場合、これらのアカウントレベルの設定を変更することはできません。組織レベルのポリシーは、アカウントレベルの設定を上書きします。一元管理オプションの詳細については、「*AWS Organizations ユーザーガイド*」の「[S3 ポリシー](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html)」を参照してください。

Amazon S3 パブリックアクセスブロックは、Amazon S3 のリソースへのパブリックアクセスの管理に役立つ、アクセスポイント、バケット、組織、アカウントの設定を提供します。デフォルトでは、新しいバケット、アクセスポイント、およびオブジェクトはパブリックアクセスを許可しません。詳細については、「[Amazon S3 ストレージへのパブリックアクセスのブロック](access-control-block-public-access.md)」を参照してください。

**注記**  
アカウントレベルの設定は、個々のオブジェクトの設定よりも優先されます。パブリックアクセスをブロックするようにアカウントを設定すると、アカウント内の個々のオブジェクトに対して行われたパブリックアクセスの設定が上書きされます。組織レベルのポリシーがアクティブな場合、アカウントレベルの設定は自動的に組織ポリシーから継承され、直接変更することはできません。

組織のポリシーによって管理されない場合、S3 コンソール、AWS CLI、AWS SDK、および REST API を使用して、アカウント内のすべてのバケットに対して、パブリックアクセスブロック設定を指定できます。詳細については、関連するセクションを参照してください。

バケットのパブリックアクセスブロック設定を構成するには、「[S3 バケットへのパブリックアクセスブロック設定の構成](configuring-block-public-access-bucket.md)」を参照してください。アクセスポイントに関する情報については、「[アクセスポイントでのパブリックアクセスブロックオペレーションの実行](access-control-block-public-access.md#access-control-block-public-access-examples-access-point)」を参照してください。

## S3 コンソールの使用
<a name="block-public-access-account"></a>

Amazon S3 パブリックアクセスブロックを使用して、S3 バケット内のデータへのパブリックアクセスを許可しないようにアプリケーションを設定します。このセクションでは、AWS アカウントのすべての S3 バケットに対するブロックパブリックアクセス設定の編集方法について説明します。パブリックアクセスのブロックの詳細については、[Amazon S3 ストレージへのパブリックアクセスのブロック](access-control-block-public-access.md) を参照してください。

**AWS アカウントのすべての S3 バケットのブロックパブリックアクセス設定を編集するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. [**Block Public Access settings for this account (このアカウントのブロックパブリックアクセスの設定)**] を選択します。

1. [**Edit**] (編集) を選択して、AWS アカウント のすべてのバケットに対するブロックパブリックアクセス設定を変更します。

1. 変更する設定を選択して、[**Save changes (変更の保存)**] を選択します。

1. 確認を求められたら、「**confirm**」と入力します。次に、[**確認**] を選択して変更を保存します。

「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,」というエラーメッセージが表示された場合は、アカウントは組織レベルのポリシーによって管理されます。組織管理者に連絡して、これらの設定を変更してください。

## AWS CLI の使用
<a name="access-control-block-public-access-examples-cli"></a>

AWS CLI を介して Amazon S3 のパブリックアクセスブロックを使用することができます。AWS CLI のセットアップおよび使用の詳細については、[AWS Command Line Interface とは?](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) を参照してください。

**アカウント**
+ アカウントでブロックパブリックアクセス操作を実行するには、AWS CLI サービス `s3control` を使用します。このサービスを使用するアカウントレベルの操作は次のとおりです。
  + `PutPublicAccessBlock` (アカウントの場合)
  + `GetPublicAccessBlock` (アカウントの場合)
  + `DeletePublicAccessBlock` (アカウントの場合)

**注記**  
`PutPublicAccessBlock` および `DeletePublicAccessBlock` オペレーションは、アカウントが組織レベルのポリシーによって管理されている場合、「アクセスが拒否されました」エラーを返します。アカウントレベルの `GetPublicAccessBlock` オペレーションは、存在する場合、強制された組織レベルのポリシーを返します。

追加情報と例については、「*AWS CLI リファレンス*」の「[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-public-access-block.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/put-public-access-block.html)」を参照してください。

## AWS SDK の使用
<a name="access-control-block-public-access-examples-sdk"></a>

------
#### [ Java ]

以下の例は、AWS SDK for Java で Amazon S3 のパブリックアクセスブロックを使用して、Amazon S3 アカウントにパブリックアクセスブロック設定を配置する方法を示しています。

**注記**  
アカウントが組織レベルのポリシーによって管理されている場合、`PutPublicAccessBlock` および `DeletePublicAccessBlock` オペレーションは「アクセスが拒否されました」エラーで失敗します。

```
AWSS3ControlClientBuilder controlClientBuilder = AWSS3ControlClientBuilder.standard();
controlClientBuilder.setRegion(<region>);
controlClientBuilder.setCredentials(<credentials>);
					
AWSS3Control client = controlClientBuilder.build();
client.putPublicAccessBlock(new PutPublicAccessBlockRequest()
		.withAccountId(<account-id>)
		.withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration()
				.withIgnorePublicAcls(<value>)
				.withBlockPublicAcls(<value>)
				.withBlockPublicPolicy(<value>)
				.withRestrictPublicBuckets(<value>)));
```

**重要**  
この例は、`AWSS3Control` クライアントクラスを使用するアカウントレベルの操作にのみ関係します。バケットレベルの操作については、前述の例を参照してください。

------
#### [ Other SDKs ]

その他の AWS SDK の使用については、「Amazon S3 API リファレンス」の「[Developing with Amazon S3 using the AWS SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html)」を参照してください。**

------

## REST API の使用
<a name="access-control-block-public-access-examples-api"></a>

REST API での Amazon S3 のパブリックアクセスブロックの使用については、*Amazon Simple Storage Service API リファレンス*の以下のトピックを参照してください。
+ アカウントレベルの操作
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) - アカウントが組織ポリシーによって管理されている場合に失敗します
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) - 組織ポリシーを含む有効な設定を返します。
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) - アカウントが組織ポリシーによって管理されている場合に失敗します。

制限されたオペレーションについては、次のエラーメッセージが表示されます。「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.」