

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

# 在亚马逊虚拟私有云中使用 Amazon G SageMaker round Truth
<a name="sms-vpc"></a>

 借助 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html)（Amazon VPC），您可以在您定义的逻辑隔离的虚拟网络中启动 AWS 资源。Ground Truth 支持在 Amazon VPC 内运行标注作业，而无需通过互联网连接。当您在亚马逊 VPC 中启动标签任务时，您的 VPC 和 Ground Truth 之间的通信将在 AWS 网络内完全安全地进行。

本指南介绍如何通过以下方式在 Amazon VPC 中使用 Ground Truth：

1. [在亚马逊虚拟私有云中运行 Amazon G SageMaker round Truth 标签工作](samurai-vpc-labeling-job.md)

1. [在私有工作人员门户中使用 Amazon VPC 模式](samurai-vpc-worker-portal.md)

# 在亚马逊虚拟私有云中运行 Amazon G SageMaker round Truth 标签工作
<a name="samurai-vpc-labeling-job"></a>

Ground Truth 支持 Amazon VPC 中的以下功能。
+ 您可以使用 Amazon S3 存储桶策略来控制从特定的 Amazon VPC 终端节点或特定 VPCs终端节点访问存储桶。如果您启动了标注作业，而输入数据位于 Amazon S3 存储桶中，且该存储桶仅限 VPC 中的用户使用，那么您可以添加一个存储桶策略，同时授予 Ground Truth 端点访问存储桶的权限。要了解更多信息，请参阅[允许 Ground Truth 访问受 VPC 限制的 Amazon S3 存储库](#sms-vpc-permissions-s3)。
+ 您可以在 VPC 中启动[自动数据标注作业](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html)。您可以使用 VPC 配置来指定 VPC 子网和安全组。 SageMaker AI 使用此配置在您的 VPC 中启动用于自动数据标签的训练和推理作业。要了解更多信息，请参阅[在 VPC 中创建自动数据标注作业](#sms-vpc-permissions-automated-labeling)。

您可以通过以下任何一种方式使用这些选项。
+ 您可以使用这两种方法，使用受 VPC 保护并启用了自动数据标注功能的 Amazon S3 存储桶启动标注作业。
+ 您可以使用受 VPC 保护的存储桶，通过任何[内置任务类型](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)启动标注作业。
+ 您可以使用受 VPC 保护的存储桶启动[自定义标注工作流](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html)。Ground Truth 使用 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-services-overview.html) 端点与注释前和注释后 Lambda 函数进行交互。

在 Amazon VPC 中创建标注作业之前，我们建议您查看[在 VPC 中运行 Ground Truth 标注作业的先决条件](#sms-vpc-gt-prereq)。

## 在 VPC 中运行 Ground Truth 标注作业的先决条件
<a name="sms-vpc-gt-prereq"></a>

在 Amazon VPC 中创建 Ground Truth 标注作业之前，请查看以下先决条件。
+ 如果您是 Ground Truth 的新用户，请查看[入门](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-getting-started.html)以了解如何创建标注作业。
+ 如果输入数据位于受 VPC 保护的 Amazon S3 存储桶中，则工作人员必须从 VPC 访问工作人员门户。基于 VPC 的标注作业需要使用私人工作团队。要了解有关创建私有工作团队的更多信息，请参阅[使用私有人力](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html)。
+ 以下是在 VPC 中启动标注作业的特定先决条件。
  + 使用[创建 Amazon S3 VPC 端点](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3)中的说明。自动数据标注工作流中使用的训练和推理容器使用此端点与 Amazon S3 中的存储桶进行通信。
  + 要了解有关此功能的更多信息，请查看[自动数据标注](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html)。请注意，以下[内置任务类型](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)支持自动数据标注：[图像分类（单标签）](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-image-classification.html)、[图像语义分割](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-semantic-segmentation.html)、[边界框](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-bounding-box.html)和[文本分类（单标签）](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-text-classification.html)。流式标注作业不支持自动数据标注。
+ 查看 [Ground Truth 安全性和权限](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-general.html)部分，确保您已满足以下条件。
  + 创建标注作业的用户拥有所有必要的权限
  + 您已创建具有所需权限的 IAM 执行角色。如果您的使用案例不需要经过微调的权限，我们建议您使用[授予开始使用 Ground Truth 的一般权限](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-permission.html#sms-security-permissions-get-started)中所述的 IAM 托管策略。
  + 允许您的 VPC 访问 `sagemaker-labeling-data-region` 和 `sm-bxcb-region-saved-task-states` S3 存储桶。这些是系统拥有的区域化 S3 存储桶，当工作人员处理任务时，可以从工作人员门户访问这些存储桶。我们使用这些存储桶与系统托管的数据进行交互。

## 允许 Ground Truth 访问受 VPC 限制的 Amazon S3 存储库
<a name="sms-vpc-permissions-s3"></a>

以下各节将详细介绍 Ground Truth 使用 Amazon S3 存储桶启动标注作业所需的权限，这些存储桶的访问权限仅限于您的 VPC 和 VPC 端点。要了解如何限制 VPC 对 Amazon S3 存储桶的访问，请参阅《Amazon Simple Storage Service 用户指南》指南中的[使用存储桶策略控制 VPC 端点的访问](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html)。要了解如何将策略添加到 S3 存储桶，请参阅[使用 Amazon S3 控制台添加存储桶策略](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)。

**注意**  
修改现有存储桶上的策略会导致 `IN_PROGRESS` Ground Truth 作业失败。我们建议您使用新的存储桶启动新作业。如果您想继续使用同一个存储桶，可以执行以下操作之一。  
等待 `IN_PROGRESS` 作业完成。
使用控制台或 AWS CLI终止作业。

您可以使用 [AWS PrivateLink](https://aws.amazon.com/privatelink/) 端点限制 VPC 中的用户访问 Amazon S3 存储桶。例如，以下 S3 存储桶策略只允许从 `<bucket-name>` 和端点 `<vpc>` 访问特定存储桶 `<vpc-endpoint>`。修改此策略时，必须将全部*red-italized text*替换为您的资源和规格。

**注意**  
以下策略*拒绝* VPC 内用户*除外*的所有实体执行 `Action` 中列出的操作。如果您未在此列表中包含操作，则任何有权访问此数据桶并有权执行这些操作的实体仍可访问这些操作。例如，如果用户有权对 Amazon S3 存储桶执行 `GetBucketLocation`，则下面的策略不会限制用户在 VPC 外部执行此操作。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "Policy1415115909152",
    "Statement": [
        {
            "Sid": "AccessToSpecificVPCEOnly",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-12345678",
                        "vpce-12345678901234567"
                    ]
                }
            }
        }
    ]
}
```

------

Ground Truth 必须能够对用于配置标注作业的 S3 存储桶执行以下 Amazon S3 操作。

```
"s3:AbortMultipartUpload",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketLocation"
```

您可以通过在存储桶策略中添加 Ground Truth 端点来做到这一点，就像前面提到的那样。下表包括每个 AWS 区域的 Ground Truth 服务终端节点。将您用于运行标注作业的同一 [AWS 区域](https://docs.aws.amazon.com/general/latest/gr/rande.html)的端点添加到存储桶策略中。


****  

| AWS 区域 | Ground Truth 端点 | 
| --- | --- | 
| us-east-2 | vpce-02569ba1c40aad0bc | 
| us-east-1 | vpce-08408e335ebf95b40 | 
| us-west-2 | vpce-0ea07aa498eb78469 | 
| ca-central-1 | vpce-0d46ea4c9ff55e1b7 | 
| eu-central-1 | vpce-0865e7194a099183d | 
| eu-west-2 | vpce-0bccd56798f4c5df0 | 
| eu-west-1 | vpce-0788e7ed8628e595d | 
| ap-south-1 | vpce-0d7fcda14e1783f11 | 
| ap-southeast-2 | vpce-0b7609e6f305a77d4 | 
| ap-southeast-1 | vpce-0e7e67b32e9efed27 | 
| ap-northeast-2 | vpce-007893f89e05f2bbf | 
| ap-northeast-1 | vpce-0247996a1a1807dbd | 

例如，以下策略限制对以下项执行 `GetObject` 和 `PutObject` 操作：
+ 向 VPC (`<vpc>`) 中的用户提供的 Amazon S3 存储桶
+ VPC 端点 (`<vpc-endpoint>`)
+ Ground Truth 服务端点 (`<ground-truth-endpoint>`)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "1",
    "Statement": [
        {
            "Sid": "DenyAccessFromNonGTandCustomerVPC",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ],
            "Condition": {
              "StringNotEquals": {
                "aws:SourceVpc": "vpc-12345678",
                "aws:sourceVpce": [
                  "vpce-12345678",
                  "vpce-12345678"
                ] 
             }
           }
        }
    ]
}
```

