

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# （示例）使用 VPC 限制对 Amazon S3 数据的访问
<a name="vpc-s3"></a>

您可以使用 VPC 来限制对 Amazon S3 存储桶中的数据的访问。为了进一步提高安全性，您可以将 VPC 配置为无法访问互联网，并使用 AWS PrivateLink为其创建一个端点。您还可以通过将基于资源的策略附加到 VPC 端点或 S3 存储桶来限制访问。

**Topics**
+ [创建 Amazon S3 VPC 端点](#vpc-s3-create)
+ [（可选）使用 IAM 策略限制对 S3 文件的访问](#vpc-policy-rbp)

## 创建 Amazon S3 VPC 端点
<a name="vpc-s3-create"></a>

如果您将 VPC 配置为无法访问互联网，则需要创建一个 [Amazon S3 VPC 端点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html)，以允许模型自定义作业访问存储训练和验证数据以及将存储模型构件的 S3 存储桶。

按照[创建适用于 Amazon S3 的网关端点](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3)中的步骤操作，创建 S3 VPC 端点。

**注意**  
如果您的 VPC 不使用默认 DNS 设置，则需要通过配置终端节点路由表来确保训练作业中数据位置的解析。 URLs 有关 VPC 端点路由表的信息，请参阅[网关端点路由](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing)。

## （可选）使用 IAM 策略限制对 S3 文件的访问
<a name="vpc-policy-rbp"></a>

您可以使用[基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)来更严格地控制对 S3 文件的访问。您可以使用以下基于资源的策略类型的任意组合。
+ **端点策略** – 您可以将端点策略附加到 VPC 端点，以通过 VPC 端点限制访问。默认端点策略允许您的 VPC 中的任何用户或服务完全访问 Amazon S3。在创建端点时或创建端点后，您可以选择将基于资源的策略附加到端点以添加限制，例如仅允许端点访问特定存储桶或仅允许特定 IAM 角色访问端点。有关示例，请参阅[编辑 VPC 端点策略](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#edit-vpc-endpoint-policy-s3)。

  下面是您可以附加到 VPC 端点的示例策略，以仅允许该端点访问您指定的存储桶。

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToTrainingBucket",
              "Effect": "Allow",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ]
          }
      ]
  }
  ```

------
+ **存储桶策略** – 您可以将存储桶策略附加到 S3 存储桶，以限制对 S3 存储桶的访问。要创建存储桶策略，请按照[使用存储桶策略](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)中的步骤操作。要将访问限制为来自 VPC 的流量，您可以使用条件键来指定 VPC、VPC 端点或 VPC 的 IP 地址。[你可以使用 [aws: SourceVPC、aws: SourceVPC](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpc)[E 或 aws: 条件密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpce)。VpcSourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-vpcsourceip)

  下面是您可以附加到 S3 存储桶的示例策略，以拒绝所有流向该存储桶的流量，除非流量来自 VPC。

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToOutputBucket",
              "Effect": "Deny",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:PutObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ],
              "Condition": {
                  "StringNotEquals": {
                      "aws:sourceVpc": "vpc-11223344556677889"
                  }
              }
          }
      ]
  }
  ```

------

  有关更多示例，请参阅[使用存储桶策略控制访问](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#bucket-policies-s3)。