

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

# 使用儲存貯體政策控制來自 VPC 端點的存取
<a name="example-bucket-policies-vpc-endpoint"></a>

您可以使用 Amazon S3 儲存貯體政策，控制從特定虛擬私有雲端 (VPC) 端點或特定 VPC 對儲存貯體的存取。本節包含範例儲存貯體政策，您可以使用這些政策來控制從 VPC 端點對 Amazon S3 儲存貯體的存取。若要了解如何設定 VPC 端點，請參閱*《VPC 使用指南》*中的 [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)。

VPC 可讓您在定義的虛擬網路中啟動 AWS 資源。VPC 端點可讓您建立 VPC 與另一個 AWS 服務之間的私有連線。此私有連線不需要透過網際網路、透過虛擬私有網路 (VPN) 連線、透過 NAT 執行個體或透過 Direct Connect進行存取。

適用於 Amazon S3 的 VPC 端點是 VPC 內只允許連線到 Amazon S3 的邏輯實體。VPC 端點會將請求路由至 Amazon S3，並將回應路由回到 VPC。VPC 端點僅供要求路由連接方式 Amazon S3 公有端點和 DNS 名稱仍然適用於 VPC 端點。如需搭配 Amazon S3 使用 VPC 端點的重要資訊，請參閱《VPC 使用者指南》**中的[閘道端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html)和[適用於 Amazon S3 的端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。

適用於 Amazon S3 的 VPC 端點提供兩種方式來控制對 Amazon S3 資料的存取：
+ 您可以控制經由特定 VPC 端點允許的請求、使用者或群組。如需這種存取控制類型的資訊，請參閱《VPC 使用者指南》**中的[使用端點政策控制對 VPC 端點的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。
+ 您可以使用 Amazon S3 儲存貯體政策，控制哪些 VPC 或 VPC 端點可以存取您的儲存貯體。如需這類儲存貯體政策存取控制的範例，請參閱下列限制存取主題。

**Topics**
+ [限制特定 VPC 端點的存取](#example-bucket-policies-restrict-accesss-vpc-endpoint)
+ [限制特定 VPC 的存取](#example-bucket-policies-restrict-access-vpc)
+ [限制對 IPv6 VPC 端點的存取](#example-bucket-policies-ipv6-vpc-endpoint)

**重要**  
針對本節所述的 VPC 端點套用 Amazon S3 儲存貯體政策時，無意中可能封鎖您對儲存貯體的存取。來自您 VPC 端點，旨在特別限制儲存貯體存取連線的儲存貯體許可，可能會封鎖所有對儲存貯體的連線。如需如何修正此問題的資訊，請參閱 *AWS 支援 知識中心*的[我該如何在儲存貯體政策有錯誤的 VPC 或 VPC 端點 ID 時，修正我的儲存貯體政策](https://aws.amazon.com/premiumsupport/knowledge-center/s3-regain-access/)。

## 限制特定 VPC 端點的存取
<a name="example-bucket-policies-restrict-accesss-vpc-endpoint"></a>

下列 Amazon S3 儲存貯體政策範例限制只能從 ID 為 `vpce-1a2b3c4d` 的 VPC 端點存取特定儲存貯體 `awsexamplebucket1`。如果未使用指定的端點，政策會拒絕所有對儲存貯體的存取。`aws:SourceVpce` 條件會指定端點。`aws:SourceVpce` 條件不需要 VPC 端點資源的 Amazon Resource Name (ARN)，只需要 VPC 端點 ID。如需在政策中使用條件的詳細資訊，請參閱「[使用條件索引鍵的儲存貯體政策範例](amazon-s3-policy-keys.md)」。

**重要**  
使用下列範例政策之前，請以適合您使用案例的適當值取代 VPC 端點 ID。否則，您將無法存取儲存貯體。
此政策會停用對指定儲存貯體的主控台存取，因為主控台要求不是來自指定的 VPC 端點。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpce": "vpce-0abcdef1234567890"
         }
       }
     }
   ]
}
```

------

## 限制特定 VPC 的存取
<a name="example-bucket-policies-restrict-access-vpc"></a>

您可以使用 `aws:SourceVpc` 條件，建立可限制存取特定 VPC 的儲存貯體政策。如果您在相同的 VPC 中設定多個 VPC 端點，而且想要管理所有端點對 Amazon S3 儲存貯體的存取，則這十分有用。下列政策範例拒絶 VPC `vpc-111bbb22` 外的任何人存取 `awsexamplebucket1` 和其物件。如果未使用指定的 VPC，政策會拒絕所有對儲存貯體的存取。此陳述式不會授予儲存貯體的存取權。若要授予存取權，您必須新增個別的 `Allow` 陳述式。`vpc-111bbb22` 條件索引鍵不需要 VPC 資源的 ARN，只需要 VPC ID。

**重要**  
使用下列範例政策之前，請以適合您使用案例的適當值取代 VPC ID。否則，您將無法存取儲存貯體。
此政策會停用對指定儲存貯體的主控台存取，因為主控台請求不是來自指定的 VPC。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115909153",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPC-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-1a2b3c4d"
         }
       }
     }
   ]
}
```

------

## 限制對 IPv6 VPC 端點的存取
<a name="example-bucket-policies-ipv6-vpc-endpoint"></a>

下列範例政策會拒絕儲存*amzn-s3-demo-bucket*貯體及其物件上的所有 Amazon S3 (`s3:`) 動作，除非請求來自指定的 VPC 端點 (`vpce-0a1b2c3d4e5f6g`)，且來源 IP 地址符合提供的 IPv6 CIDR 區塊。

```
{
   "Version": "2012-10-17", 		 	 	 
   "Id": "Policy1415115909154",
   "Statement": [
     {
       "Sid": "AccessSpecificIPv6VPCEOnly",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "StringNotEquals": {
           "aws:SourceVpc": "vpc-0a1b2c3d4e5f6g4h2"
         },
        "NotIpAddress": {
          "aws:VpcSourceIp": "2001:db8::/32"
        }
       }
     }
   ]
}
```

如需有關如何根據特定 IPs 或 VPCs 限制對儲存貯體的存取的資訊，請參閱[如何僅允許特定 VPC 端點或 IP 地址存取我的 Amazon S3 儲存貯體？](https://repost.aws/knowledge-center/block-s3-traffic-vpc-ip) AWS re:Post 知識中心的 。