------

如果您希望用户有权使用 Ground Truth 控制台启动标注作业，则还必须使用 `aws:PrincipalArn` 条件将用户的 ARN 添加到存储桶策略中。此用户还必须有权对您用于启动标注作业的存储桶执行以下 Amazon S3 操作。

```
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetBucketCors",
"s3:PutBucketCors",
"s3:ListAllMyBuckets",
```

以下代码是存储桶策略的示例，该策略只允许以下项对 S3 存储桶 `<bucket-name>` 执行 `Action` 中列出的操作。
+ *<role-name>*
+ `aws:sourceVpce` 中列出的 VPC 端点
+ VPC 中的用户名为 *<vpc>*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "1",
    "Statement": [
        {
            "Sid": "DenyAccessFromNonGTandCustomerVPC",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name/*",
                "arn:aws:s3:::bucket-name"
            ],
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpc": "vpc-12345678",
                    "aws:PrincipalArn": "arn:aws:iam::111122223333:role/role-name"
                },
                "StringNotEquals": {
                    "aws:sourceVpce": [
                        "vpce-12345678",
                        "vpce-12345678"
                    ]
                }
            }
        }
    ]
}
```

------

**注意**  
用于输入和输出数据的 Amazon VPC 接口终端节点和受保护的 Amazon S3 存储桶必须位于您用于创建标签任务的同一 AWS 区域。

授予 Ground Truth 访问 Amazon S3 存储桶的权限后，可以使用[创建标注作业](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job.html)中的任一主题来启动标注作业。为输入和输出数据存储桶指定受 VPC 限制的 Amazon S3 存储桶。

## 在 VPC 中创建自动数据标注作业
<a name="sms-vpc-permissions-automated-labeling"></a>

要使用 Amazon VPC 创建自动数据标注作业，您需要使用 Ground Truth 控制台或 `CreateLabelingJob` API 操作提供 VPC 配置。 SageMaker AI 使用您提供的子网和安全组启动用于自动标记的训练和推理作业。

**重要**  
在使用 VPC 配置启动自动数据标注作业之前，请确保已使用要用于标注作业的 VPC 创建了 Amazon S3 VPC 端点。要了解如何操作，请参阅[创建 Amazon S3 VPC 端点](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3)。  
此外，如果使用受 VPC 限制的 Amazon S3 存储桶创建自动数据标注作业，则必须按照[允许 Ground Truth 访问受 VPC 限制的 Amazon S3 存储库](#sms-vpc-permissions-s3)中的说明授予 Ground Truth 访问存储桶的权限。

使用以下过程学习如何向标注作业请求中添加 VPC 配置。

**将 VPC 配置添加到自动数据标注作业（控制台）：**

1. 按照[创建标注作业（控制台）](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html)中的说明，完成该过程中的每个步骤，直至步骤 15。

1. 在**工作人员**部分中，选中**启用自动数据标注**旁边的复选框。

1. 选择箭头，最大化控制台的 **VPC 配置**部分。

1. 指定要用于自动数据标注作业的**虚拟私有云 (VPC)**。

1. 选择**子网**下的下拉列表并选择一个或多个子网。

1. 选择**安全组**下的下拉列表并选择一个或多个组。

1. 完成[创建标注作业（控制台）](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html)过程的所有剩余步骤。

**将 VPC 配置添加到自动数据标注作业 (API)：**  
要使用 Ground Truth API 操作 `CreateLabelingJob` 配置标注作业，请按照[创建自动数据标注作业 (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html#sms-create-automated-labeling-api) 中的说明配置您的请求。除了本文档中描述的参数外，还必须在 `LabelingJobResourceConfig` 中包含一个 `VpcConfig` 参数，以便使用以下架构指定一个或多个子网和安全组。

```
"LabelingJobAlgorithmsConfig": { 
      "InitialActiveLearningModelArn": "string",
      "LabelingJobAlgorithmSpecificationArn": "string",
      "LabelingJobResourceConfig": { 
         "VolumeKmsKeyId": "string",
         "VpcConfig": { 
            "SecurityGroupIds": [ "string" ],
            "Subnets": [ "string" ]
         }
      }
}
```

以下是一个 [AWS Python SDK (Boto3) 请求](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)示例，该请求使用私有人力在美国东部（弗吉尼亚州北部）区域中创建自动数据标注作业。将所有内容*red-italicized text*替换为您的标签作业资源和规格。要了解有关该`CreateLabelingJob`操作的更多信息，请参阅[创建标注任务 (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html) 教程和 [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)API 文档。

```
import boto3
client = boto3.client(service_name='sagemaker')

response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    },
    "LabelingJobAlgorithmsConfig": {
      "LabelingJobAlgorithmSpecificationArn": "arn:aws:sagemaker:us-east-1:027400017018:labeling-job-algorithm-specification/tasktype",
      "LabelingJobResourceConfig": { 
         "VpcConfig": { 
            "SecurityGroupIds": [ "sg-01233456789", "sg-987654321" ],
            "Subnets": [ "subnet-e0123456", "subnet-e7891011" ]
         }
      }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*,
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Add task title here",
        'TaskDescription': "Add description of task here for workers",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

# 在私有工作人员门户中使用 Amazon VPC 模式
<a name="samurai-vpc-worker-portal"></a>

要限制在 Amazon VPC 内工作的标注者可以访问工作人员门户，可以在创建 Ground Truth 私有人力时添加 VPC 配置。您还可以向现有的私有人力添加 VPC 配置。Ground Truth 会自动在 VPC 中创建 VPC 接口端点，并在 VPC 端点和 Ground Truth 服务之间设置 AWS PrivateLink 。可从 VPC 访问与人力相关联的工作人员门户 URL。在对公共互联网设置限制之前，也可以从公共互联网访问工作人员门户 URL。删除人力或从人力中删除 VPC 配置时，Ground Truth 会自动删除与人力相关联的 VPC 端点。

**注意**  
一个人力只能支持一个 VPC。

[点云](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html)和[视频](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video.html)任务不支持通过 VPC 加载。

本指南演示了如何完成在人力中添加和删除 Amazon VPC 配置的必要步骤，并满足先决条件。

## 先决条件
<a name="samurai-vpc-getting-started-prerequisites"></a>

要在 Amazon VPC 中运行 Ground Truth 标注作业，请查看以下先决条件。
+ 您已经配置了可以使用的 Amazon VPC。如果您尚未配置 VPC，请按照[创建 VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#interface-endpoint-shared-subnets) 的相关说明操作。
+ 根据[工作人员任务模板](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html)的编写方式，可以在标注任务期间直接从 Amazon S3 访问存储在 Amazon S3 存储桶中的标注数据。在这些情况下，必须对 VPC 网络进行配置，以允许从人工标注者使用的设备向包含标注数据的 S3 存储桶传输流量。
+ 按照[查看和更新 VPC 的 DNS 属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)中的说明，为 VPC 启用 DNS 主机名和 DNS 解析。

**注意**  
可以通过两种方法为人力配置 VPC。您可以通过[控制台](https://console.aws.amazon.com/sagemaker)或 AWS SageMaker A [I CLI](https://aws.amazon.com/cli/) 执行此操作。

# 使用 A SageMaker I 控制台管理 VPC 配置
<a name="samurai-vpc-workforce-console"></a>

您可以使用 [SageMaker AI 控制台](https://console.aws.amazon.com/sagemaker)添加或删除 VPC 配置。您还可以删除现有人力。

## 为人力添加 VPC 配置
<a name="samurai-add-vpc-workforce"></a>

### 创建私有人力
<a name="samurai-vpc-create-workforce"></a>
+ [使用 Amazon Cognito 创建私有人力](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-cognito.html)
+ [使用 OpenID Connect (OIDC) 身份提供者 (IdP) 创建私有人力](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-oidc.html)。

创建私有人力后，向其添加 VPC 配置。

1. 在您的主机中导航至 [Amazon SageMaker Runtim](https://console.aws.amazon.com/sagemaker) e。

1. 在左侧面板中选择**标注人力**。

1. 选择**私有**以访问您的私有人力。**人力状态**变为**活动**后，选择 **VPC** 旁边的**添加**。

1. 当系统提示您配置 VPC 时，请提供以下信息：

   1. 您的 **VPC**

   1. **子网**

      1. 确保您的 VPC 已有子网

   1. **安全组**

      1. 
**注意**  
选择的安全组不能超过 5 个。

   1. 填写此信息后，选择**确认**。

1. 选择**确认**后，您将重定向回**标注人力**下的**私有**页面。您应该会在顶部看到一个绿色横幅，上面显示**使用 VPC 配置的私有人力更新已成功初始化**。人力状态为**正在更新**。**删除人力**按钮旁边是**刷新**按钮，可用于检索最新的**人力状态**。人力状态更改为**活动**后，VPC 端点 ID 也会更新。

## 从人力中删除 VPC 配置
<a name="samurai-remove-vpc-workforce"></a>

使用以下信息，通过控制台从人力中删除 VPC 配置。

1. 在您的主机中导航至 [Amazon SageMaker Runtim](https://console.aws.amazon.com/sagemaker) e。

1. 在左侧面板中选择**标注人力**。

1. 查找并选择您的人力。

1. 在**私有人力摘要**下，找到 **VPC**，然后选择其旁边的**删除**。

1. 选择**删除**。

## 通过控制台删除人力
<a name="samurai-delete-vpc-workforce"></a>

如果删除一个人力，就不应该再有任何与之相关的团队。只有当人力状态为**活动**或**失败**时，才能删除人力。

使用以下信息通过控制台删除人力。

1. 在您的主机中导航至 [Amazon SageMaker Runtim](https://console.aws.amazon.com/sagemaker) e。

1. 在左侧面板中选择**标注人力**。

1. 查找并选择您的人力。

1. 选择**删除人力**。

1. 选择**删除**。

# 使用 SageMaker AI AWS API 管理 VPC 配置
<a name="samurai-vpc-workforce-cli"></a>

使用以下各节来详细了解如何管理 VPCs 配置，同时保持对工作团队的适当访问权限。

## 使用 VPC 配置创建人力
<a name="samurai-create-vpc-cli"></a>

如果账户中已经有一个人力，则必须先删除它。您还可以使用 VPC 配置更新人力。

```
aws sagemaker create-workforce --cognito-config '{"ClientId": "app-client-id","UserPool": "Pool_ID",}' --workforce-vpc-config \       
" {\"VpcId\": \"vpc-id\", \"SecurityGroupIds\": [\"sg-0123456789abcdef0\"], \"Subnets\": [\"subnet-0123456789abcdef0\"]}" --workforce-name workforce-name
{
    "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name"
}
```

描述人力并确保其状态为 `Initializing`。

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "WorkforceVpcConfig": {
            "VpcId": "vpc-id",
            "SecurityGroupIds": [
                "sg-0123456789abcdef0"
            ],
            "Subnets": [
                "subnet-0123456789abcdef0"
            ]
        },
        "Status": "Initializing"
    }
}
```

导航到 Amazon VPC 控制台。从左侧面板中选择**端点**。您的账户中应该创建了两个 VPC 端点。

## 为人力添加 VPC 配置
<a name="samurai-add-vpc-cli"></a>

使用以下命令用 VPC 配置更新非 VPC 私有人力。

```
aws sagemaker update-workforce --workforce-name workforce-name\
--workforce-vpc-config "{\"VpcId\": \"vpc-id\", \"SecurityGroupIds\": [\"sg-0123456789abcdef0\"], \"Subnets\": [\"subnet-0123456789abcdef0\"]}"
```

描述人力并确保其状态为 `Updating`。

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "WorkforceVpcConfig": {
            "VpcId": "vpc-id",
            "SecurityGroupIds": [
                "sg-0123456789abcdef0"
            ],
            "Subnets": [
                "subnet-0123456789abcdef0"
            ]
        },
        "Status": "Updating"
    }
}
```

导航到 Amazon VPC 控制台。从左侧面板中选择**端点**。您的账户中应该创建了两个 VPC 端点。

## 从人力中删除 VPC 配置
<a name="samurai-remove-vpc-cli"></a>

用空 VPC 配置更新 VPC 私有人力以删除 VPC 资源。

```
aws sagemaker update-workforce --workforce-name workforce-name\ 
--workforce-vpc-config "{}"
```

描述人力并确保其状态为 `Updating`。

```
aws sagemaker describe-workforce --workforce-name workforce-name
{
    "Workforce": {
        "WorkforceName": "workforce-name",
        "WorkforceArn": "arn:aws:sagemaker:us-west-2:xxxxxxxxx:workforce/workforce-name",
        "LastUpdatedDate": 1622151252.451,
        "SourceIpConfig": {
            "Cidrs": []
        },
        "SubDomain": "subdomain.us-west-2.sagamaker.aws.com",
        "CognitoConfig": {
            "UserPool": "Pool_ID",
            "ClientId": "app-client-id"
        },
        "CreateDate": 1622151252.451,
        "Status": "Updating"
    }
}
```

导航至 Amazon VPC 控制台。从左侧面板中选择**端点**。应删除两个 VPC 端点。

## 在通过 VPC 保持访问的同时，限制公众访问工作人员门户
<a name="public-access-vpc"></a>

 VPC 或非 VPC 工作人员门户中的工作人员可以看到分配给他们的标注作业任务。任务来自于通过 OIDC 组分配工作团队中的工作人员。客户有责任通过在人力中设置 `sourceIpConfig` 来限制其公共工作人员门户的访问权限。

**注意**  
您只能通过 SageMaker API 限制对工作人员门户的访问。这无法通过控制台完成。

使用以下命令限制公众访问工作人员门户。

```
aws sagemaker update-workforce --region us-west-2 \
--workforce-name workforce-demo --source-ip-config '{"Cidrs":["10.0.0.0/16"]}'
```

在人力上设置 `sourceIpConfig` 后，工作人员可以访问 VPC 中的工作人员门户，但不能通过公共互联网访问。

**注意**  
您无法为 VPC 中的工作人员门户设置 `sourceIP` 限制。