

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

# 人力
<a name="sms-workforce-management"></a>

*人力*是您选择对数据集进行标注的一组工作人员。您可以选择 Amazon Mechanical Turk 人力、供应商管理的人力，也可以创建自己的私有人力来标注或查看您的数据集。无论您选择哪种人力类型，Amazon SageMaker AI 都负责向工作人员发送任务。

使用私有人力时，您还可以创建*工作团队*，即从您的人力中分配到特定*作业*（[Amazon SageMaker Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms.html) 标注作业或 [Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html) 人工审核任务）的一组工作人员。您可以有多个工作团队，并可以将一个或多个工作团队分配给每个作业。

您可以使用 Amazon Cognito 或自己的私有 OpenID Connect (OIDC) 身份提供者 (IdP)，管理您的私有人力和工作团队。有关以这种方式管理您的人力所需权限的更多信息，请参阅[使用 Amazon G SageMaker round Truth 控制台所需的权限](security_iam_id-based-policy-examples.md#groundtruth-console-policy)。

**Topics**
+ [

# 使用 Amazon Mechanical Turk 人力
](sms-workforce-management-public.md)
+ [

# 订阅供应商人力
](sms-workforce-management-vendor.md)
+ [

# 私有人力
](sms-workforce-private.md)

# 使用 Amazon Mechanical Turk 人力
<a name="sms-workforce-management-public"></a>

Amazon Mechanical Turk（Mechanical Turk）员工队伍为您的亚马逊 G [round Tr SageMaker uth 标签](https://docs.aws.amazon.com//sagemaker/latest/dg/a2i.html)工作和亚马逊[增强人工智能人工](https://docs.aws.amazon.com//sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html)审核任务提供了最多的员工。Amazon Mechanical Turk 人力是一种全球性资源。工作人员每周 7 天、每天 24 小时提供服务。使用 Amazon Mechanical Turk 人力时，您通常能以最快的速度完成人工审核任务和标注作业。

任何 Amazon Mechanical Turk 人力的账单都将作为 Ground Truth 或 Amazon Augmented AI 账单的一部分进行处理。您不需要创建单独的 Mechanical Turk 账户来使用 Amazon Mechanical Turk 人力。

**重要**  
您不应与此人力共享机密信息、个人信息或受保护的健康信息。当您将亚马逊 A2I 与符合 HIPAA 资格的服务（例如亚马逊 Textract 和 Amazon Rekognit AWS ion）结合使用时，不应使用 Amazon Mechanical Turk 员工，处理包含受保护健康信息的工作负载。

在创建 Ground Truth 标注作业或 Amazon A2I 人工审核工作流（流程定义）时，您可以选择 Mechanical Turk 作为人力。您可以使用 AI 控制台和 API 创建标签作业和 SageMaker 人工审核工作流程。

使用 API 操作创建标注作业或人工审核工作流时，需要为您的 `WorkteamArn` 使用以下 Amazon Mechanical Turk 人力的 ARN。*`region`*替换为您用于创建标注任务或人工循环的 AWS 区域。例如，如果您在美国西部（俄勒冈州）创建标注作业，请将 *`region`* 替换为 `us-west-2`。
+ ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

Ground Truth 和 Amazon A2I *要求*您在使用 Mechanical Turk 时输入的数据不包含个人身份信息 (PII)。如果您使用 Mechanical Turk 人力，但未指定输入数据不含 PII，那么您的 Ground Truth 标注作业和 Augmented AI 任务将失败。在创建 Ground Truth 标注作业时，以及在使用内置集成或 `StartHumanLoop` 操作创建 Amazon A2I 人工循环时，您需要指定输入数据不含 PII。

请使用以下部分了解如何将 Mechanical Turk 与这些服务结合使用。

**Topics**
+ [

## 使用 Mechanical Turk 与 Ground Truth
](#sms-workforce-management-public-unsupported)
+ [

## 将 Mechanical Turk 与 Amazon A2I 结合使用
](#sms-workforce-management-public-gt)
+ [

## 何时不支持 Mechanical Turk？
](#sms-workforce-management-public-a2i)

## 使用 Mechanical Turk 与 Ground Truth
<a name="sms-workforce-management-public-unsupported"></a>

在使用控制台或 `[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)` 操作创建标注作业时，您可以将 Mechanical Turk 与 Ground Truth 结合使用。

在创建标注作业时，我们建议您根据作业的复杂程度和所需质量来调整对每个数据对象进行注释的工作人员数量。Amazon G SageMaker round Truth 使用注释合并来提高标签的质量。对于较复杂的标注作业，更多的工作人员可以提高标签的质量，但对于较简单的作业，工作人员的数量可能不会有什么影响。有关更多信息，请参阅 [注释整合](sms-annotation-consolidation.md)。请注意，Amazon A2I 人工审核工作流不支持注释合并。

**在创建标注作业时使用 Mechanical Turk（控制台）：**

1. 使用以下内容使用 SageMaker 人工智能控制台的 Ground Truth 区域创建标签作业:[创建标注作业（控制台）](sms-create-labeling-job-console.md).

1. 在**工作人员**部分选择**工作人员类型**时，请选择 **Amazon Mechanical Turk**。

1. 使用**任务超时**指定工作人员完成任务所需的总时间。

1. 在**任务到期**中指定任务仍可供工作人员使用的总时间。这是在任务失败之前，工作人员需要多长时间来完成任务。

1. 使用下拉列表选择**每个任务的价格**。这是工作人员完成单项任务所获得的金额。

1. （可选）如果适用，请选择 “**数据集不包含成人内容**”。 SageMaker 如果你的任务包含成人内容，人工智能可能会限制可以查看你的任务的 Mechanical Turk 工作人员。

1. 您必须阅读并确认以下声明，选中复选框以使用 Mechanical Turk 人力。如果您的输入数据包含机密信息、个人信息或受保护的健康信息，则必须选择其他人力。

   **您理解并同意，Mechanical Turk 人力由位于世界各地的独立承包商组成，您不应与该人力共享机密信息、个人信息或受保护的健康信息。**

1. （可选）如果要启用自动数据标注，请选中**启用自动数据标注**旁边的复选框。要了解有关此功能的更多信息，请参阅[自动数据标注](sms-automated-labeling.md)。

1. 您可以在**其他配置**下指定**每个数据集对象的工作人员数**。例如，如果在此字段中输入 3，则每个数据对象将由 3 个工作人员标注。

通过选择**创建**来创建标注作业时，标注任务将发送给 Mechanical Turk 工作人员。

**在创建标注作业时使用 Mechanical Turk (API)：**

1. 通过以下过程使用 `[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)` 操作创建标注作业：[创建标注作业 (API)](sms-create-labeling-job-api.md)。

1. 对 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn) 使用以下内容。*`region`*替换为您用于创建标注任务的 AWS 区域。

   `arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

1. 使用 `[TaskTimeLimitInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskTimeLimitInSeconds)` 指定工作人员完成任务所需的总时间。

1. 使用 `[TaskAvailabilityLifetimeInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskAvailabilityLifetimeInSeconds)` 指定任务仍可供工作人员使用的总时间。这是在任务失败之前，工作人员需要多长时间来完成任务。

1. 使用 `[NumberOfHumanWorkersPerDataObject]()` 指定每个数据集对象的工作人员数。

1. 使用 `[PublicWorkforceTaskPrice](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PublicWorkforceTaskPrice)` 设置每个任务的价格。这是工作人员完成单项任务所获得的金额。

1. 使用 `[DataAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobInputConfig.html#sagemaker-Type-LabelingJobInputConfig-DataAttributes)` 指定您的输入数据不含机密信息、个人信息或受保护的健康信息。

   如果您使用 Mechanical Turk 人力，Ground Truth *要求*您的输入数据不包含个人身份信息 (PII)。如果您使用 Mechanical Turk，但没有使用 `FreeOfPersonallyIdentifiableInformation` 标志指定输入数据不含 PII，那么您的标注作业将失败。

   使用该`FreeOfAdultContent`标志声明您的输入数据不包含成人内容。 SageMaker 如果你的任务包含成人内容，人工智能可能会限制可以查看你的任务的 Mechanical Turk 工作人员。

你可以在以下笔记本中看到如何使用此 API 的示例，可在以下笔记本上找到 GitHub：G [round Truth Jupyter 笔记本](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs)示例。

## 将 Mechanical Turk 与 Amazon A2I 结合使用
<a name="sms-workforce-management-public-gt"></a>

在控制台中或使用 `CreateFlowDefinition` API 操作创建人工审核工作流（也称为*流程定义*）时，您可以指定要将 Mechanical Turk 与 Amazon A2I 结合使用。使用此人工审核工作流配置人工循环时，必须指定输入数据不含 PII。

**在创建人工审核工作流时使用 Mechanical Turk（控制台）：**

1. 使用以下内容在人工智能控制台的增强人工智能部分创建人工审核工作流程:[创建人工审核工作流（控制台）](a2i-create-flow-definition.md#a2i-create-human-review-console). SageMaker 

1. 在**工作人员**部分选择**工作人员类型**时，请选择 **Amazon Mechanical Turk**。

1. 使用下拉列表选择**每个任务的价格**。这是工作人员完成单项任务所获得的金额。

1. （可选）您可以在**其他配置**下指定**每个数据集对象的工作人员数**。例如，如果在此字段中输入 3，则每个数据对象将由 3 个工作人员标注。

1. （可选）使用**任务超时**指定工作人员完成任务所需的总时间。

1. （可选）在**任务到期**中指定任务仍可供工作人员使用的总时间。这是在任务失败之前，工作人员需要多长时间来完成任务。

1. 创建人工审核工作流后，您可以通过在参数 `FlowDefinitionArn` 中提供该工作流的 Amazon 资源名称 (ARN) 来使用该工作流配置人工循环。您可以使用内置任务类型的 API 操作之一或 Amazon A2I 运行时 API 操作 `StartHumanLoop` 来配置人工循环。要了解更多信息，请参阅[创建和启动人工循环](a2i-start-human-loop.md)。

   配置人工循环时，必须使用 `DataAttributes` 中的 `FreeOfPersonallyIdentifiableInformation` 内容分类器指定输入数据不含个人身份信息 (PII)。如果您使用 Mechanical Turk，但未指定输入数据不含 PII，那么您的人工审核任务将会失败。

   使用该`FreeOfAdultContent`标志声明您的输入数据不包含成人内容。 SageMaker 如果你的任务包含成人内容，人工智能可能会限制可以查看你的任务的 Mechanical Turk 工作人员。

**在创建人工审核工作流时使用 Mechanical Turk (API)：**

1. 通过以下过程使用 `[CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateFlowDefinition.html)` 操作创建人工审核工作流：[创建人工审核工作流 (API)](a2i-create-flow-definition.md#a2i-create-human-review-api)。

1. 对 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-WorkteamArn) 使用以下内容。*`region`*替换为您用于创建标注任务的 AWS 区域。

   `arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

1. 使用 `[TaskTimeLimitInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskTimeLimitInSeconds)` 指定工作人员完成任务所需的总时间。

1. 使用 `[TaskAvailabilityLifetimeInSeconds](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-TaskAvailabilityLifetimeInSeconds)` 指定任务仍可供工作人员使用的总时间。这是在任务失败之前，工作人员需要多长时间来完成任务。

1. 使用 `[TaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanLoopConfig.html#sagemaker-Type-HumanLoopConfig-TaskCount)` 指定每个数据集对象的工作人员数。例如，如果您为此参数指定 3，则每个数据对象将由 3 个工作人员标注。

1. 使用 `[PublicWorkforceTaskPrice](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PublicWorkforceTaskPrice)` 设置每个任务的价格。这是工作人员完成单项任务所获得的金额。

1. 创建人工审核工作流后，您可以通过在参数 `FlowDefinitionArn` 中提供该工作流的 Amazon 资源名称 (ARN) 来使用该工作流配置人工循环。您可以使用内置任务类型的 API 操作之一或 Amazon A2I 运行时 API 操作 `StartHumanLoop` 来配置人工循环。要了解更多信息，请参阅[创建和启动人工循环](a2i-start-human-loop.md)。

   配置人工循环时，必须使用 `DataAttributes` 中的 `FreeOfPersonallyIdentifiableInformation` 内容分类器指定输入数据不含个人身份信息 (PII)。如果您使用 Mechanical Turk，但未指定输入数据不含 PII，那么您的人工审核任务将会失败。

   使用该`FreeOfAdultContent`标志声明您的输入数据不包含成人内容。 SageMaker 如果你的任务包含成人内容，人工智能可能会限制可以查看你的任务的 Mechanical Turk 工作人员。

你可以在以下笔记本中看到如何使用此 API 的示例，请访问 GitHub：[Amazon A2I Jupy](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks) ter 笔记本示例。

## 何时不支持 Mechanical Turk？
<a name="sms-workforce-management-public-a2i"></a>

在以下情况下不支持该人力。在每种情况下，都必须使用[私有](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html)或[供应商](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html)人力。
+ Ground Truth 视频帧标注作业和 3D 点云标注作业不支持该人力。
+ 如果您的输入数据包含个人身份信息 (PII)，则无法使用该人力。
+ Mechanical Turk 在某些 AWS 特殊区域不可用。如果适用，请参阅您所在特殊区域的文档以了解更多信息。

# 订阅供应商人力
<a name="sms-workforce-management-vendor"></a>

您可以通过 Amazon SageMaker Ground Truth (Ground Truth) 和 Amazon Augmented AI (Amazon A2I)，使用供应商管理的人力来标注数据。供应商在提供数据标注服务以进行机器学习方面具有丰富的经验。必须通过 Amazon SageMaker AI 控制台单独创建和管理这两项服务的供应商人力。

供应商通过 AWS Marketplace 提供其服务。您可以在供应商服务的详细信息页面上找到服务的详细信息，如工作人员数和他们工作的小时数。您可以使用这些详细信息估计标注作业所需的成本和您预期作业可能需要的时间。一旦您选择了供应商，即表示您使用 AWS Marketplace 订阅其服务。

订阅是您与供应商之间的协议。协议中对价格、时间表或退款政策等协议项目作出详细的规定。如果您对标注作业有任何问题，请直接与供应商联系。

您可以订阅任意数量的供应商，以满足自己的数据注释需求。当您创建标注作业或人工审核工作流时，可以指定将作业发送到特定供应商。

**重要**  
在向供应商发送敏感数据之前，请在供应商的详细信息页面上查看供应商的安全和合规做法，并查看作为订阅协议一部分的最终用户许可协议 (EULA)。您有责任确保供应商符合您对个人或机密信息的合规性要求。不要与该人力共享受保护的健康信息。

您必须使用控制台来订阅供应商人力。订阅后，您便可以使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListSubscribedWorkteams.html) 操作列出您订阅的供应商。

**订阅供应商人力**

1. 通过 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 打开 SageMaker AI 控制台。

1. 在 SageMaker AI 控制台中选择适当的页面。
   + 对于 Ground Truth 标注作业，依次选择**标注人力**、**供应商**和**查找数据标注服务**。
   + 对于 Amazon A2I 人工审核工作流，依次选择**人工审核人力**、**供应商**和**查找人工审核服务**。

1. 控制台将打开 AWS Marketplace，并且：
   + 对于 Ground Truth，选择数据标注服务类别
   + 对于 Amazon A2I，选择人工审核服务类别

   此处显示了可用于此服务的供应商服务的列表。

1. 选择供应商。AWS Marketplace 显示有关数据标注服务或人工审核服务的详细信息。使用此信息可以确定供应商是否满足您的任务要求。

1. 如果供应商满足您的要求，请选择**继续订阅**。

1. 查看订阅的详细信息。如果您同意接受条款，选择**订阅**以完成服务的订阅。

# 私有人力
<a name="sms-workforce-private"></a>

 **私有人力**是*您*选择的一组工作人员。他们可能是贵公司的员工，也可能是您所在行业的一组主题专家。例如，如果任务是标注医疗图像，您可以创建一个由对相关图像具有相关知识的人员组成的私有人力。

每个 AWS 账户均可访问每个区域中的一个私有人力，并且拥有者能够在该人力中创建多个**私有****工作团队**。可以使用单个私有工作团队完成一个标注作业/人员审核任务或一个*作业*。您可以将每个工作团队分配给一个单独的作业，也可以使用单个团队完成多个作业。一个工作人员可以参加多个工作团队。

您的私有人力可以使用 [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) 或您自己的私有 OpenID Connect (OIDC) 身份提供者 (IdP) 来创建和管理。

如果您是 [Amazon SageMaker Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms.html) 或 [Amazon Augmented AI](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html) 的新用户，并且不需要使用自己的 IdP 来管理您的工作人员，建议您使用 Amazon Cognito 来创建和管理私有人力。

在创建人力之后，除了创建和管理工作团队之外，还可以执行以下操作：
+ [跟踪工作人员性能](https://docs.aws.amazon.com/sagemaker/latest/dg/workteam-private-tracking.html)
+ [创建和管理 Amazon SNS 主题](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-sns.html)，以便在有标注作业可用时通知工作人员
+ [使用 IP 地址管理私有人力对任务的访问](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-api.html)

**注意**  
您的私有人力在 Ground Truth 和 Amazon A2I 之间共享。要创建和管理 Augmented AI 使用的私有工作团队，请使用 SageMaker AI 控制台的 Ground Truth 部分。

**Topics**
+ [

# Amazon Cognito Workforces
](sms-workforce-private-use-cognito.md)
+ [

# OIDC IdP Workforces
](sms-workforce-private-use-oidc.md)
+ [

# 使用 Amazon SageMaker API 进行私人劳动力管理
](sms-workforce-management-private-api.md)
+ [

# 跟踪工作人员绩效指标
](workteam-private-tracking.md)
+ [

# 创建 Amazon SNS 主题
](sms-workforce-management-private-sns.md)

# Amazon Cognito Workforces
<a name="sms-workforce-private-use-cognito"></a>

当您想使用 Amazon SageMaker AI 控制台创建人力或不希望产生管理工作人员凭证和身份验证的开销时，可以使用 Amazon Cognito 创建和管理您的私有人力。当您使用 Amazon Cognito 创建私有人力时，它会为您的私有工作人员提供身份验证、授权和用户管理。

**Topics**
+ [

# 创建私有人力 (Amazon Cognito)
](sms-workforce-create-private.md)
+ [

# 管理私有人力 (Amazon Cognito)
](sms-workforce-management-private.md)

# 创建私有人力 (Amazon Cognito)
<a name="sms-workforce-create-private"></a>

使用 Amazon Cognito 时，您可以通过以下方式之一创建私有人力：
+ 在创建标注作业时，创建新的人力。要了解如何操作，请参阅[在创建标注作业时创建 Amazon Cognito 人力](sms-workforce-create-private-console.md#create-workforce-labeling-job)。
+ 在创建标注作业之前，创建新的人力。要了解如何操作，请参阅[使用标注人力页面创建 Amazon Cognito 人力](sms-workforce-create-private-console.md#create-workforce-sm-console)。
+ 在 Amazon Cognito 控制台中创建用户池后，导入现有人力。要了解如何操作，请参阅[创建私有人力（Amazon Cognito 控制台）](sms-workforce-create-private-cognito.md)。

创建私有人力后，该人力及其关联的所有工作团队和工作人员都可用于所有 Ground Truth 标注作业任务和 Amazon Augmented AI 人工审核工作流任务。

如果您不熟悉 Amazon SageMaker AI 并想测试 Ground Truth 或 Amazon A2I，我们建议您使用控制台创建一个由组织中的人员组成的私人工作团队。在创建标注或人工审核工作流（流程定义）以测试工作人员 UI 和作业工作流时，请使用此工作团队。

**Topics**
+ [

# 创建私人员工（Amazon A SageMaker I 控制台）
](sms-workforce-create-private-console.md)
+ [

# 创建私有人力（Amazon Cognito 控制台）
](sms-workforce-create-private-cognito.md)

# 创建私人员工（Amazon A SageMaker I 控制台）
<a name="sms-workforce-create-private-console"></a>

 您可以通过以下两种方式之一在 Amazon SageMaker AI 控制台中创建私人员工：
+ 在 Amazon G SageMaker round Truth 部分的**贴标任务**页面中创建贴标任务时。
+ 使用 Amazon G SageMaker roun **d Truth 部分的贴标员工**页面。如果您在为 Amazon A2I 人工审核工作流创建私有人力，请使用此方法。

这两种方法还可以创建一个默认的工作团队，其中包含人力的所有成员。此私有人力可用于 Ground Truth 和 Amazon Augmented AI 作业。

当您使用控制台创建私人员工队伍时， SageMaker AI 会使用 Amazon Cognito 作为员工的身份提供者。如果您想使用自己的 OpenID Connect (OIDC) 身份提供商 (IdP) 来创建和管理您的私人员工，则必须使用 API 操作创建员工队伍。 SageMaker `CreateWorkforce`要了解更多信息，请参阅[创建私有人力 (OIDC IdP)](sms-workforce-create-private-oidc.md)。

## 在创建标注作业时创建 Amazon Cognito 人力
<a name="create-workforce-labeling-job"></a>

如果您在创建标注作业时未创建私有人力，而选择使用私有工作人员，则系统会提示您创建一个工作团队。这将使用 Amazon Cognito 创建一个私有人力。

**在创建标注作业时创建人力（控制台）**

1.  打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在导航窗格中，选择**标注作业**并填写所有必填字段。有关如何启动标注作业的说明，请参阅[入门：使用 Ground Truth 创建边界框标注作业](sms-getting-started.md)。选择**下一步**。

1. 为人力类型选择**私有**。

1. 在**工作人员**部分中，输入：

   1. **团队名称**。 

   1. 最多 100 名人力成员的电子邮件地址。电子邮件地址区分大小写。您的工作人员必须使用与最初输入地址时使用的相同大小写进行登录。可以在创建作业后添加其他人力成员。

   1. 您的组织名称。 SageMaker AI 使用它来定制发送给工作人员的电子邮件。

   1. 工作人员报告与任务相关的问题时所使用的联系电子邮件地址。

当您创建标注作业时，将向每个工作人员发送一封电子邮件以邀请他们加入人力。创建员工队伍后，您可以使用 SageMaker AI 控制台或 Amazon Cognito 控制台添加、删除和禁用工作人员。

## 使用标注人力页面创建 Amazon Cognito 人力
<a name="create-workforce-sm-console"></a>

要使用 Amazon Cognito 创建和管理私有人力，您可以使用**标注人力**页面。在按照以下说明操作时，您可以选择通过输入工作人员电子邮件或从 Amazon Cognito 用户池导入预先存在的人力来创建私有人力。要导入人力，请参阅[创建私有人力（Amazon Cognito 控制台）](sms-workforce-create-private-cognito.md)。

**使用工作人员电子邮件创建私有人力**

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在导航窗格中，选择**标注人力**。

1. 选择**私有**，然后选择**创建私有团队**。

1. 选择**通过电子邮件邀请新工作人员**。

1. 在电子邮件地址框中粘贴或键入包含最多 50 个电子邮件的列表，以逗号分隔。

1. 输入组织名称和联系人电子邮件。

1. 可以选择团队订阅的 SNS 主题，以便在新的 Ground Truth 标注作业可用时通过电子邮件通知工作人员。Ground Truth 支持 Amazon SNS 通知，而 Augmented AI 不支持。如果您将工作人员订阅为接收 SNS 通知，他们将仅接收有关 Ground Truth 标注作业的通知，而不会收到有关 Augmented AI 任务的通知。

1.  单击**创建私有团队**按钮。

在导入私有人力后，刷新页面。在**私有人力摘要**页面上，您可以看到有关人力的 Amazon Cognito 用户池的信息、人力的工作团队的列表，以及您的私有人力的所有成员的列表。

**注意**  
如果您删除所有私有工作团队，则必须重复此过程才能在该区域内使用私有人力。

# 创建私有人力（Amazon Cognito 控制台）
<a name="sms-workforce-create-private-cognito"></a>

 Amazon Cognito 用于定义和管理您的私有人力和工作团队。这是一项服务，可用于为工作人员创建身份并通过身份提供者对这些身份进行验证。  私有人力对应于单个 **Amazon Cognito 用户池**。私有工作团队对应于该用户池中的 **Amazon Cognito 用户组**。  

 Amazon Cognito 支持的示例身份提供者：
+ 社交登录提供者，例如 Facebook 和 Google 
+ OpenID Connect (OIDC) 提供者 
+ 安全断言标记语言 (SAML) 提供者，如 Active Directory 
+ Amazon Cognito 内置身份提供者 

 有关更多信息，请参阅 [Amazon Cognito 是什么？](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html)

要使用 Amazon Cognito 创建私有人力，您现在必须拥有一个包含至少一个用户组的 Amazon Cognito 用户池。请参阅[教程：创建用户池](https://docs.aws.amazon.com/cognito/latest/developerguide/tutorial-create-user-pool.html)以了解如何创建用户池。请参阅[将组添加到用户池](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html)以了解如何将用户组添加到群体。

创建用户池后，请按照以下步骤将该用户池导入 Amazon A SageMaker I 来创建私人员工。

**通过导入 Amazon Cognito 用户池来创建私有人力**

1. 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在导航窗格中，选择**标注人力**。

1. 选择**私有**。

1. 选择**创建私有团队**。这将创建一个私有人力和一个工作团队。

1. 选择**从现有 Amazon Cognito 用户组导入工作人员**。

1. 选择已创建的用户池。用户池需要域和现有用户组。如果您收到缺少域的错误，请在 Amazon Cognito 控制台的**应用程序集成**页面的**域名**选项中，为您的组进行设置。

1. 选择一个应用程序客户端。我们建议使用由 SageMaker AI 生成的客户端。

1. 从池中选择一个用户组以导入其成员。

1. （可选）选择团队订阅的 Amazon Simple Notification Service (Amazon SNS) 主题，以便在有新的标注作业可用时通过电子邮件通知工作人员。Ground Truth 支持 Amazon SNS 通知，而 Augmented AI 不支持。如果您将工作人员订阅为接收 SNS 通知，他们将仅接收有关 Ground Truth 标注作业的通知，而不会收到有关 Augmented AI 任务的通知。

1. 选择**创建私有团队**。

**重要**  
使用 Amazon Cognito 用户池创建员工后，如果不先在 A SageMaker I 控制台中删除与该用户池关联的所有工作团队，则不应将其删除。  

 在导入私有人力后，请刷新页面以查看**私有人力摘要**页面。在此页面上，您可以看到有关人力的 Amazon Cognito 用户池的信息、人力的工作团队的列表，以及您的私有人力的所有成员的列表。现在，这支员工队伍可以在 Amazon Agumented AI 和 Amazon G SageMaker round Truth 中分别用于人工审查任务和数据标签工作。

# 管理私有人力 (Amazon Cognito)
<a name="sms-workforce-management-private"></a>

使用 Amazon Cognito 创建私人员工队伍后，您可以使用 Ama SageMaker zon AI 控制台和 API 操作创建和管理工作团队。

您可以使用 [SageMaker AI 控制台或 A [mazon Cognito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-cognito.html) 控制台](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-console.html)执行以下操作。
+ 添加和删除工作团队。
+ 将工作人员添加到您的人力和一个或多个工作团队。
+ 从您的人力和一个或多个工作团队中禁用或删除工作人员。如果您使用 Amazon Cognito 控制台将工作人员添加到人力，则必须使用同一控制台从人力中删除工作人员。

您可以使用 SageMaker API 将任务的访问权限限制为特定 IP 地址的工作人员。有关更多信息，请参阅 [使用 Amazon SageMaker API 进行私人劳动力管理](sms-workforce-management-private-api.md)。

**Topics**
+ [

# 管理员工（Amazon SageMaker AI 控制台）
](sms-workforce-management-private-console.md)
+ [

# 管理私有人力（Amazon Cognito 控制台）
](sms-workforce-management-private-cognito.md)

# 管理员工（Amazon SageMaker AI 控制台）
<a name="sms-workforce-management-private-console"></a>

您可以使用 Amazon SageMaker AI 控制台来创建和管理构成私人劳动力的工作团队和个体员工。

可使用工作团队将您的私有人力的成员分配给一个标注或人工审核*作业*。当你使用 SageMaker AI 控制台创建员工队伍时，有一个名为 **E** 的工作团队veryone-in-private-workforce可以让你为所有员工分配一份工作。由于导入的 Amazon Cognito 用户池可能包含您不想包含在工作团队中的成员，因此不会为 Amazon Cognito 用户池创建类似的工作团队。

 您可选择两种方法来创建新的工作团队：
+ 您可以在 SageMaker AI 控制台中创建工作团队，并将员工中的成员添加到团队中。
+ 您可以使用 Amazon Cognito 控制台创建用户组，然后通过导入用户组来创建一个工作团队。您可以将多个用户组导入到每个工作团队。通过在 Amazon Cognito 控制台中更新用户组来管理工作团队的成员。请参阅[管理私有人力（Amazon Cognito 控制台）](sms-workforce-management-private-cognito.md)了解更多信息。  

## 使用 SageMaker AI 控制台创建工作团队
<a name="create-workteam-sm-console"></a>

您可以使用 A SageMaker I 控制台在**员工标签**页面上创建新的 Amazon Cognito 用户组或导入现有用户组。有关在 Amazon Cognito 控制台中创建用户组的更多信息，请参阅[管理私有人力（Amazon Cognito 控制台）](sms-workforce-management-private-cognito.md)。

**使用 SageMaker AI 控制台创建工作团队**

1. 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 从左侧菜单中，选择**标注人力**。

1.  在**私有**下，选择**创建私有团队**。

1. 在**团队详细信息**下，输入**团队名称**。该名称在您所在 AWS 地区的账户中必须是唯一的。

1. 在**添加工作人员**下，选择使用用户组向团队添加工作人员的方法。
   + 如果您选择**通过向新的 Amazon Cognito 用户组添加工作人员来创建团队**，请选择要添加到团队的工作人员。
   + 如果您选择**通过导入现有 Amazon Cognito 用户组创建团队**，请选择作为新团队一部分的用户组。

1. 如果您选择一个 **SNS 主题**，则添加到团队的所有工作人员将订阅该 Amazon SNS 主题，并在团队具有新的工作项时收到通知。从现有的 Ground Truth 相关 Amazon SNS 主题列表中进行选择，或选择**创建新的主题**以打开主题创建对话框。

   Ground Truth 支持 Amazon SNS 通知，而 Augmented AI 不支持。如果您将工作人员订阅为接收 SNS 通知，他们将仅接收有关 Ground Truth 标注作业的通知，而不会收到有关 Augmented AI 任务的通知。

如果工作团队具有新的 Ground Truth 标注作业或作业即将到期，该团队中订阅某个主题的工作人员将会收到通知。

 有关使用 Amazon SNS 主题的更多信息，请阅读[创建 Amazon SNS 主题](sms-workforce-management-private-sns.md)。

### 订阅
<a name="subscriptions"></a>

创建工作团队后，您可以通过访问 Amazon Cognito 控制台查看有关该团队的更多信息以及更改或设置其成员订阅的 Amazon SNS 主题。如果在为团队订阅主题之前添加了任何团队成员，则需要手动为这些成员订阅该主题。有关创建和管理 Amazon SNS 主题的更多信息，请参阅[为工作团队创建和管理 Amazon SNS 主题](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-private-sns.html)。

## 添加或删除工作人员
<a name="add-remove-workers-sm"></a>

 *工作团队*是人力中您可以向其分配作业的一组工作人员。工作人员可以添加到多个工作团队中。将工作人员添加到工作团队后，可以禁用或删除该工作人员。

### 将工作人员添加到人力
<a name="add-workers-sm-console"></a>

 通过将一个工作人员添加到人力，您可以将该工作人员添加到人力中的任何工作团队。  

**使用私有人力摘要页面添加工作人员**

1. 打开 Amazon A SageMaker I 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 选择**标注人力**以导航到私有人力摘要页面。

1. 选择**私有**。

1. 选择**邀请新工作人员**。

1. 在电子邮件地址框中粘贴或键入电子邮件地址列表，以逗号分隔。此列表中最多可包含 50 个电子邮件地址。

### 将工作人员添加到工作团队
<a name="add-worker-workteam-sm-console"></a>

 必须先将工作人员添加到人力，然后才能将其添加到工作团队。要将工作人员添加到工作团队，请首先使用上述步骤导航到**私有人力摘要**页面。

**从私有人力摘要页面将工作人员添加到工作团队**

1. 在**私有团队**部分中，选择要将工作人员添加到的团队。

1. 选择**工作人员**选项卡。

1. 选择**将工作人员添加到团队**，并选中要添加的工作人员旁边的框。

1. 单击**将工作人员添加到团队**。

### 禁用工作人员并将其从人力中删除
<a name="disable-remove-workers-console"></a>

禁用工作人员将使其不再接收作业。此操作不会从人力中删除工作人员，也不会从与工作人员关联的任何工作团队中删除工作人员。要禁用工作人员或从工作团队中删除工作人员，请首先使用上述步骤导航到私有人力摘要页面。

**使用私有人力摘要页面停用工作人员**

1. 在**工作人员**部分中，选择要禁用的工作人员。

1. 选择**禁用**。

 如果需要，您可以在禁用工作人员后再将其**启用**。

如果员工已添加到该控制台中，则可以直接在 SageMaker AI 控制台中从私人员工中移除该员工。如果已在 Amazon Cognito 控制台中添加工作人员（用户），请参阅[管理私有人力（Amazon Cognito 控制台）](sms-workforce-management-private-cognito.md)以了解如何在 Amazon Cognito 控制台中删除工作人员。

**使用私有人力摘要页面删除工作人员**

1. 在**工作人员**部分中，选择要删除的工作人员。

1. 如果尚未禁用工作人员，请选择**禁用**。  

1. 选择工作人员，然后选择**删除**。

# 管理私有人力（Amazon Cognito 控制台）
<a name="sms-workforce-management-private-cognito"></a>

私有人力对应于单个 **Amazon Cognito 用户池**。私有工作团队对应于该用户池中的 **Amazon Cognito 用户组**。工作人员对应于这些组中的 **Amazon Cognito 用户**。

在创建人力后，您可以通过 Amazon Cognito 控制台添加工作团队和各个工作人员。此外，在 Amazon Cognito 控制台中，您可以从私有人力中删除工作人员，或从各个团队中移除工作人员。

**重要**  
无法从 Amazon Cognito 控制台中删除工作团队。删除与亚马逊 A SageMaker I 工作团队关联的 Amazon Cognito 用户组将导致错误。要移除工作团队，请使用 A SageMaker I 控制台。  

## 创建工作团队（Amazon Cognito 控制台）
<a name="create-work-teams-cog"></a>

 可以通过将 Amazon Cognito 用户组添加到与私有人力关联的用户池来创建新的工作团队以完成作业。要将 Amazon Cognito 用户组添加到现有工作人员群体，请参阅[将组添加到用户池](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html)。  

**使用现有 Amazon Cognito 用户组创建工作团队**

1. 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在导航窗格中，选择**人力**。

1. 对于**私有团队**，选择**创建私有团队**。

1. 在**团队详细信息**下，给该团队命名。该名称在您所在 AWS 地区的账户中必须是唯一的。

1. 对于**添加工作人员**，选择**导入现有 Amazon Cognito 用户组**，然后选择作为新团队的一部分的一个或多个用户组。

1. 如果您选择一个 **SNS 主题**，则添加到团队的所有工作人员都将订阅该 Amazon Simple Notification Service (Amazon SNS) 主题，并在团队具有新的工作项时收到通知。从与 G SageMaker round Truth 或 Amazon Agumented AI 相关的现有 SNS 主题列表中进行选择，或者选择 “**创建新主题**” 来创建主题。
**注意**  
Ground Truth 支持 Amazon SNS 通知，而 Augmented AI 不支持。如果您将工作人员订阅为接收 SNS 通知，他们将仅接收有关 Ground Truth 标注作业的通知，而不会收到有关 Augmented AI 任务的通知。

### 订阅
<a name="subscriptions-cog-workteam"></a>

创建工作团队后，您可以使用 Amazon Cognito 控制台查看有关该团队的更多信息，以及更改或设置其成员订阅的 SNS 主题。如果在为团队订阅主题之前添加了任何团队成员，则需要手动为这些成员订阅该主题。有关更多信息，请参阅 [创建 Amazon SNS 主题](sms-workforce-management-private-sns.md)。

## 添加和删除工作人员（Amazon Cognito 控制台）
<a name="add-remove-workers-cog"></a>

 在使用 Amazon Cognito 控制台将工作人员添加到工作团队时，必须先将一个用户添加到与人力关联的用户池，然后再将该用户添加到用户组。可通过多种方式将用户添加到用户池。有关更多信息，请参阅[注册并确认用户账户](https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html)。

### 将工作人员添加到工作团队
<a name="add-worker-workteam-cog"></a>

在将一个用户添加到一个群体中后，此用户可与该群体内的用户组关联。在将一个用户添加到一个用户组后，此用户将成为使用该用户组创建的任何工作团队的工作人员。

**将用户添加到用户组**

1. 打开亚马逊 Cognito 控制台：。[https://console.aws.amazon.com/cognito/](https://console.aws.amazon.com/cognito)

1. 选择**管理用户池**。

1. 选择与您的 SageMaker AI 工作人员关联的用户池。  

1. 在**常规设置**下，选择**用户和组**，并执行下列操作之一：
   + 选择**组**，再选择要将用户添加到的组，然后选择**添加用户**。选择要添加的用户，方法是选择用户名右侧的加号图标。  
   + 选择**用户**，再选择要添加到用户组的用户，然后选择**添加到组**。从下拉菜单中选择组，然后选择**添加到组**。

### 禁用工作人员并将其从工作团队中删除
<a name="disable-remove-workers-cog"></a>

禁用后的工作人员将不再收到作业。此操作不会从人力中删除工作人员，也不会从与工作人员关联的任何工作团队中删除工作人员。要在 Amazon Cognito 中删除工作团队中的一个用户，请从与工作团队关联的用户组中删除该用户。

**停用工作人员（Amazon Cognito 控制台）**

1. 打开亚马逊 Cognito 控制台：。[https://console.aws.amazon.com/cognito/](https://console.aws.amazon.com/cognito)

1. 选择**管理用户池**。

1. 选择与您的 SageMaker AI 工作人员关联的用户池。

1. 在**常规设置**下，选择**用户和组**。

1. 选择要禁用的用户。

1. 选择**禁用用户**。

可以通过选择**启用用户**来启用已禁用的用户。  

**从用户组中删除用户（Amazon Cognito 控制台）**

1. 打开亚马逊 Cognito 控制台：。[https://console.aws.amazon.com/cognito/](https://console.aws.amazon.com/cognito)

1. 选择**管理用户池**。

1. 选择与您的 SageMaker AI 工作人员关联的用户池。  

1. 在**常规设置**下，选择**用户和组**。

1. 对于**用户**选项卡，选择要从中删除用户的组右侧的 **X** 图标。

# OIDC IdP Workforces
<a name="sms-workforce-private-use-oidc"></a>

当您想使用自己的 OpenID Connect (OIDC) 身份提供者 (IdP) 管理和验证员工时，可使用 OIDC IdP 创建私有人力。工作人员的个人凭证和其他数据将保密。Ground Truth 和 Amazon A2I 只能看到您通过向这些服务发送的声明所提供的工作人员信息。要使用 OIDC IdP 创建人力，您的 IdP 必须支持*组*，因为 Ground Truth 和 Amazon A2I 会将您 IdP 中的一个或多个组映射到一个工作团队。要了解更多信息，请参阅[向 Ground Truth 和 Amazon A2I 发送必需和可选的声明](sms-workforce-create-private-oidc.md#sms-workforce-create-private-oidc-configure-idp)。

如果您是 Ground Truth 或 Amazon A2I 的新用户，可以通过创建一个私有工作团队并将自己添加为工作人员来测试您的工作人员 UI 和作业工作流。创建标注作业或人工审核工作流时，请使用此工作团队。首先，按照[创建私有人力 (OIDC IdP)](sms-workforce-create-private-oidc.md)中的说明创建私有 OIDC IdP 人力。接下来，请参阅[管理私有人力 (OIDC IdP)](sms-workforce-manage-private-oidc.md)以了解如何创建工作团队。

**Topics**
+ [

# 创建私有人力 (OIDC IdP)
](sms-workforce-create-private-oidc.md)
+ [

# 管理私有人力 (OIDC IdP)
](sms-workforce-manage-private-oidc.md)

# 创建私有人力 (OIDC IdP)
<a name="sms-workforce-create-private-oidc"></a>

当您想使用自己的 OpenID Connect (OIDC) 身份提供者 (IdP) 对工作人员进行身份验证和管理时，请使用身份提供者创建一个私有人力。使用此页面学习如何配置您的 IdP 以与 Amazon Ground Truth（G SageMaker round Truth）或亚马逊增强人工智能（Amazon A2I）进行通信，并学习如何使用您自己的 IdP 创建员工队伍。

要使用 OIDC IdP 创建人力，您的 IdP 必须支持*组*，因为 Ground Truth 和 Amazon A2I 会使用您指定的一个或多个组来创建工作团队。您可以使用工作团队为标注作业和人工审核任务指定工作人员。由于组不是一种[标准声明](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)，您的 IdP 可能会对一组用户（工作人员）采用不同的命名约定。因此，您必须使用从 IdP 发送到 Ground Truth 或 Amazon A2I 的自定义声明 `sagemaker:groups` 来识别工作人员所属的一个或多个用户组。要了解更多信息，请参阅[向 Ground Truth 和 Amazon A2I 发送必需和可选的声明](#sms-workforce-create-private-oidc-configure-idp)。

您可以使用 API 操作创建 OIDC IdP 员工。 SageMaker [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)创建私有人力后，该人力及其关联的所有工作团队和工作人员都可用于所有 Ground Truth 标注作业任务和 Amazon A2I 人工审核工作流任务。要了解更多信息，请参阅[创建 OIDC IdP 人力](#sms-workforce-create-private-oidc-createworkforce)。

## 向 Ground Truth 和 Amazon A2I 发送必需和可选的声明
<a name="sms-workforce-create-private-oidc-configure-idp"></a>

当您使用自己的 IdP 时，Ground Truth 和 Amazon A2I 会通过从您的 `AuthorizationEndpoint` 获得身份验证 CODE，使用 `Issuer`、`ClientId` 和 `ClientSecret` 对工作人员进行身份验证。

Ground Truth 和 Amazon A2I 将使用此 CODE 从 IdP 的 `TokenEndpoint` 或 `UserInfoEndpoint` 获取自定义声明。您可以配置 `TokenEndpoint` 以返回 JSON Web 令牌 (JWT)，或配置 `UserInfoEndpoint` 以返回 JSON 对象。JWT 或 JSON 对象必须包含您指定的必需和可选声明。[声明](https://openid.net/specs/openid-connect-core-1_0.html#Terminology)是一个键值对，其中包含有关工作人员的信息或有关 OIDC 服务的元数据。下表列出了 IdP 返回的 JWT 或 JSON 对象中必须包含和可以选择包含的声明。

**注意**  
下表中的某些参数可以使用 `:` 或 `-` 指定。例如，您可以使用声明中的 `sagemaker:groups` 或 `sagemaker-groups` 指定工作人员所属的组。


|  Name  | 必需 | 接受的格式和值 | 说明 | 示例 | 
| --- | --- | --- | --- | --- | 
|  `sagemaker:groups` 或 `sagemaker-groups`  |  是  |  **数据类型**： 如果工作人员属于单个组，请使用字符串标识该组。 如果工作人员属于多个组，请使用最多 10 个字符串的列表。 **允许的字符**： Regex：[\$1p\$1L\$1\$1p\$1M\$1\$1p\$1S\$1\$1p\$1N\$1\$1p\$1P\$1]\$1 **限额**： 每个工作人员 10 个组 每个组名称 63 个字符  |  将工作人员分配给一个或多个组。组用于将工作人员映射到工作团队。  |  属于单个组的工作人员示例：`"work_team1"` 属于多个组的工作人员示例：`["work_team1", "work_team2"]`  | 
|  `sagemaker:sub` 或 `sagemaker-sub`  |  是  |  **数据类型**： 字符串  |  这对于在 Ground Truth 平台内跟踪工作人员身份进行审计以及识别该工作人员处理的任务是必需的。 对于 ADFS：客户必须使用主安全标识符 (SID)。  |  `"111011101-123456789-3687056437-1111"`  | 
|  `sagemaker:client_id` 或 `sagemaker-client_id`  |  是  |  **数据类型**： 字符串 **允许的字符**： Regex：[\$1w\$1-]\$1 **限额**： 128 个字符   |  客户端 ID。必须为此客户端 ID 发放所有令牌。  |  `"00b600bb-1f00-05d0-bd00-00be00fbd0e0"`  | 
|  `sagemaker:name` 或 `sagemaker-name`  |  是  |  **数据类型**： 字符串  |  要在工作人员门户中显示的工作人员名称。  |  `"Jane Doe"`  | 
|  `email`  |  否  |  **数据类型**： 字符串  |  工作人员的电子邮件。Ground Truth 使用此电子邮件通知工作人员，他们已被邀请参加标注任务。如果您为工作人员所在的工作团队设置了 Amazon SNS 主题，Ground Truth 还会在标注任务可用时使用此电子邮件通知该工作人员。  |  `"example-email@domain.com"`  | 
|  `email_verified`  |  否  |  **数据类型**： 布尔型 **接受的值**： `True`, `False`  |  指示用户电子邮件是否经过验证。  |  `True`  | 

以下是您的 `UserInfoEndpoint` 可以返回的 JSON 对象语法示例。

```
{
    "sub":"122",
    "exp":"10000",
    "sagemaker-groups":["group1","group2"]
    "sagemaker-name":"name",
    "sagemaker-sub":"122",
    "sagemaker-client_id":"123456"
}
```

Ground Truth 或 Amazon A2I 会对 `sagemaker:groups` 或 `sagemaker-groups` 中列出的组进行比较，以验证您的工作人员是否属于标注作业或人工审核任务中指定的工作团队。验证工作团队后，标注作业或人工审核任务将发送给该工作人员。

## 创建 OIDC IdP 人力
<a name="sms-workforce-create-private-oidc-createworkforce"></a>

您可以使用 SageMaker API 操作`CreateWorkforce`和相关的特定语言 SDKs创建员工。在参数 `OidcConfig` 中指定 `WorkforceName` 和有关 OIDC IDP 的信息。建议您使用占位符重定向 URI 配置 OIDC，然后在创建人力后使用工作人员门户 URL 更新 URI。要了解更多信息，请参阅[配置 OIDC IdP](#sms-workforce-create-private-oidc-configure-url)。

下面显示了一个请求示例。请参阅 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)，了解有关此请求中每个参数的更多信息。

```
CreateWorkforceRequest: {
    #required fields
    WorkforceName: "example-oidc-workforce",
    OidcConfig: { 
        ClientId: "clientId",
        ClientSecret: "secret",
        Issuer: "https://example-oidc-idp.com/adfs",
        AuthorizationEndpoint: "https://example-oidc-idp.com/adfs/oauth2/authorize",
        TokenEndpoint: "https://example-oidc-idp.com/adfs/oauth2/token",
        UserInfoEndpoint: "https://example-oidc-idp.com/adfs/oauth2/userInfo",
        LogoutEndpoint: "https://example-oidc-idp.com/adfs/oauth2/log-out",
        JwksUri: "https://example-oidc-idp.com/adfs/discovery/keys"
    },
    SourceIpConfig: {
        Cidrs: ["string", "string"]
    }
}
```

### 配置 OIDC IdP
<a name="sms-workforce-create-private-oidc-configure-url"></a>

如何配置 OIDC IdP 取决于您使用的 IdP 和您的业务需求。

配置 IdP 时，必须指定回调或重定向 URI。在 Ground Truth 或 Amazon A2I 对工作人员进行身份验证后，此 URI 将工作人员重定向到工作人员门户，工作人员可以在那里访问标注或人工审核任务。要创建工作人员门户 URL，需要使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html) API 操作创建一个包含 OIDC IdP 详细信息的人力。具体来说，您必须使用所需的自定义 sagemaker 声明配置 OIDC IdP（详见下一节）。因此，建议您使用占位重定向 URI 配置 OIDC，然后在创建人力后更新 URI。请参阅[创建 OIDC IdP 人力](#sms-workforce-create-private-oidc-createworkforce)，了解如何使用此 API 创建人力。

您可以在 G SageMaker round Truth 控制台中或使用 SageMaker API 操作查看您的工作人员门户网址`DescribeWorkforce`。工作人员门户 URL 位于响应的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Workforce.html#sagemaker-Type-Workforce-SubDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Workforce.html#sagemaker-Type-Workforce-SubDomain) 参数中。

**重要**  
确保将人力子域添加到 OIDC IdP 允许列表中。将子域添加到允许列表时，它必须以 `/oauth2/idpresponse` 结尾。

**在创建私有人力后查看工作人员门户 URL（控制台）：**

1. 打开 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在导航窗格中，选择**标注人力**。

1. 选择**私有**选项卡。

1. 在**私有人力摘要**中，您将看到**标注门户登录 URL**。这是您的工作人员门户 URL。

**在创建私有人力后查看工作人员门户 URL (API)：**

使用 `[CreateWorkforce](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)` 创建私有人力时，需要指定一个 `WorkforceName`。使用此名称调用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)。下表包括使用 AWS CLI 和的请求示例 适用于 Python (Boto3) 的 AWS SDK。

------
#### [ SDK for Python (Boto3) ]

```
response = client.describe_workforce(WorkforceName='string')
print(f'The workforce subdomain is: {response['SubDomain']}')
```

------
#### [ AWS CLI ]

```
$ C:\>  describe-workforce --workforce-name 'string'
```

------

## 验证 OIDC IdP 人力身份验证响应
<a name="sms-workforce-create-private-oidc-validate"></a>

创建 OIDC IdP 人力后，可以通过以下过程使用 cURL 验证其身份验证工作流。此过程假定您可以访问终端，并已安装 cURL。

**要验证 OIDC IdP 授权响应，请执行以下操作：**

1. 使用如下配置的 URI 获取授权码：

   ```
   {AUTHORIZE ENDPOINT}?client_id={CLIENT ID}&redirect_uri={REDIRECT URI}&scope={SCOPE}&response_type=code
   ```

   1. 将 *`{AUTHORIZE ENDPOINT}`* 替换为 OIDC IdP 的授权端点。

   1. `{CLIENT ID}`替换为客户提供的客户 OAuth 端 ID。

   1. 将 *`{REDIRECT URI}`* 替换为工作人员门户 URL。如果 `/oauth2/idpresponse` 尚不存在，则必须将其添加到 URL 的末尾。

   1. 如果您有自定义范围，请使用它来替换 `{SCOPE}`。如果您没有自定义范围，请将 `{SCOPE}` 替换为 `openid`。

   下面是经过上述修改后的 URI 示例：

   ```
   https://example.com/authorize?client_id=f490a907-9bf1-4471-97aa-6bfd159f81ac&redirect_uri=https%3A%2F%2F%2Fexample.labeling.sagemaker.aws%2Foauth2%2Fidpresponse&response_type=code&scope=openid
   ```

1. 将步骤 1 中修改后的 URI 复制并粘贴到浏览器中，然后按键盘上的 Enter 键。

1. 使用 IdP 进行身份验证。

1. 复制 URI 中的身份验证码查询参数。此参数存在于 `code=`。以下是响应内容的示例。在此示例中，复制 `code=MCNYDB...` 和此后的所有内容。

   ```
   https://example.labeling.sagemaker.aws/oauth2/idpresponse?code=MCNYDB....
   ```

1. 在进行以下所列的必要修改后，打开终端并输入以下命令：

   ```
   curl --request POST \
     --url '{TOKEN ENDPOINT}' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=authorization_code \
     --data 'client_id={CLIENT ID}' \
     --data client_secret={CLIENT SECRET} \
     --data code={CODE} \
     --data 'redirect_uri={REDIRECT URI}'
   ```

   1. 将 `{TOKEN ENDPOINT}` 替换为 OIDC IdP 的令牌端点。

   1. `{CLIENT ID}`替换为客户提供的客户 OAuth 端 ID。

   1. `{CLIENT SECRET}`替换为来自您的 OAuth 客户端的客户机密钥。

   1. 将 `{CODE}` 替换为您在步骤 4 中复制的身份验证码查询参数。

   1. 将 *`{REDIRECT URI}`* 替换为工作人员门户 URL。

   下面是进行上述修改后的 cURL 请求示例：

   ```
   curl --request POST \
     --url 'https://example.com/token' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=authorization_code \
     --data 'client_id=f490a907-9bf1-4471-97aa-6bfd159f81ac' \
     --data client_secret=client-secret \
     --data code=MCNYDB... \
     --data 'redirect_uri=https://example.labeling.sagemaker.aws/oauth2/idpresponse'
   ```

1. 此步骤取决于 IdP 返回的 `access_token` 类型，是纯文本访问令牌还是 JWT 访问令牌。
   + 如果 IdP 不支持 JWT 访问令牌，则 `access_token` 可以是纯文本（例如 UUID）。您看到的响应可能类似于下面的内容。在这种情况下，请转到步骤 7。

     ```
     {
       "access_token":"179c144b-fccb-4d96-a28f-eea060f39c13",
       "token_type":"Bearer",
       "expires_in":3600,
       "refresh_token":"ef43e52e-9b4f-410c-8d4c-d5c5ee57631a",
       "scope":"openid"
     }
     ```
   + 如果 IdP 支持 JWT 访问令牌，则步骤 5 应生成 JWT 格式的访问令牌。例如，响应可能类似于下面的内容：

     ```
     {
         "access_token":"eyJh...JV_adQssw5c",
         "refresh_token":"i6mapTIAVSp2oJkgUnCACKKfZxt_H5MBLiqcybBBd04",
         "refresh_token_expires_in":6327,
         "scope":"openid",
         "id_token":"eyJ0eXAiOiJK9...-rDaQzUHl6cQQWNiDpWOl_lxXjQEvQ"
     }
     ```

     复制 JWT 并对其进行解码。您可以使用 python 脚本或第三方网站进行解码。例如，您可以访问网站 [https://jwt.io/](https://jwt.io/)，并将 JWT 粘贴到**编码**框中进行解码。

     确保解码后的响应包含以下内容：
     + 表格中的**必需** SageMaker 人工智能声明，请参见[向 Ground Truth 和 Amazon A2I 发送必需和可选的声明](#sms-workforce-create-private-oidc-configure-idp)。如果没有，则必须重新配置 OIDC IdP 以包含这些声明。
     + 您在设置 IdP 人力时指定的[发行者](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html#sagemaker-Type-OidcConfig-Issuer)。

1. 在进行下面列出的必要修改后，在终端中输入以下命令：

   ```
   curl -X POST -H 'Authorization: Bearer {ACCESS TOKEN}' -d '' -k -v {USERINFO ENDPOINT}
   ```

   1. 将 `{USERINFO ENDPOINT}` 替换为 OIDC IdP 的用户信息端点。

   1. 将 `{ACCESS TOKEN}` 替换为在步骤 7 中收到的响应中的访问令牌。这是 `"access_token"` 参数的条目。

   下面是进行上述修改后的 cURL 请求示例：

   ```
    curl -X POST -H 'Authorization: Bearer eyJ0eX...' -d '' -k -v https://example.com/userinfo
   ```

1. 对上述过程中最后一步的响应可能类似于下面的代码块。

   如果步骤 6 中返回的 `access_token` 是纯文本，则必须验证此响应是否包含所需信息。在这种情况下，响应中必须包含表中的 “**必需**的 SageMaker AI 声明” [向 Ground Truth 和 Amazon A2I 发送必需和可选的声明](#sms-workforce-create-private-oidc-configure-idp)。例如 `sagemaker-groups`、`sagamaker-name`。

   ```
   {
       "sub":"122",
       "exp":"10000",
       "sagemaker-groups":["group1","group2"]
       "sagemaker-name":"name",
       "sagemaker-sub":"122",
       "sagemaker-client_id":"123456"
   }
   ```

## 后续步骤
<a name="sms-workforce-create-private-oidc-next-steps"></a>

使用 IdP 创建私有人力并验证 IdP 身份验证响应后，可以使用 IdP 组创建工作团队。要了解更多信息，请参阅[管理私有人力 (OIDC IdP)](sms-workforce-manage-private-oidc.md)。

您可以将员工对任务的访问权限限制为特定 IP 地址，并使用 SageMaker API 更新或删除您的员工。要了解更多信息，请参阅[使用 Amazon SageMaker API 进行私人劳动力管理](sms-workforce-management-private-api.md)。

# 管理私有人力 (OIDC IdP)
<a name="sms-workforce-manage-private-oidc"></a>

使用 OpenID Connect (OIDC) 身份提供者 (IdP) 创建私有人力后，可以使用 IdP 管理工作人员。例如，您可以直接通过 IdP 添加、删除和分组工作人员。

要将工作人员添加到 Amazon G SageMaker round Truth（Ground Truth）标签作业或亚马逊增强人工智能（Amazon A2I）人工审核任务，您可以使用 1-10 个 IdP 小组创建工作团队，并将该工作团队分配给该工作或任务。在创建标注作业 (Ground Truth) 或人工审核工作流 (Amazon A2I) 时，您可以通过指定工作团队来为作业或任务分配工作团队。

您只能为每个标注作业或人工审核工作流分配一个团队。您可以使用同一个团队创建多个标注作业或人工审核任务。您还可以创建多个工作团队来处理不同的标注作业或人工审核任务。

## 先决条件
<a name="sms-workforce-manage-private-oidc-prerequisites"></a>

要使用 OIDC IdP 群组创建和管理私人工作团队，首先必须使用 API 操作创建员工。 SageMaker [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)要了解更多信息，请参阅[创建私有人力 (OIDC IdP)](sms-workforce-create-private-oidc.md)。

## 添加工作团队
<a name="sms-workforce-manage-private-oidc-workteams"></a>

**你可以使用 SageMaker AI 控制台在 Ground Truth **下的 “标签员工” 页面上使用你的 OIDC IdP 员工来创建私人工作**团队。**如果您正在创建 Ground Truth 标注作业，则还可以在创建标注作业时创建私有工作团队。

**注意**  
你可以在人工智能控制台的 Ground Truth 区域创建和管理亚马逊 A2 SageMaker I 的工作团队。

您还可以使用 SageMaker API 和相关的特定语言 SDKs 来创建私人工作团队。

使用以下步骤学习如何使用 SageMaker AI 控制台和 API 创建私人工作团队。

**在标注人力页面上创建私有工作团队（控制台）**

1. 前往 SageMaker AI 控制台的 Ground Truth 区域：g [https://console.aws.amazon.com/sagemaker/roundtrut](https://console.aws.amazon.com/sagemaker/groundtruth) h。

1. 选择**标注人力**。

1. 选择**私有**。

1. 在**私有团队**部分，选择**创建私有团队**。

1. 在**团队详细信息**部分，输入**团队名称**。

1. 在**添加工作人员**部分，输入单个用户组的名称。IdP 中与此组关联的所有工作人员都将添加到此工作团队中。

1. 要添加多个用户组，请选择**添加新用户组**，然后输入要添加到此工作团队的用户组的名称。每行输入一个用户组。

1. （可选）对于 Ground Truth 标注作业，如果您在 JWT 中为工作人员提供了电子邮件，则 Ground Truth 会在有新标注任务时通知工作人员（如果您选择了 SNS 主题）。

1. 选择**创建私有团队**。

**在创建 Ground Truth 标注作业时创建私有工作团队（控制台）**

1. 前往 SageMaker AI 控制台的 Ground Truth 区域：g [https://console.aws.amazon.com/sagemaker/roundtrut](https://console.aws.amazon.com/sagemaker/groundtruth) h。

1. 选择**标注作业**。

1. 按照[创建标注作业（控制台）](sms-create-labeling-job-console.md)中的说明来创建标注作业。当您到达第二页的**工作人员**部分时，请停止。

1. 选择**私有**作为您的工作人员类型。

1. 输入**团队名称**。

1. 在**添加工作人员**部分，在**用户组**下面输入单个用户组的名称。IdP 中与此组关联的所有工作人员都将添加到此工作团队中。
**重要**  
您为**用户组**指定的组名称必须与 OIDC IdP 中指定的组名称相匹配。

1. 要添加多个用户组，请选择**添加新用户组**，然后输入要添加到此工作团队的用户组的名称。每行输入一个用户组。

1. 完成所有剩余步骤以创建标注作业。

您创建的私人团队用于此标签工作，并列在 SageMaker AI 控制台的 “为**员工加标签**” 部分。

**使用 SageMaker API 创建私人工作团队**  
您可以使用 SageMaker API 操作创建私人工作团队`[CreateWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkteam.html)`。

使用此操作时，请在 `OidcMemberDefinition` 参数 `Groups` 中列出要包含在工作团队中的所有用户组。

**重要**  
您为 `Groups` 指定的组名称必须与 OIDC IdP 中指定的组名称匹配。

例如，在 OIDC IdP 中，如果用户组名称为 `group1`、`group2` 和 `group3`，则 `OidcMemberDefinition` 配置如下：

```
 "OidcMemberDefinition": { 
    "Groups": ["group1", "group2", "group3"]
  }
```

此外，您必须使用 `WorkteamName` 参数为工作团队提供一个名称。

## 在工作团队中添加或删除 IdP 组
<a name="sms-workforce-manage-private-oidc-workteam-update"></a>

创建工作团队后，您可以使用 SageMaker API 来管理该工作团队。使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkteam.html) 操作来更新该工作团队中包含的 IdP 用户组。
+ 使用 `WorkteamName` 参数来标识要更新的工作团队。
+ 使用此操作时，请在 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcMemberDefinition.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcMemberDefinition.html) 参数 `Groups` 中列出要包含在工作团队中的所有用户组。如果某个用户组与某个工作团队关联，而您*没有*将其包含在此列表中，则此用户组将不再与此工作团队关联。

## 删除工作团队
<a name="sms-workforce-manage-private-oidc-workteam-delete"></a>

您可以使用 SageMaker AI 控制台和 SageMaker API 删除工作团队。

**在 SageMaker AI 控制台中删除私人工作团队**

1. 前往 SageMaker AI 控制台的 Ground Truth 区域：g [https://console.aws.amazon.com/sagemaker/roundtrut](https://console.aws.amazon.com/sagemaker/groundtruth) h。

1. 选择**标注人力**。

1. 选择**私有**。

1. 在**私有团队**部分，选择要删除的工作团队。

1. 选择**删除**。

**删除私有工作团队 (API)**  
您可以使用 SageMaker API 操作删除私人工作团队`[DeleteWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)`。

## 管理单个工作人员
<a name="sms-workforce-manage-private-oidc-worker-manage"></a>

当您使用自己的 OIDC IdP 创建人力时，不能使用 Ground Truth 或 Amazon A2I 来管理单个工作人员。
+ 要将工作人员添加到工作团队，请将该工作人员添加到与该工作团队关联的组中。
+ 要从工作团队中删除工作人员，请从与该工作团队关联的所有用户组中删除该工作人员。

## 更新、删除和描述人力
<a name="sms-workforce-manage-private-oidc-workforce"></a>

您可以使用 API 更新、删除和描述您的 OIDC IdP 员工。 SageMaker 以下是可用于管理人力的 API 操作列表。有关其他详细信息，包括如何查找人力名称，请参阅[使用 Amazon SageMaker API 进行私人劳动力管理](sms-workforce-management-private-api.md)。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html) – 您可能需要更新使用自己的 OIDC IdP 创建的人力，以指定不同的授权端点、令牌端点或发行者。您可以使用此操作更新在 `[OidcConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html)` 中找到的任何参数。

  只有在没有与人力相关联的工作团队时，才能更新 OIDC IdP 配置。要了解如何删除工作团队，请参阅[删除工作团队](#sms-workforce-manage-private-oidc-workteam-delete)。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html) – 使用此操作可删除私有人力。如果有任何工作团队与人力相关联，则必须在删除人力之前删除这些工作团队。有关更多信息，请参阅 [删除工作团队](#sms-workforce-manage-private-oidc-workteam-delete)。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)— 使用此操作列出员工的私密信息，包括员工姓名、Amazon 资源名称 (ARN) 以及允许的 IP 地址范围 ()（CIDRs如果适用）。

# 使用 Amazon SageMaker API 进行私人劳动力管理
<a name="sms-workforce-management-private-api"></a>

您可以使用 Amazon SageMaker API 操作来管理、更新和删除您的私人员工。对于以下主题中列出的每个 API 操作，您可以在 API 文档的 “**另请参阅**” 部分中找到支持的特定语言 SDKs 及其文档的列表。

**Topics**
+ [

# 查找人力名称
](sms-workforce-management-private-api-name.md)
+ [

# 将工作人员访问任务的权限限制在允许的 IP 地址范围内
](sms-workforce-management-private-api-cidr.md)
+ [

# 启用双堆栈人力
](sms-workforce-management-private-api-dualstack.md)
+ [

# 更新 OIDC 身份提供者人力配置
](sms-workforce-management-private-api-update.md)
+ [

# 删除私有人力
](sms-workforce-management-private-api-delete.md)

# 查找人力名称
<a name="sms-workforce-management-private-api-name"></a>

某些与 SageMaker AI 劳动力相关的 API 操作需要您的员工姓名作为输入。您可以使用 API 操作在 AWS 某个地区查看您的 Amazon Cognito 或 OIDC IdP 个人和供应商员工姓名。[]() AWS 如果您使用自己的 OIDC IdP 创建了员工，则可以在人工智能控制台的 Ground Truth 区域找到您的员工姓名。 SageMaker 

**在 SageMaker AI 控制台中查找您的员工姓名**

1. 前往 SageMaker AI 控制台的 Ground Truth 区域：g [https://console.aws.amazon.com/sagemaker/roundtrut](https://console.aws.amazon.com/sagemaker/groundtruth) h。

1. 选择**标注人力**。

1. 选择**私有**。

1. 在**私有人力摘要**部分中，找到您的人力 ARN。人力名称位于此 ARN 的末尾。例如，如果 ARN 是 `arn:aws:sagemaker:us-east-2:111122223333:workforce/example-workforce`，则人力名称是 `example-workforce`。

# 将工作人员访问任务的权限限制在允许的 IP 地址范围内
<a name="sms-workforce-management-private-api-cidr"></a>

默认情况下，人力不受限于特定的 IP 地址。您可以使用该[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html)操作要求工作人员使用特定的 IP 地址范围 ([CIDRs](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) 来访问任务。如果您指定一个或多个 CIDRs，则尝试使用指定范围之外的任何 IP 地址访问任务的工作人员将被拒绝，并将在工作人员门户上收到 HTTP 204 No Content 错误消息。您最多可以使用 `UpdateWorkforce` 指定 10 个 CIDR 值。

将员工限制为一名或多名员工后 CIDRs，`UpdateWorkforce`列表的输出全部允许 CIDRs。您还可以使用该[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html)操作来查看员工的所有允许 CIDRs 范围。

# 启用双堆栈人力
<a name="sms-workforce-management-private-api-dualstack"></a>

您可以使用[CreateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateWorkforce.html)和 [UpdateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_UpdateWorkforce.html)API 操作启用双栈员工。中不支持创建双栈员工、将现有员工队伍更新为双栈员工，以及将员工队伍从双栈改回 IPv4 双栈员工。 AWS 管理控制台

**重要**  
没有定义的 `IpAddressType` 的人力默认为 `IPv4`。

## 创建双堆栈人力
<a name="sms-workforce-management-private-dualstack-create"></a>

创建双层员工队伍的过程与创建 IPv4仅限员工队伍的过程类似，但有以下例外情况。有关更多信息，请参阅 [CreateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_CreateWorkforce.html)。
+ 要将 VPC 连接到私有员工，请确保 VPC 也是双堆栈的， IPv6 CIDR 块与 VPC 的子网关联。
+ 要使用`SourceIpConfig`参数将流量限制到特定 IP 地址范围，请确保 IPv6 CIDR 块也包含在列表中。
+ 要在任务访问的 S3 存储桶上实施带有 `SourceIp` 条件的策略，请确保将这些策略更新为双堆栈兼容。
+ 身份提供者身份验证端点支持双堆栈。有关更多信息，请参阅 [Authentication flow](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/listener-authenticate-users.html#authentication-flow)。

**使用 boto3 的 `CreateWorkforce` SDK 调用示例**

有关更多信息，请参阅 [create\$1workforce](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_workforce.html#SageMaker.Client.create_workforce)。

```
import boto3

client = boto3.resource('sagemaker')

# IpAddressType = 'dualstack'|'ipv4'
client.create_workforce(
    WorkforceName='string',
    IpAddressType='dualstack',
    WorkforceConfig={
        'CognitoConfig': {
            'UserPool': 'string',
            'Client': 'string'
        }
    }
)
```

## 更新双堆栈人力
<a name="sms-workforce-management-private-dualstack-update"></a>

将现有人力更新为双堆栈时，请注意以下各项。有关更多信息，请参阅[UpdateWorkforce](https://docs.aws.amazon.com//sagemaker/latest/APIReference/API_UpdateWorkforce.html)和[对您的 VPC 的IPv6 支持](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-migrate-ipv6.html)。
+ 如果 VPC 已附加到人力，则必须将 VPC 更新为双堆栈。还要确保 VPC 的所有安全组都允许 IPv6流量。
+ 如果您使用的是`SourceIpConfig`参数，请将其更新为包含 IPv6 CIDR 块。
+ 要在任务访问的 S3 存储桶上实施带有 `SourceIp` 条件的策略，请确保将这些策略更新为双堆栈兼容。
+ 身份提供者身份验证端点支持双堆栈。有关更多信息，请参阅 [Authentication flow](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/listener-authenticate-users.html#authentication-flow)。

**使用 boto3 的 `UpdateWorkforce` SDK 调用示例**

有关更多信息，请参阅 [update\$1workforce](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_workforce.html#SageMaker.Client.update_workforce)。

```
import boto3

client = boto3.resource('sagemaker')

# IpAddressType = 'dualstack'|'ipv4'
client.update_workforce(
    WorkforceName='string',
    IpAddressType='dualstack'
)
```

# 更新 OIDC 身份提供者人力配置
<a name="sms-workforce-management-private-api-update"></a>

您可能需要更新使用自己的 OIDC IdP 创建的人力，以指定不同的授权端点、令牌端点或发行者。您可以使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateWorkforce.html) 操作更新在 `[OidcConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html)` 中找到的任何参数。

**重要**  
只有在没有与人力相关联的工作团队时，才能更新 OIDC IdP 配置。您可以使用 `[DeleteWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)` 操作删除私有工作团队。

# 删除私有人力
<a name="sms-workforce-management-private-api-delete"></a>

每个 AWS 地区只能有一名私人员工。在以下情况下，您可能需要删除某个 AWS 地区的私人员工：
+ 您想使用新的 Amazon Cognito 用户池创建人力。
+ 您已经使用 Amazon Cognito 创建了一个私有人力，并且您想使用自己的 OpenID Connect (OIDC) 身份提供者 (IdP) 创建一个人力。

要删除私有人力，请使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkforce.html) API 操作。如果有任何工作团队与人力相关联，则必须在删除人力之前删除这些工作团队。您可以使用 `[DeleteWorkteam](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html)` 操作删除私有工作团队。

# 跟踪工作人员绩效指标
<a name="workteam-private-tracking"></a>

 Amazon SageMaker Ground Truth 会将工作人员事件记录到 Amazon CloudWatch，如工作人员启动或提交任务时。使用 Amazon CloudWatch 指标来衡量和跟踪团队或单个工作人员的吞吐量。

**重要**  
工作人员事件跟踪不适用于 Amazon Augmented AI 人工审核工作流。

## 启用追踪
<a name="workteam-private-tracking-setup"></a>

 在新工作团队的设置过程中，将创建 Amazon CloudWatch 用于记录工作人员事件的权限。由于该功能是在 2019 年 8 月添加的，在此之前创建的工作团队可能没有正确的权限。如果您的所有工作团队都是在 2019 年 8 月之前创建的，请创建一个新的工作团队。它不需要任何成员，可以在创建后删除，但通过创建它，将建立权限并将权限应用于您的所有工作团队，无论这些团队何时创建都是如此。

## 使用日志跟踪指标
<a name="workteam-private-tracking-logs"></a>

 启用跟踪后，将记录工作人员的活动。打开 Amazon CloudWatch 控制台并在导航窗格中选择**日志**。您应看到一个名为 **/aws/sagemaker/groundtruth/WorkerActivity** 的日志组。

每个完成的任务将由一个日志条目表示，其中包含有关工作人员、他们的团队、作业、接受任务的时间以及任务提交时间的信息。

**Example 日志条目**  

```
{
  "worker_id": "cd449a289e129409",
  "cognito_user_pool_id": "us-east-2_IpicJXXXX",
  "cognito_sub_id": "d6947aeb-0650-447a-ab5d-894db61017fd",
  "task_accepted_time": "Wed Aug 14 16:00:59 UTC 2019",
  "task_submitted_time": "Wed Aug 14 16:01:04 UTC 2019",
  "task_returned_time": "",
  "task_declined_time": "",
  "workteam_arn": "arn:aws:sagemaker:us-east-2:############:workteam/private-crowd/Sample-labeling-team",
  "labeling_job_arn": "arn:aws:sagemaker:us-east-2:############:labeling-job/metrics-demo",
  "work_requester_account_id": "############",
  "job_reference_code": "############",
  "job_type": "Private",
  "event_type": "TasksSubmitted",
  "event_timestamp": "1565798464"
}
```

每个事件中有用的数据点是 `cognito_sub_id`。您可以将其与单个工作人员匹配。

1. 通过 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 打开 Amazon SageMaker AI 控制台。

1. 在 **Ground Truth** 部分下，选择**人力**。

1. 选择**私有**。

1. 选择**私有团队**部分中的团队名称。

1. 在**团队摘要**部分中，选择 **Amazon Cognito 用户组**下标识的用户组。这会将您带到 Amazon Cognito 控制台中的该组。

1. **组**页面列出了组中的用户。选择**用户名**列中任何用户的链接以查看有关该用户的更多信息，包括唯一的**子** ID。

要获取团队所有成员的信息，请使用 Amazon Cognito API 中的 [ListUsers](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html) 操作（[示例](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-listusers-api-examples)）。

## 使用 CloudWatch 管理控制台跟踪指标
<a name="workteam-private-tracking-metrics"></a>

如果您不想编写自己的脚本来处理和可视化原始日志信息，则 Amazon CloudWatch 指标会为您提供有关工作人员活动的见解。

**查看指标**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，选择**指标**。

1. 选择 `AWS/SageMaker/Workteam` 名称空间，然后探索[可用指标](monitoring-cloudwatch.md)。例如，选择**工作团队**和**人力**指标后，可以计算出特定标注作业的每个已提交任务的平均时间。

有关更多信息，请参阅[使用 Amazon CloudWatch 指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。

# 创建 Amazon SNS 主题
<a name="sms-workforce-management-private-sns"></a>

为工作团队通知创建 Amazon SNS 主题的步骤与《Amazon SNS 开发人员指南》**的[入门](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)中的步骤类似，但有一个重要补充：您必须添加访问策略，以便 Amazon SageMaker AI 可以代表您向主题发布消息。

如果您使用控制台创建工作团队，控制台会提供一个选项用于为团队创建新主题，这样您就无需执行这些步骤。

**重要**  
Amazon A2I 不支持 Amazon SNS 功能。如果您为工作团队订阅 Amazon SNS 主题，则工作人员只会收到有关 Ground Truth 标注作业的通知。工作人员不会收到有关新的 Amazon A2I 人工审核任务的通知。

**在创建主题时添加策略**

1. 通过 [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) 打开 Amazon SNS 控制台。

1. 在 **Create topic (创建主题)** 中，输入主题的名称，然后选择 **Next steps (后续步骤)**。

1. 在**访问策略** 中，选择**高级**。

1. 在 **JSON editor (JSON 编辑器)** 中，找到显示主题 ARN 的 `Resource` 属性。

1. 复制 `Resource` ARN 值。

1. 在最后一个右方括号 (`]`) 之前，添加以下策略。

   ```
       , {
           "Sid": "AwsSagemaker_SnsAccessPolicy",
           "Effect": "Allow",
           "Principal": {
               "Service": "sagemaker.amazonaws.com"
           },
           "Action": "sns:Publish",
           "Resource": "arn:partition:sns:region:111122223333:MyTopic", # ARN of the topic you copied in the previous step
           "Condition": {
               "ArnLike": {
                   "aws:SourceArn": "arn:partition:sagemaker:region:111122223333:workteam/*" # Workteam ARN
               },
               "StringEquals": {
                   "aws:SourceAccount": "111122223333" # SNS topic account
               }
           }
       }
   ```

1. 创建主题。

创建主题后，它将显示在 **Topics (主题)** 摘要屏幕中。有关创建主题的更多信息，请参阅 *Amazon SNS 开发人员指南*中的[创建主题](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-topic.html)。

# 管理工作人员订阅
<a name="workteam-private-sns-manage-topic"></a>

如果您在创建了工作团队之后，将工作团队订阅到某个主题，则在创建工作团队时添加到该团队的各个工作团队成员不会自动订阅主题。有关使用工作人员的电子邮件地址订阅主题的信息，请参阅 *Amazon SNS 开发人员指南*中的[使用端点订阅 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-create-subscribe-endpoint-to-topic.html)。

工作人员自动订阅您的主题的唯一情况是，当您在创建工作团队时创建或导入 Amazon Cognito 用户组***和***您在创建该工作团队时设置主题订阅。有关使用 Amazon Cognito 创建和管理工作团队的更多信息，请参阅 [创建工作团队（Amazon Cognito 控制台）](sms-workforce-management-private-cognito.md#create-work-teams-cog)。