

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為您的 S3 儲存貯體設定封鎖公開存取
<a name="configuring-block-public-access-bucket"></a>

Amazon S3 Block Public Access 提供存取點、儲存貯體、組織和帳戶的設定，協助您管理對 Amazon S3 資源的公開存取。依預設，新的儲存貯體、存取點和物件不允許公開存取。如需詳細資訊，請參閱[封鎖對 Amazon S3 儲存體的公開存取權](access-control-block-public-access.md)。

**注意**  
儲存貯體層級封鎖公開存取設定可與組織和帳戶層級政策搭配使用。S3 會在儲存貯體層級和有效的帳戶層級組態之間套用最嚴格的設定 （如果有的話，可由組織政策強制執行）。

您可以使用 S3 主控台 AWS CLI、、 AWS SDKs 和 REST API 來授予一或多個儲存貯體的公開存取權。您也可以封鎖對已公開之儲存貯體的公開存取。如需詳細資訊，請參閱以下各區段。

若要為您帳戶中的每個儲存貯體設定封鎖公開存取，請參閱 [為您的帳戶設定封鎖公開存取](configuring-block-public-access-account.md)。如需全組織的集中式管理，請參閱*AWS Organizations 《 使用者指南*》中的 [S3 政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html)。

如需有關為存取點設定封鎖公開存取的資訊，請參閱 [在存取點執行封鎖公開存取操作](access-control-block-public-access.md#access-control-block-public-access-examples-access-point)。

## 使用 AWS CLI
<a name="configuring-block-public-access-bucket-cli"></a>

若要封鎖儲存貯體上的公有存取，或刪除公有存取區塊，請使用 AWS CLI 服務`s3api`。使用此服務的儲存貯體層級操作如下：
+ `PutPublicAccessBlock` (適用於儲存貯體)
+ `GetPublicAccessBlock` (適用於儲存貯體)
+ `DeletePublicAccessBlock` (適用於儲存貯體)
+ `GetBucketPolicyStatus`

如需詳細資訊，請參閱《AWS CLI 參考》**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html)。

**注意**  
這些儲存貯體層級操作不受組織層級政策的限制。不過，有效的公開存取行為仍受儲存貯體、帳戶和組織設定的最嚴格組合所規範。如需階層和政策互動的詳細資訊，請參閱 [使用 S3 主控台](block-public-access-bucket.md)。

## 使用 AWS SDKs
<a name="configuring-block-public-access-bucket-sdk"></a>

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

```
AmazonS3 client = AmazonS3ClientBuilder.standard()
	  .withCredentials({{<credentials>}})
	  .build();

client.setPublicAccessBlock(new SetPublicAccessBlockRequest()
		.withBucketName({{<bucket-name>}})
		.withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration()
				.withBlockPublicAcls({{<value>}})
				.withIgnorePublicAcls({{<value>}})
				.withBlockPublicPolicy({{<value>}})
				.withRestrictPublicBuckets({{<value>}})));
```

**重要**  
此範例僅適用於儲存貯體層級操作，這類操作會使用 `AmazonS3` 用戶端類別。針對帳戶層級操作，請參閱以下範例。

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

如需使用其他 AWS SDKs的資訊，請參閱《[Amazon S3 API 參考》中的使用 AWS SDKs 與 Amazon S3 一起開發](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html)。 *Amazon S3 *

------

## 使用 REST API
<a name="configuring-block-public-access-bucket-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)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html)