

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Segurança e permissões do Ground Truth
<a name="sms-security-general"></a>

Use os tópicos desta página para saber mais sobre os atributos de segurança do Ground Truth e como configurar permissões do IAM do AWS Identity and Access Management para criar um trabalho de rotulagem. Além disso, saiba como criar um *perfil de execução*. Uma função de execução é a função que você especifica quando cria uma tarefa de rotulagem. Essa função é usada para iniciar o trabalho de rotulagem.

Se você for um novo usuário e quiser começar rapidamente ou se não precisar de permissões granulares, consulte [Use políticas gerenciadas do IAM com o Ground Truth](sms-security-permissions-get-started.md).

Para obter mais informações sobre Usuários e funções do IAM, consulte [Identidades (Usuários, grupos e funções)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) no Guia do usuário do IAM. 

Para saber mais sobre como usar o IAM com SageMaker IA, consulte[AWS Identity and Access Management para Amazon SageMaker AI](security-iam.md).

**Topics**
+ [Requisito do CORS para dados de imagem de entrada](sms-cors-update.md)
+ [Atribua permissões do IAM para usar o Ground Truth](sms-security-permission.md)
+ [Usando o Amazon SageMaker Ground Truth em uma Amazon Virtual Private Cloud](sms-vpc.md)
+ [Criptografia de volume de dados de saída e de armazenamento](sms-security.md)
+ [Autenticação e restrições da força de trabalho](sms-security-workforce-authentication.md)

# Requisito do CORS para dados de imagem de entrada
<a name="sms-cors-update"></a>

No início de 2020, navegadores amplamente utilizados como o Chrome e o Firefox alteraram seu comportamento padrão para girar imagens com base nos metadados da imagem, conhecidos como [dados EXIF](https://en.wikipedia.org/wiki/Exif). Anteriormente, as imagens eram exibidas nos navegadores exatamente como eram armazenadas no disco, geralmente sem rotação. Após a alteração, as imagens agora giram de acordo com um metadado da imagem chamado *valor de orientação*. Isso tem implicações importantes para toda a comunidade de machine learning (ML). Por exemplo, se a orientação EXIF não for considerada, as aplicações usadas para anotar imagens podem exibir imagens em orientações inesperadas e resultar em rótulos incorretos. 

A partir do Chrome 89, não é mais AWS possível impedir automaticamente a rotação de imagens porque o grupo de padrões da web W3C decidiu que a capacidade de controlar a rotação de imagens viola a Política de Mesma Origem da Web. Portanto, para garantir que os operadores humanos anotem as imagens de entrada em uma orientação previsível ao enviar solicitações para criar um trabalho de rotulagem, você deve adicionar uma política de cabeçalho CORS aos buckets do S3 que contêm as imagens de entrada.

**Importante**  
Se você não adicionar uma configuração de CORS aos buckets do S3 que contém os dados de entrada, as tarefas de rotulagem de dados desses objetos de dados de entrada falharão.

Por padrão, se você criar uma tarefa por meio do console do Ground Truth, o CORS será habilitado. Se todos os seus dados de entrada *não* estiverem localizados no mesmo bucket do Amazon S3 que o arquivo manifesto de entrada, você deverá adicionar uma configuração de CORS a todos os buckets do Amazon S3 que contêm dados de entrada usando as instruções a seguir.

Se estiver usando a API `CreateLabelingJob` para criar um trabalho de rotulagem do Ground Truth, você poderá adicionar uma política de CORS a um bucket do Amazon S3 que contém dados de entrada no console do S3. Para definir os cabeçalhos CORS necessários no bucket do Amazon S3 que contém as imagens de entrada no console do Amazon S3, siga as instruções detalhadas em [Como faço para adicionar o compartilhamento de recursos entre domínios com o CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html). Use o código de configuração CORS a seguir para os buckets que hospedam as imagens. Se você usar o console do Amazon S3 para adicionar a política ao bucket, deverá usar o formato JSON.

**Importante**  
Se você criar uma nuvem de pontos 3D ou um trabalho de rotulagem de quadros de vídeo, deverá adicionar regras à configuração de CORS. Para saber mais, consulte [Requisitos de permissão do trabalho de rotulagem de nuvem de pontos 3D](sms-security-permission-3d-point-cloud.md) e [Requisitos de permissão de trabalho de quadros de vídeo](sms-video-overview.md#sms-security-permission-video-frame), respectivamente. 

**JSON**

```
[{
   "AllowedHeaders": [],
   "AllowedMethods": ["GET"],
   "AllowedOrigins": ["*"],
   "ExposeHeaders": ["Access-Control-Allow-Origin"]
}]
```

**XML**

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
   <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
 </CORSRule>
</CORSConfiguration>
```

O seguinte GIF demonstra as instruções encontradas na documentação do Amazon S3 para adicionar uma política de cabeçalho CORS usando o console do Amazon S3: Para obter instruções, consulte **Como usar o console Amazon S3** na página de documentação [Como adicionar o compartilhamento de recursos entre domínios com CORS?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html) no Guia do usuário do Amazon Simple Storage Service Console.

![\[Gif de como adicionar uma política de cabeçalho CORS usando o console do Amazon S3.\]](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/sms/gifs/cors-config.gif)


# Atribua permissões do IAM para usar o Ground Truth
<a name="sms-security-permission"></a>

Use os tópicos desta seção para aprender a usar políticas gerenciadas e personalizadas AWS Identity and Access Management (IAM) para gerenciar o acesso ao Ground Truth e aos recursos associados. 

Você pode usar as seções desta página para aprender o seguinte: 
+ Como criar políticas do IAM que concedam permissão a um usuário ou função para criar um trabalho de rotulagem. Os administradores podem usar as políticas do IAM para restringir o acesso ao Amazon SageMaker AI e a outros AWS serviços específicos da Ground Truth.
+ Como criar uma *função de execução de SageMaker * IA. Uma função de execução é a função que você especifica quando cria uma tarefa de rotulagem. A função é usada para iniciar e gerenciar o trabalho de rotulagem.

Veja a seguir uma visão geral dos tópicos que você encontrará nesta página: 
+ Se você está começando a usar o Ground Truth ou não precisa de permissões granulares para o caso de uso, é recomendável usar as políticas gerenciadas do IAM descritas em [Use políticas gerenciadas do IAM com o Ground Truth](sms-security-permissions-get-started.md).
+ Para saber mais sobre as permissões necessárias para usar o console do Ground Truth no [Conceda permissão ao IAM para usar o Amazon SageMaker Ground Truth Console](sms-security-permission-console-access.md). Esta seção inclui exemplos de políticas que concedem permissão a uma entidade do IAM para criar e modificar equipes de trabalho privadas, assinar equipes de trabalho de fornecedores e criar fluxos de trabalho de rotulagem personalizados.
+ Ao criar um trabalho de rotulagem, você deve fornecer uma função de execução. Use [Crie uma função de execução de SageMaker IA para um trabalho de rotulagem da Ground Truth](sms-security-permission-execution-role.md) para saber mais sobre as permissões necessárias para essa função.

# Use políticas gerenciadas do IAM com o Ground Truth
<a name="sms-security-permissions-get-started"></a>

SageMaker A IA e a Ground Truth fornecem políticas AWS gerenciadas que você pode usar para criar um trabalho de rotulagem. Se você está começando a usar o Ground Truth e não precisa de permissões granulares para seu caso de uso, é recomendável usar as seguintes políticas:
+ `[AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)`: Use essa política para dar permissão a um usuário ou função para criar um trabalho de rotulagem. Essa é uma política ampla que concede a uma entidade permissão para usar recursos de SageMaker IA, bem como recursos dos AWS serviços necessários por meio do console e da API. Essa política dá permissão à entidade para criar um trabalho de rotulagem e criar e gerenciar forças de trabalho usando o Amazon Cognito. Para saber mais, consulte a [AmazonSageMakerFullAccess Política](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonSageMakerFullAccess).
+ `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)`: Para criar um *perfil de execução*, você pode anexar a política `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)` a uma função. Uma função de execução é uma função que você especifica quando cria um trabalho de rotulagem e é usada para iniciar o trabalho de rotulagem. Essa política permite criar trabalhos de rotulagem de streaming e não streaming e criar um trabalho de rotulagem usando qualquer tipo de tarefa. Observe os seguintes limites dessa política gerenciada:
  + **Permissões do Amazon S3**: essa política concede uma permissão de perfil de execução para acessar os buckets do Amazon S3 com as seguintes sequências de caracteres no nome: `GroundTruth`, `Groundtruth`, `groundtruth`, `SageMaker`, `Sagemaker`, e `sagemaker` ou um bucket com [uma tag de objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) que inclui `SageMaker` no nome (não diferenciar maiúsculas de minúsculas). Certifique-se de que os nomes dos buckets de entrada e saída incluam esses strings de caracteres ou adicione permissões ao seu perfil de execução para [conceder acesso aos buckets do Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket.html). Você deve dar permissão a essa função para realizar as seguintes ações nos buckets `AbortMultipartUpload`, `GetObject` e `PutObject` do Amazon S3:
  + **Fluxos de trabalho personalizados**: quando você cria um [fluxo de trabalho de rotulagem personalizado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), essa função de execução é restrita à invocação de AWS Lambda funções com uma das seguintes cadeias de caracteres como parte do nome da função:`GtRecipe`,, `SageMaker``Sagemaker`, `sagemaker` ou. `LabelingFunction` Isso se aplica a ambas as funções de pré-anotação e de pós-anotação do Lambda. Se você escolher usar nomes sem essas strings, deverá fornecer explicitamente a permissão `lambda:InvokeFunction` para o perfil de execução usado para criar o trabalho de rotulagem.

Para saber como anexar uma política AWS gerenciada a um usuário ou função, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) no Guia do usuário do IAM.

# Conceda permissão ao IAM para usar o Amazon SageMaker Ground Truth Console
<a name="sms-security-permission-console-access"></a>

Para usar a área Ground Truth do console de SageMaker IA, você precisa conceder permissão a uma entidade para acessar a SageMaker IA e outros AWS serviços com os quais o Ground Truth interage. As permissões necessárias para acessar outros AWS serviços dependem do seu caso de uso: 
+ As permissões do Amazon S3 são necessárias para todos os casos de uso. Essas permissões devem conceder acesso aos buckets do Amazon S3 que contêm dados de entrada e saída. 
+ AWS Marketplace são necessárias permissões para usar a força de trabalho de um fornecedor.
+ A permissão do Amazon Cognito é necessária para a configuração de uma equipe de trabalho privada.
+ AWS KMS são necessárias permissões para visualizar AWS KMS as chaves disponíveis que podem ser usadas para criptografia de dados de saída.
+ As permissões do IAM são necessárias para listar as funções de execução preexistentes ou criar uma. Além disso, você deve adicionar uma `PassRole` permissão para permitir que a SageMaker IA use a função de execução escolhida para iniciar o trabalho de rotulagem.

As seções a seguir listam as políticas que você talvez queira conceder a uma função para usar uma ou mais funções do Ground Truth. 

**Topics**
+ [Permissões do console Ground Truth](#sms-security-permissions-console-all)
+ [Personalizar permissões de fluxo de trabalho de rotulagem](#sms-security-permissions-custom-workflow)
+ [Permissões de força de trabalho privada](#sms-security-permission-workforce-creation)
+ [Permissões da força de trabalho do fornecedor](#sms-security-permissions-workforce-creation-vendor)

## Permissões do console Ground Truth
<a name="sms-security-permissions-console-all"></a>

Para conceder permissão a um usuário ou função para usar a área Ground Truth do console de SageMaker IA para criar um trabalho de rotulagem, anexe a política a seguir ao usuário ou função. A política a seguir concede permissão de perfil do IAM para criar um trabalho de rotulagem usando um [tipo de tarefa integrado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Se você quiser criar um fluxo de trabalho de rotulagem personalizado, adicione a política em [Personalizar permissões de fluxo de trabalho de rotulagem](#sms-security-permissions-custom-workflow) à política a seguir. Cada `Statement` incluído na política a seguir está descrito abaixo desse bloco de código.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SageMakerApis",
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KmsKeysForCreateForms",
            "Effect": "Allow",
            "Action": [
                "kms:DescribeKey",
                "kms:ListAliases"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AccessAwsMarketplaceSubscriptions",
            "Effect": "Allow",
            "Action": [
                "aws-marketplace:ViewSubscriptions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:CreateSecret",
                "secretsmanager:DescribeSecret",
                "secretsmanager:ListSecrets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListAndCreateExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:ListRoles",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "PassRoleForExecutionRoles",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        },
        {
            "Sid": "GroundTruthConsole",
            "Effect": "Allow",
            "Action": [
                "groundtruthlabeling:*",
                "lambda:InvokeFunction",
                "lambda:ListFunctions",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:GetBucketCors",
                "s3:PutBucketCors",
                "s3:ListAllMyBuckets",
                "cognito-idp:AdminAddUserToGroup",
                "cognito-idp:AdminCreateUser",
                "cognito-idp:AdminDeleteUser",
                "cognito-idp:AdminDisableUser",
                "cognito-idp:AdminEnableUser",
                "cognito-idp:AdminRemoveUserFromGroup",
                "cognito-idp:CreateGroup",
                "cognito-idp:CreateUserPool",
                "cognito-idp:CreateUserPoolClient",
                "cognito-idp:CreateUserPoolDomain",
                "cognito-idp:DescribeUserPool",
                "cognito-idp:DescribeUserPoolClient",
                "cognito-idp:ListGroups",
                "cognito-idp:ListIdentityProviders",
                "cognito-idp:ListUsers",
                "cognito-idp:ListUsersInGroup",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:ListUserPools",
                "cognito-idp:UpdateUserPool",
                "cognito-idp:UpdateUserPoolClient"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Esta política inclui as seguintes instruções: Você pode definir o escopo de qualquer uma dessas instruções adicionando recursos específicos à lista `Resource` dessa instrução.

`SageMakerApis`

Essa declaração inclui`sagemaker:*`, que permite ao usuário realizar todas as [ações da API de SageMaker IA](sagemaker/latest/APIReference/API_Operations.html). Você pode reduzir o escopo dessa política restringindo os usuários de realizar ações que não são usadas para criar e monitorar um trabalho de rotulagem. 

**`KmsKeysForCreateForms`**

Você só precisa incluir essa declaração se quiser conceder permissão ao usuário para listar e selecionar AWS KMS chaves no console do Ground Truth para usar na criptografia de dados de saída. A política acima concede ao usuário permissão para listar e selecionar qualquer chave na conta no AWS KMS. Para restringir as chaves que um usuário pode listar e selecionar, especifique essas chaves ARNs `Resource`.

**`SecretsManager`**

Essa declaração dá ao usuário permissão para descrever, listar e criar recursos AWS Secrets Manager necessários para criar o trabalho de rotulagem.

`ListAndCreateExecutionRoles`

Essa instrução dá ao usuário permissão para listar (`ListRoles`) e criar (`CreateRole`) funções do IAM na conta. Também concede ao usuário permissão para criar (`CreatePolicy`) políticas e anexar (`AttachRolePolicy`) políticas a entidades. Elas são necessários para listar, selecionar e, se necessário, criar uma função de execução no console. 

Se você já criou uma função de execução e deseja restringir o escopo dessa instrução para que os usuários só possam selecionar essa função no console, especifique as ARNs funções que você deseja que o usuário tenha permissão para visualizar `Resource` e remover as ações `CreateRole``CreatePolicy`, `AttachRolePolicy` e.

`AccessAwsMarketplaceSubscriptions`

Essas permissões são necessárias para visualizar e escolher as equipes de trabalho do fornecedor nas quais você já está inscrito ao criar um trabalho de rotulagem. Para dar permissão ao usuário para *se inscrever* nas equipes de trabalho do fornecedor, adicione a instrução em [Permissões da força de trabalho do fornecedor](#sms-security-permissions-workforce-creation-vendor) à política acima

`PassRoleForExecutionRoles`

Isso é necessário para permitir que o criador do trabalho de rotulagem visualize a interface do usuário do operador e verifique se os dados de entrada, os rótulos e as instruções estão exibidos corretamente. Essa declaração dá a uma entidade permissões para passar a função de execução do IAM usada para criar o trabalho de rotulagem para a SageMaker AI para renderizar e visualizar a interface do usuário do trabalhador. Para restringir o escopo dessa política, adicione o ARN do perfil de execução usada para criar o trabalho de rotulagem em `Resource`.

**`GroundTruthConsole`**
+ `groundtruthlabeling`: Isso permite que o usuário execute as ações necessárias para usar determinados atributos do console do Ground Truth. Isso inclui permissões para descrever o status do trabalho de rotulagem (`DescribeConsoleJob`), listar todos os objetos de conjunto de dados no arquivo manifesto de entrada (`ListDatasetObjects`), filtrar o conjunto de dados se a amostragem do conjunto de dados for selecionada (`RunFilterOrSampleDatasetJob`) e gerar arquivos manifesto de entrada se a rotulagem automática de dados for usada (`RunGenerateManifestByCrawlingJob`). Essas ações só estão disponíveis ao usar o console do Ground Truth e não podem ser chamadas diretamente usando uma API.
+ `lambda:InvokeFunction` e `lambda:ListFunctions`: Essas ações dão aos usuários permissão para listar e invocar funções do Lambda que são usadas para executar um fluxo de trabalho de rotulagem personalizado.
+ `s3:*`: Todas as permissões do Amazon S3 incluídas nesta instrução são usadas para visualizar buckets do Amazon S3 para [configuração automatizada de dados](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-console-create-manifest-file.html) (`ListAllMyBuckets`), acessar dados de entrada no Amazon S3 (`ListBucket`, `GetObject`), verificar e criar uma política de CORS no Amazon S3, se necessário (`GetBucketCors` e `PutBucketCors`), e gravar arquivos de saída do trabalho de rotulagem no S3 (`PutObject`).
+ `cognito-idp`: Essas permissões são usadas para criar, visualizar e gerenciar uma força de trabalho privada usando o Amazon Cognito. Para saber mais sobre essas ações, consulte as [referências de API do Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-reference.html).

## Personalizar permissões de fluxo de trabalho de rotulagem
<a name="sms-security-permissions-custom-workflow"></a>

Adicione a instrução a seguir a uma política semelhante à já existente em [Permissões do console Ground Truth](#sms-security-permissions-console-all) para dar permissão ao usuário para selecionar funções do Lambda preexistentes de pré-anotação e pós-anotação ao [criar um fluxo de trabalho de rotulagem personalizado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html).

```
{
    "Sid": "GroundTruthConsoleCustomWorkflow",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction",
        "lambda:ListFunctions"
    ],
    "Resource": "*"
}
```

Para saber como dar permissão a uma entidade para criar e testar funções do Lambda de pré-anotação e pós-anotação, consulte [Permissões obrigatórias para usar o Lambda com o Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3-lambda-permissions.html).

## Permissões de força de trabalho privada
<a name="sms-security-permission-workforce-creation"></a>

Quando adicionada a uma política de permissões, a permissão a seguir concede acesso para criar e gerenciar uma força de trabalho privada e uma equipe de trabalho usando o Amazon Cognito. Essas permissões não são necessárias para usar uma [força de trabalho do OIDC IdP](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html#sms-workforce-create-private-oidc-next-steps).

```
{
    "Effect": "Allow",
    "Action": [
        "cognito-idp:AdminAddUserToGroup",
        "cognito-idp:AdminCreateUser",
        "cognito-idp:AdminDeleteUser",
        "cognito-idp:AdminDisableUser",
        "cognito-idp:AdminEnableUser",
        "cognito-idp:AdminRemoveUserFromGroup",
        "cognito-idp:CreateGroup",
        "cognito-idp:CreateUserPool",
        "cognito-idp:CreateUserPoolClient",
        "cognito-idp:CreateUserPoolDomain",
        "cognito-idp:DescribeUserPool",
        "cognito-idp:DescribeUserPoolClient",
        "cognito-idp:ListGroups",
        "cognito-idp:ListIdentityProviders",
        "cognito-idp:ListUsers",
        "cognito-idp:ListUsersInGroup",
        "cognito-idp:ListUserPoolClients",
        "cognito-idp:ListUserPools",
        "cognito-idp:UpdateUserPool",
        "cognito-idp:UpdateUserPoolClient"
        ],
    "Resource": "*"
}
```

Para saber mais sobre como usar forças de trabalho privadas usando o Amazon Cognito, consulte [Forças de trabalho do Amazon Cognito](sms-workforce-private-use-cognito.md). 

## Permissões da força de trabalho do fornecedor
<a name="sms-security-permissions-workforce-creation-vendor"></a>

É possível adicionar a instrução a seguir à política em [Conceda permissão ao IAM para usar o Amazon SageMaker Ground Truth Console](#sms-security-permission-console-access) para conceder permissão para que uma entidade se inscreva em uma [força de trabalho do fornecedor](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-vendor.html).

```
{
    "Sid": "AccessAwsMarketplaceSubscriptions",
    "Effect": "Allow",
    "Action": [
        "aws-marketplace:Subscribe",
        "aws-marketplace:Unsubscribe",
        "aws-marketplace:ViewSubscriptions"
    ],
    "Resource": "*"
}
```

# Crie uma função de execução de SageMaker IA para um trabalho de rotulagem da Ground Truth
<a name="sms-security-permission-execution-role"></a>

Ao configurar seu trabalho de rotulagem, você precisa fornecer uma *função de execução*, que é uma função que a SageMaker IA tem permissão para assumir para iniciar e executar seu trabalho de rotulagem.

Essa função deve conceder permissão ao Ground Truth para acessar o seguinte: 
+ O Amazon S3 para recuperar os dados de entrada e gravar os dados de saída em um bucket do Amazon S3. Você pode conceder permissão para um perfil do IAM acessar um bucket inteiro fornecendo o ARN do bucket ou conceder acesso aos recursos específicos em um bucket. Por exemplo, o ARN de um bucket pode ser semelhante a `arn:aws:s3:::amzn-s3-demo-bucket1` e o ARN de um recurso em um bucket do Amazon S3 pode ser semelhante ao `arn:aws:s3:::amzn-s3-demo-bucket1/prefix/file-name.png`. Para aplicar uma ação a todos os recursos em um bucket do Amazon S3, use o curinga: `*`. Por exemplo, .`arn:aws:s3:::amzn-s3-demo-bucket1/prefix/*` Para obter mais informações, consulte [Recursos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html) no Guia do usuário do Amazon Simple Storage Service.
+ CloudWatch para registrar as métricas dos trabalhadores e rotular os status do trabalho.
+ AWS KMS para criptografia de dados. (Optional)
+ AWS Lambda para processar dados de entrada e saída ao criar um fluxo de trabalho personalizado. 

Além disso, se você criar um [trabalho de rotulagem de streaming](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html), essa função deverá ter permissão para acessar:
+ [Amazon SQS para criar uma interação com uma fila do SQS usada para gerenciar solicitações de rotulagem.](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html#sms-streaming-how-it-works-sqs)
+ Amazon SNS para assinar e recuperar mensagens do tópico de entrada do Amazon SNS e para enviar mensagens para o tópico de saída do Amazon SNS.

Todas essas permissões podem ser concedidas com a política gerenciada `[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)`, *exceto*:
+ Criptografia do volume de dados e armazenamento dos buckets do Amazon S3. Para saber como configurar essas permissões, consulte [Criptografe os dados de saída e o volume de armazenamento com AWS KMS](sms-security-kms-permissions.md).
+ Permissão para selecionar e invocar funções do Lambda que não incluam `GtRecipe`, `SageMaker`, `Sagemaker`, `sagemaker` ou `LabelingFunction` no nome da função.
+ Buckets do Amazon S3 que não incluem `GroundTruth`, `Groundtruth`, `groundtruth`, `SageMaker`, `Sagemaker` e `sagemaker` no prefixo ou no nome do bucket ou uma [tag de objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html) que inclua o `SageMaker` no nome (não diferenciar maiúsculas de minúsculas).

Se você precisar de permissões mais granulares do que as fornecidas em `AmazonSageMakerGroundTruthExecution`, use os exemplos de políticas a seguir para criar um perfil de execução adequada ao seu caso de uso específico.

**Topics**
+ [Requisitos de funções de execução de tipos de tarefas integrados (sem streaming)](#sms-security-permission-execution-role-built-in-tt)
+ [Requisitos de funções de execução de tipos de tarefas integrados (streaming)](#sms-security-permission-execution-role-built-in-tt-streaming)
+ [Requisitos da função de execução para tipos de tarefas personalizados](#sms-security-permission-execution-role-custom-tt)
+ [Requisitos de permissão para rotulagem de dados automatizada](#sms-security-permission-execution-role-custom-auto-labeling)

## Requisitos de funções de execução de tipos de tarefas integrados (sem streaming)
<a name="sms-security-permission-execution-role-built-in-tt"></a>

A política a seguir concede permissão para criar um trabalho de rotulagem para um [tipo de tarefa integrado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html). Essa política de execução não inclui permissões para criptografia ou decodificação de AWS KMS dados. Substitua cada ARN vermelho em itálico pelo seu próprio Amazon S3. ARNs

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ViewBuckets",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::<input-bucket-name>",
                "arn:aws:s3:::<output-bucket-name>"
            ]
        },
        {
            "Sid": "S3GetPutObjects",
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::<input-bucket-name>/*",
                "arn:aws:s3:::<output-bucket-name>/*"
            ]
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Requisitos de funções de execução de tipos de tarefas integrados (streaming)
<a name="sms-security-permission-execution-role-built-in-tt-streaming"></a>

Se você criar um trabalho de rotulagem de streaming, deverá adicionar uma política semelhante à seguinte à função de execução usada para criar o trabalho de rotulagem: Para restringir o escopo da política, substitua o `*` in `Resource` por AWS recursos específicos que você deseja conceder permissão ao papel do IAM para acessar e usar.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket2/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket2"
            ]
        },
        {
            "Sid": "CloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "StreamingQueue",
            "Effect": "Allow",
            "Action": [
                "sqs:CreateQueue",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "sqs:GetQueueUrl",
                "sqs:ReceiveMessage",
                "sqs:SendMessage",
                "sqs:SetQueueAttributes"
            ],
            "Resource": "arn:aws:sqs:*:*:*GroundTruth*"
        },
        {
            "Sid": "StreamingTopicSubscribe",
            "Effect": "Allow",
            "Action": "sns:Subscribe",
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ],
            "Condition": {
                "StringEquals": {
                    "sns:Protocol": "sqs"
                },
                "StringLike": {
                    "sns:Endpoint": "arn:aws:sns:us-east-1:111122223333:*GroundTruth*"
                }
            }
        },
        {
            "Sid": "StreamingTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ]
        },
        {
            "Sid": "StreamingTopicUnsubscribe",
            "Effect": "Allow",
            "Action": [
                "sns:Unsubscribe"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:input-topic-name",
                "arn:aws:sns:us-east-1:111122223333:output-topic-name"
            ]
        }
    ]
}
```

------

## Requisitos da função de execução para tipos de tarefas personalizados
<a name="sms-security-permission-execution-role-custom-tt"></a>

Se você quiser criar um [fluxo de trabalho de rotulagem personalizado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), adicione a seguinte instrução a uma política de função de execução, como as encontradas em [Requisitos de funções de execução de tipos de tarefas integrados (sem streaming)](#sms-security-permission-execution-role-built-in-tt) ou [Requisitos de funções de execução de tipos de tarefas integrados (streaming)](#sms-security-permission-execution-role-built-in-tt-streaming):

Essa política dá permissão ao perfil de execução para `Invoke` as funções do Lambda de pré-anotação e pós-anotação.

```
{
    "Sid": "LambdaFunctions",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction"
    ],
    "Resource": [
        "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>",
        "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>"
    ]
}
```

## Requisitos de permissão para rotulagem de dados automatizada
<a name="sms-security-permission-execution-role-custom-auto-labeling"></a>

Se você quiser criar um trabalho de rotulagem com a [rotulagem automática de dados](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) ativada, você deve 1) adicionar uma política à política do IAM anexada ao perfil de execução e 2) atualizar a política de confiança do perfil de execução. 

A declaração a seguir permite que a função de execução do IAM seja passada para a SageMaker IA para que ela possa ser usada para executar os trabalhos de treinamento e inferência usados para aprendizado ativo e rotulagem automática de dados, respectivamente. Adicione essa instrução a uma política de função de execução como as encontradas em [Requisitos de funções de execução de tipos de tarefas integrados (sem streaming)](#sms-security-permission-execution-role-built-in-tt) ou [Requisitos de funções de execução de tipos de tarefas integrados (streaming)](#sms-security-permission-execution-role-built-in-tt-streaming). `arn:aws:iam::<account-number>:role/<role-name>`Substitua pelo ARN da função de execução. Você pode encontrar o ARN do perfil do IAM no console do IAM em **Funções**. 

```
{
    "Effect": "Allow",
    "Action": [
        "iam:PassRole"
    ],
    "Resource": "arn:aws:iam::<account-number>:role/<execution-role-name>",
    "Condition": {
        "StringEquals": {
            "iam:PassedToService": [
                "sagemaker.amazonaws.com"
            ]
        }
    }
}
```

A declaração a seguir permite que a SageMaker IA assuma a função de execução para criar e gerenciar os trabalhos de SageMaker treinamento e inferência. Essa política deve ser adicionada à relação de confiança da função de execução. Para saber como adicionar ou modificar uma política de confiança de perfil do IAM, consulte [Modificar uma função](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) no Guia do usuário do IAM.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Principal": {"Service": "sagemaker.amazonaws.com" },
        "Action": "sts:AssumeRole"
    }
}
```

------



# Criptografe os dados de saída e o volume de armazenamento com AWS KMS
<a name="sms-security-kms-permissions"></a>

Você pode usar AWS Key Management Service (AWS KMS) para criptografar os dados de saída de um trabalho de etiquetagem especificando uma [chave gerenciada pelo cliente ao](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) criar o trabalho de etiquetagem. Se você usar a operação de API `CreateLabelingJob` para criar um trabalho de rotulagem que usa rotulagem de dados automatizada, você também pode usar uma chave gerenciada pelo cliente para criptografar o volume de armazenamento anexado às instâncias de computação de ML para executar os trabalhos de treinamento e inferência.

Esta seção descreve as políticas do IAM que você deve anexar à chave gerenciada pelo cliente para habilitar a criptografia de dados de saída e as políticas que você deve anexar à chave gerenciada pelo cliente e à função de execução para usar a criptografia do volume de armazenamento. Para saber mais sobre essas opções, consulte [Criptografia de volume de dados de saída e de armazenamento](sms-security.md).

## Criptografar dados de saída usando o KMS
<a name="sms-security-kms-permissions-output-data"></a>

Se você especificar uma chave gerenciada pelo AWS KMS cliente para criptografar os dados de saída, deverá adicionar uma política do IAM semelhante à seguinte para essa chave. Essa política dá à função de execução do IAM que você usa para criar seu trabalho de rotulagem permissão para usar essa chave para realizar todas as ações listadas em `"Action"`. Para saber mais sobre essas ações, consulte [AWS KMS as permissões](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) no Guia do AWS Key Management Service desenvolvedor.

Para usar essa política, substitua o ARN do perfil de serviço do IAM em `"Principal"` pelo perfil de execução que você usa para criar o trabalho de rotulagem. Quando você cria um trabalho de rotulagem no console, esse é o perfil que você especifica para o **Perfil do IAM** na seção **Visão geral do trabalho**. Quando você cria um trabalho de rotulagem usando o `CreateLabelingJob`, esse é o ARN que você especifica para o [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn).

```
{
    "Sid": "AllowUseOfKmsKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/service-role/example-role"
    },
    "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
    ],
    "Resource": "*"
}
```

## Criptografe dados automatizados, rotulagem e volume de armazenamento de instâncias de computação de ML
<a name="sms-security-kms-permissions-storage-volume"></a>

Se você especificar a [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId) para criptografar o volume de armazenamento anexado à instância de computação de ML usada para treinamento e inferência automatizados de rotulagem de dados, faça o seguinte:
+ Anexe as permissões descritas em [Criptografar dados de saída usando o KMS](#sms-security-kms-permissions-output-data) à chave gerenciada pelo cliente.
+ Anexe uma política semelhante à que segue para a função de execução do IAM que você usará para criar o trabalho de rotulagem. Essa é o perfil do IAM que você especifica [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-RoleArn) em `CreateLabelingJob`. Para saber mais sobre a `"kms:CreateGrant"` ação que essa política permite, consulte [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)a Referência da AWS Key Management Service API.

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

****  

```
{
"Version":"2012-10-17",		 	 	  
"Statement": 
 [  
   {
    "Effect": "Allow",
    "Action": [
       "kms:CreateGrant"
    ],
    "Resource": "*"
  }
]
}
```

------

Para saber mais sobre a criptografia de volume de armazenamento do Ground Truth, consulte [Use a chave do KMS para criptografar o volume de armazenamento de rotulagem automática de dados (apenas API)](sms-security.md#sms-security-kms-storage-volume).

# Usando o Amazon SageMaker Ground Truth em uma Amazon Virtual Private Cloud
<a name="sms-vpc"></a>

 Com a [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC), você pode lançar AWS recursos em uma rede virtual logicamente isolada que você define. O Ground Truth oferece apoio à execução de trabalhos de rotulagem dentro de uma Amazon VPC, em vez de se conectar pela internet. Quando você inicia um trabalho de etiquetagem em uma Amazon VPC, a comunicação entre sua VPC e a Ground Truth é conduzida de forma completa e segura dentro da rede. AWS 

Este guia mostra como você pode usar o Ground Truth em uma Amazon VPC das seguintes maneiras:

1. [Execute um trabalho de etiquetagem do Amazon SageMaker Ground Truth em uma Amazon Virtual Private Cloud](samurai-vpc-labeling-job.md)

1. [Use o modo Amazon VPC a partir de um portal de operador privado](samurai-vpc-worker-portal.md)

# Execute um trabalho de etiquetagem do Amazon SageMaker Ground Truth em uma Amazon Virtual Private Cloud
<a name="samurai-vpc-labeling-job"></a>

O Ground Truth é compatível com as seguintes funcionalidades da Amazon VPC:
+ Você pode usar as políticas de bucket do Amazon S3 para controlar o acesso a buckets de endpoints específicos da Amazon VPC ou específicos. VPCs Se você iniciar um trabalho de rotulagem e seus dados de entrada estiverem localizados em um bucket do Amazon S3 com acesso restrito aos usuários em sua VPC, você poderá adicionar uma política do bucket para conceder permissão também ao endpoint da Ground Truth para acessar o bucket. Para saber mais, consulte [Permita que o Ground Truth acesse buckets Amazon S3 restritos à VPC](#sms-vpc-permissions-s3).
+ Você pode iniciar um [trabalho automatizado de rotulagem de dados](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) em sua VPC. Você usa uma configuração de VPC para especificar sub-redes e grupos de segurança de VPC. SageMaker A IA usa essa configuração para iniciar os trabalhos de treinamento e inferência usados para rotulagem automatizada de dados em sua VPC. Para saber mais, consulte [Criar um trabalho de rotulagem automatizada em uma VPC](#sms-vpc-permissions-automated-labeling).

Talvez você queira usar essas opções de qualquer uma das formas a seguir.
+ Você pode usar esses dois métodos para iniciar um trabalho de rotulagem usando um bucket Amazon S3 protegido por VPC com rotulagem automática de dados ativada.
+ Você pode iniciar um trabalho de rotulagem usando qualquer [tipo de trabalho integrado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) usando um bucket protegido por VPC.
+ Você pode iniciar um [fluxo de trabalho de rotulagem personalizado](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html) usando um bucket protegido por VPC. O Ground Truth interage com suas funções do Lambda de pré-anotação e pós-anotação usando um endpoint. [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-services-overview.html)

Recomendamos que você revise [Pré-requisitos para executar um trabalho de rotulagem do Ground Truth em uma VPC](#sms-vpc-gt-prereq) antes de criar um trabalho de rotulagem em uma Amazon VPC.

## Pré-requisitos para executar um trabalho de rotulagem do Ground Truth em uma VPC
<a name="sms-vpc-gt-prereq"></a>

Analise os pré-requisitos a seguir antes de criar um trabalho de rotulagem Ground Truth em uma Amazon VPC. 
+ Se você for um novo usuário do Ground Truth, consulte [Conceitos básicos](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-getting-started.html) para saber como criar um trabalho de rotulagem.
+ Se seus dados de entrada estiverem localizados em um bucket Amazon S3 protegido por VPC, seus operadores devem acessar o portal do operador a partir de sua VPC. Os trabalhos de rotulagem baseados em VPC exigem o uso de uma equipe de trabalho privada. Para saber mais sobre como criar uma equipe de trabalho privada, consulte [Usar uma força de trabalho privada](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private.html).
+ Os pré-requisitos a seguir são específicos para iniciar um trabalho de rotulagem em sua VPC.
  + Use as instruções em [Criar um endpoint da VPC do Amazon S3](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3). Os contêineres de treinamento e inferência usados no fluxo de trabalho automatizado de rotulagem de dados usam esse endpoint para se comunicar com seus buckets no Amazon S3.
  + Consulte [Automatizar rotulagem de dados](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html) para saber mais sobre esse atributo. Observe que a rotulagem automática de dados é compatível com os seguintes [tipos de tarefa integrados](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html): [classificação de imagem (rótulo único)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-image-classification.html), [segmentação semântica de imagem](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-semantic-segmentation.html), [caixa delimitadora](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-bounding-box.html) e [classificação de texto (rótulo único)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-text-classification.html). Os trabalhos de rotulagem de streaming não são compatíveis com a rotulagem de dados automatizada.
+ Revise a seção [Segurança e permissões do Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-general.html) e verifique se você atendeu às condições a seguir.
  + O usuário que está criando o trabalho de rotulagem tem todas as permissões necessárias
  + Você criou uma função de execução do IAM com as permissões obrigatórias. Se você não precisar de permissões ajustadas para seu caso de uso, recomendamos que use as políticas gerenciadas do IAM descritas em [Conceder permissões gerais para começar a usar o Ground Truth](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-security-permission.html#sms-security-permissions-get-started).
  + Permita que sua VPC tenha acesso aos buckets `sagemaker-labeling-data-region` e `sm-bxcb-region-saved-task-states` S3. Esses são buckets S3 regionalizados de propriedade do sistema que são acessados do portal do operador durante a execução do trabalho. Usamos esses buckets para interagir com os dados gerenciados pelo sistema.

## Permita que o Ground Truth acesse buckets Amazon S3 restritos à VPC
<a name="sms-vpc-permissions-s3"></a>

As seções a seguir fornecem detalhes sobre as permissões que o Ground Truth exige para iniciar trabalhos de rotulagem usando buckets do Amazon S3 que têm acesso restrito à sua VPC e endpoints da VPC. Para aprender como restringir o acesso a um bucket do Amazon S3 para uma VPC, consulte Controle [do acesso de endpoints da VPC com políticas de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) no Guia do usuário do Amazon Simple Storage Service. Para saber como adicionar uma política a um bucket do S3, consulte [Adicionar uma política do bucket usando o console do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html).

**nota**  
Modificar as políticas nos buckets existentes pode fazer com que os trabalhos `IN_PROGRESS` do Ground Truth falhem. Recomendamos que você inicie novos trabalhos usando um novo bucket. Se quiser continuar usando o mesmo bucket, realize um dos procedimentos a seguir.  
Aguarde a conclusão de um trabalho `IN_PROGRESS`.
Encerre o trabalho usando o console ou o AWS CLI.

Você pode restringir o acesso dos usuários ao bucket do Amazon S3 em sua VPC usando um endpoint [AWS PrivateLink](https://aws.amazon.com/privatelink/). Veja a seguir um exemplo de política do bucket do S3 que permite acesso a um bucket específico, `<bucket-name>`, de `<vpc>` e do endpoint `<vpc-endpoint>` somente. Ao modificar essa política, você deve substituí-la por seus recursos e especificações. *red-italized text*

**nota**  
A política a seguir *nega* que todas as entidades, *exceto* usuários em uma VPC, executem as ações listadas em `Action`. Se você não incluir ações nessa lista, elas ainda poderão ser acessadas por qualquer entidade que tenha acesso a esse bucket e permissão para realizar essas ações. Por exemplo, se um usuário tiver permissão para executar `GetBucketLocation` em seu bucket do Amazon S3, a política abaixo não impede o usuário de realizar essa ação fora da sua 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"
                    ]
                }
            }
        }
    ]
}
```

------

O Ground Truth deve ser capaz de realizar as seguintes ações do Amazon S3 nos buckets do S3 que você usa para configurar o trabalho de rotulagem:

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

Você pode fazer isso adicionando um endpoint do Ground Truth à política do bucket, como a mencionada anteriormente. A tabela a seguir inclui endpoints do serviço Ground Truth para cada AWS região. Adicione um endpoint na mesma [região AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) que você usa para executar seu trabalho de rotulagem à sua política do bucket.


****  

| AWS Região | Ponto final do 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 | 

Por exemplo, as seguintes restrições `GetObject` e `PutObject` ações de política em:
+ Um bucket do Amazon S3 para usuários em uma VPC (`<vpc>`)
+ Um endpoint da VPC (`<vpc-endpoint>`)
+ Um endpoint de serviço 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"
                ] 
             }
           }
        }
    ]
}
```

------

Se quiser que um usuário tenha permissão para iniciar um trabalho de rotulagem usando o console Ground Truth, você também deve adicionar o ARN do usuário à política do bucket usando a condição `aws:PrincipalArn`. Esse usuário também deve ter permissão para realizar as seguintes ações do Amazon S3 no bucket que você usa para iniciar o trabalho de rotulagem:

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

O código a seguir é um exemplo de uma política do bucket que restringe a permissão para realizar as ações listadas `Action` no bucket do S3 `<bucket-name>` ao seguinte:
+ *<role-name>*
+ Os endpoints da VPC listados em `aws:sourceVpce`
+ Usuários dentro da VPC chamados *<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"
                    ]
                }
            }
        }
    ]
}
```

------

**nota**  
Os endpoints da interface Amazon VPC e os buckets protegidos do Amazon S3 que você usa para dados de entrada e saída devem estar localizados na mesma AWS região que você usa para criar o trabalho de rotulagem.

Depois de conceder permissão ao Ground Truth para acessar seus buckets do Amazon S3, você pode usar um dos tópicos em [Criar um trabalho de rotulagem](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job.html) para iniciar um trabalho de rotulagem. Especifique os buckets Amazon S3 restritos a VPC para seus buckets de dados de entrada e saída.

## Criar um trabalho de rotulagem automatizada em uma VPC
<a name="sms-vpc-permissions-automated-labeling"></a>

Para criar um trabalho automatizado de rotulagem de dados usando uma Amazon VPC, forneça uma configuração de VPC usando o console Ground Truth ou a operação de API `CreateLabelingJob`. SageMaker A IA usa as sub-redes e os grupos de segurança que você fornece para iniciar os trabalhos de treinamento e inferências usados para rotulagem automatizada. 

**Importante**  
Antes de iniciar um trabalho automatizado de rotulagem de dados com uma configuração de VPC, certifique-se de ter criado um endpoint de VPC do Amazon S3 usando a VPC que deseja usar para o trabalho de rotulagem. Para saber como, consulte [Criar um endpoint da VPC no Amazon S3](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html#train-vpc-s3).  
Além disso, se você criar um trabalho automatizado de rotulagem de dados usando um bucket Amazon S3 restrito a VPC, deverá seguir as instruções em [Permita que o Ground Truth acesse buckets Amazon S3 restritos à VPC](#sms-vpc-permissions-s3) para dar permissão ao Ground Truth para acessar o bucket.

Use os procedimentos a seguir para aprender como adicionar uma configuração de VPC à sua solicitação de trabalho de rotulagem.

**Adicione uma configuração de VPC a um trabalho de rotulagem de dados automatizada (console):**

1. Siga as instruções em [Criar um trabalho de rotulagem (Console)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html) e conclua cada etapa do procedimento, até a etapa 15.

1. Na seção **Operadores**, marque a caixa de seleção ao lado de **Ativar rotulagem de dados automatizada**.

1. Maximize a seção **Configuração da VPC** do console selecionando a seta.

1. Especifique a **nuvem privada virtual (VPC)** que deseja usar no seu trabalho de rotulagem de dados automatizada.

1. Escolha a lista suspensa em **Sub-redes e selecione uma ou mais sub-redes**.

1. Escolha a lista suspensa em **Grupos de segurança** e selecione um ou mais grupos.

1. Conclua todas as etapas restantes do procedimento em [Criar um trabalho de rotulagem (Console)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-console.html).

**Adicione uma configuração de VPC a um trabalho de rotulagem de dados automatizada (console):**  
Para configurar um trabalho de rotulagem usando a operação de API do Ground Truth, `CreateLabelingJob`, siga as instruções em [Criar um trabalho de rotulagem de dados automatizada (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-automated-labeling.html#sms-create-automated-labeling-api) para configurar sua solicitação. Além dos parâmetros descritos nesta documentação, você deve incluir um parâmetro `VpcConfig` em `LabelingJobResourceConfig` para especificar uma ou mais sub-redes e grupos de segurança usando o esquema a seguir.

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

Veja a seguir um exemplo de uma [solicitação do AWS Python SDK (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job) para criar um trabalho de rotulagem de dados automatizada na região Leste dos EUA (Norte da Virgínia) usando uma força de trabalho privada. Substitua tudo *red-italicized text* pelos recursos e especificações do seu trabalho de etiquetagem. Para saber mais sobre a `CreateLabelingJob` operação, consulte o tutorial [Create a Labeling Job (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html) e a documentação [CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)da 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"
        },
    ]
)
```

# Use o modo Amazon VPC a partir de um portal de operador privado
<a name="samurai-vpc-worker-portal"></a>

Para restringir o acesso ao portal do operador aos rotuladores que trabalham dentro da sua Amazon VPC, você pode adicionar uma configuração da VPC ao criar uma força de trabalho privada da Ground Truth. Você também pode adicionar uma configuração da VPC a uma força de trabalho privada existente. O Ground Truth cria automaticamente endpoints de VPC de interface em sua VPC e se configura o AWS PrivateLink entre seu endpoint de VPC e os serviços Ground Truth. A URL do portal do operador associada à força de trabalho pode ser acessado de sua VPC. A URL do portal do operador também pode ser acessada pela Internet pública até que você defina a restrição na Internet pública. Quando você exclui a força de trabalho ou remove a configuração da VPC de sua força de trabalho, o Ground Truth exclui automaticamente os endpoints da VPC associados à força de trabalho.

**nota**  
Pode haver apenas uma VPC compatível com uma força de trabalho.

As tarefas de [Nuvem de Pontos](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html) e de [vídeo](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video.html) não oferecem apoio ao carregamento por meio de uma VPC.

O guia monstra instruções sobre como concluir as etapas necessárias para adicionar e excluir uma configuração do Amazon VPC da sua força de trabalho e satisfazer os pré-requisitos.

## Pré-requisitos
<a name="samurai-vpc-getting-started-prerequisites"></a>

Para executar uma de rotulagem de veracidade Ground Truth no Amazon VPC, revise os seguintes pré-requisitos:
+ Você tem uma Amazon VPC configurada que você pode usar. Se você não configurou uma VPC, siga estas instruções para [criar uma VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#interface-endpoint-shared-subnets).
+ Dependendo de como um [modelo de tarefas de operador](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-instructions-overview.html) é escrito, os dados de rotulagem armazenados em um bucket do Amazon S3 podem ser acessados diretamente do Amazon S3 durante as tarefas de rotulagem. Nesses casos, a rede VPC deve ser configurada para permitir o tráfego do dispositivo usado pelo rotulador humano para o bucket do S3 contendo dados de rotulagem.
+ Siga [Exibir e atualizar atributos DNS para sua VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) para habilitar nomes de host DNS e a resolução de DNS da sua VPC.

**nota**  
Há duas maneiras de configurar sua VPC para sua força de trabalho. Você pode fazer isso por meio do [console](https://console.aws.amazon.com/sagemaker) ou da AWS SageMaker AI [CLI](https://aws.amazon.com/cli/).

# Usando o console de SageMaker IA para gerenciar uma configuração de VPC
<a name="samurai-vpc-workforce-console"></a>

Você pode usar o [console de SageMaker IA](https://console.aws.amazon.com/sagemaker) para adicionar ou remover uma configuração de VPC. Você também pode excluir uma força de trabalho existente.

## Adicionando uma configuração da VPC à sua força de trabalho
<a name="samurai-add-vpc-workforce"></a>

### Criando uma força de trabalho privada
<a name="samurai-vpc-create-workforce"></a>
+ [Criando uma força de trabalho privada usando o Amazon Cognito](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-cognito.html)
+ [Criando uma força de trabalho privada usando o provedor de identidades (IdP) OpenID Connect (OIDC)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-oidc.html).

Depois de criar sua força de trabalho privada, adicione uma configuração da VPC a ela.

1. Navegue até o [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) em seu console.

1. Selecione **Forças de trabalho de rotulagem** no painel esquerdo.

1. Selecione **Privado** para acessar sua força de trabalho privada. Depois que seu **status da força de trabalho** estiver **Ativo**, selecione **Adicionar** ao lado de **VPC**.

1. Quando você vir a mensagem para configurar a VPC, forneça o seguinte:

   1. Sua **VPC**

   1. **Sub-redes**

      1. Certifique-se de que sua VPC tenha uma sub-rede existente

   1. **Grupos de segurança**

      1. 
**nota**  
Você não pode selecionar mais que 5 grupos de segurança.

   1. Depois de preencher essas informações, escolha **Confirmar**.

1. Depois de escolher **Confirmar**, você será redirecionado de volta à página **Privada** em **Forças de trabalho de rotulagem**. Você verá um banner verde na parte superior que diz **A atualização da sua força de trabalho privada com a configuração da VPC foi inicializada com êxito.** O status da força de trabalho será **Atualizando**. Ao lado do botão **Excluir força de trabalho** está o botão **Atualizar**, que pode ser usado para recuperar o status mais recente do **Status da força de trabalho.** Depois que o status da força de trabalho for alterado para **Ativo**, o ID do endpoint da VPC também será atualizado.

## Removendo uma configuração da VPC da sua força de trabalho
<a name="samurai-remove-vpc-workforce"></a>

Use as informações a seguir para remover uma configuração da VPC da sua força de trabalho usando o console.

1. Navegue até o [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) em seu console.

1. Selecione **Forças de trabalho de rotulagem** no painel esquerdo.

1. Encontre e selecione sua força de trabalho.

1. Em **Resumo da força de trabalho privada**, encontre **VPC** e escolha **Remover** ao lado dela.

1. Selecione **Remover**.

## Excluir uma força de trabalho por meio do console
<a name="samurai-delete-vpc-workforce"></a>

Se você excluir uma força de trabalho, não deverá ter nenhuma equipe associada a ela. Você pode excluir uma força de trabalho apenas se o status da força de trabalho for **Ativo** ou **Falha**.

Use as informações a seguir para excluir uma força de trabalho usando o console.

1. Navegue até o [Amazon SageMaker Runtime](https://console.aws.amazon.com/sagemaker) em seu console.

1. Selecione **Forças de trabalho de rotulagem** no painel esquerdo.

1. Encontre e selecione sua força de trabalho.

1. Escolha **Excluir força de trabalho**.

1. Escolha **Excluir**.

# Usando a AWS API de SageMaker IA para gerenciar uma configuração de VPC
<a name="samurai-vpc-workforce-cli"></a>

Use as seções a seguir para saber mais sobre como gerenciar uma VPCs configuração e, ao mesmo tempo, manter o nível certo de acesso à equipe de trabalho.

## Crie uma força de trabalho com uma configuração da VPC
<a name="samurai-create-vpc-cli"></a>

Se a conta já tiver uma força de trabalho, você deverá excluí-la primeiro. Você também pode atualizar a força de trabalho com a configuração da 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"
}
```

Descreva a força de trabalho e verifique se o status é `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"
    }
}
```

Navegue até o console do Amazon VPC. Selecione **Endpoints** no painel esquerdo. Deve haver dois endpoints da VPC criados na sua conta.

## Adicionar uma configuração da VPC à sua força de trabalho
<a name="samurai-add-vpc-cli"></a>

Atualize uma força de trabalho privada que não seja da VPC com uma configuração da VPC usando o comando a seguir.

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

Descreva a força de trabalho e verifique se o status é `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"
    }
}
```

Navegue até o console do Amazon VPC. Selecione **Endpoints** no painel esquerdo. Deve haver dois endpoints da VPC criados na sua conta.

## Removendo uma configuração da VPC da sua força de trabalho
<a name="samurai-remove-vpc-cli"></a>

Atualize uma força de trabalho privada da VPC com uma configuração da VPC vazia para remover os recursos da VPC.

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

Descreva a força de trabalho e verifique se o status é `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"
    }
}
```

Navegue até o seu console do Amazon VPC. Selecione **Endpoints** no painel esquerdo. Os dois endpoints da VPC devem ser excluídos.

## Restrinja o acesso público ao portal do operador enquanto mantém o acesso por meio de uma VPC
<a name="public-access-vpc"></a>

 Os operadores em um portal de operador VPC ou não VPC podem ver os trabalhos de rotulagem atribuídos a eles. A atribuição vem da atribuição de operadores em uma equipe de trabalho por meio de grupos OIDC. É responsabilidade do cliente restringir o acesso aos seus portais público de operadores, definindo o `sourceIpConfig` em sua força de trabalho. 

**nota**  
Você pode restringir o acesso ao portal do trabalhador somente por meio da SageMaker API. Isso não pode ser feito por meio do console.

Use o comando a seguir para restringir o acesso público ao portal de operadores.

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

Depois que o `sourceIpConfig` for configurado na força de trabalho, os operadores podem acessar o portal de operadores na VPC, mas não pela Internet pública.

**nota**  
Você não pode definir a restrição `sourceIP` para o portal de operadores na VPC.

# Criptografia de volume de dados de saída e de armazenamento
<a name="sms-security"></a>

Com o Amazon SageMaker Ground Truth, você pode rotular dados altamente confidenciais, manter o controle de seus dados e empregar as melhores práticas de segurança. Enquanto sua tarefa de rotulagem está em execução, o Ground Truth criptografa os dados em trânsito e em repouso. Além disso, você pode usar AWS Key Management Service (AWS KMS) com Ground Truth para fazer o seguinte:
+ Use uma [chave gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys) para criptografar os dados de saída. 
+ Use a chave gerenciada pelo AWS KMS cliente com seu trabalho automatizado de rotulagem de dados para criptografar o volume de armazenamento anexado à instância de computação usada para treinamento e inferência de modelos. 

Use os tópicos desta página para saber mais sobre os atributos de segurança do Ground Truth.

## Use sua chave KMS para criptografar dados de saída
<a name="sms-security-kms-output-data"></a>

Opcionalmente, você pode fornecer uma chave gerenciada pelo AWS KMS cliente ao criar um trabalho de etiquetagem, que a Ground Truth usa para criptografar seus dados de saída. 

Se você não fornecer uma chave gerenciada pelo cliente, a Amazon SageMaker AI usa o padrão Chave gerenciada pela AWS do Amazon S3 na conta da sua função para criptografar seus dados de saída.

Se você fornecer uma chave gerenciada pelo cliente, você deve adicionar as permissões obrigatórias à chave descrita em [Criptografe os dados de saída e o volume de armazenamento com AWS KMS](sms-security-kms-permissions.md). Ao usar a operação de API `CreateLabelingJob`, você pode especificar o ID da chave gerenciada pelo cliente usando o parâmetro `[KmsKeyId](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobOutputConfig.html#sagemaker-Type-LabelingJobOutputConfig-KmsKeyId)`. Consulte o procedimento a seguir para saber como adicionar uma chave gerenciada pelo cliente ao criar um trabalho de rotulagem usando o console.

**Para adicionar uma AWS KMS chave para criptografar os dados de saída (console):**

1. Siga as sete etapas em [Criar um trabalho de rotulagem (console)](sms-create-labeling-job-console.md).

1. Na etapa 8, selecione a seta ao lado de **Configuração adicional** para expandir essa seção.

1. Em **Chave de criptografia**, selecione a AWS KMS chave que você deseja usar para criptografar os dados de saída.

1. Conclua o restante das etapas em [Criar um trabalho de rotulagem (console)](sms-create-labeling-job-console.md) para criar um trabalho de rotulagem.

## Use a chave do KMS para criptografar o volume de armazenamento de rotulagem automática de dados (apenas API)
<a name="sms-security-kms-storage-volume"></a>

Ao criar um trabalho de rotulagem com rotulagem de dados automatizada usando a operação de API `CreateLabelingJob`, você tem a opção de criptografar o volume de armazenamento anexado às instâncias de computação de ML que executam os trabalhos de treinamento e inferência. Para adicionar criptografia ao seu volume de armazenamento, use o parâmetro `VolumeKmsKeyId` para inserir uma chave gerenciada pelo AWS KMS cliente. Para obter mais informações sobre esse parâmetro, consulte `[LabelingJobResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobResourceConfig.html#sagemaker-Type-LabelingJobResourceConfig-VolumeKmsKeyId)`.

Se você especificar um ID de chave ou ARN para`VolumeKmsKeyId`, sua função de execução de SageMaker IA deverá incluir permissões para chamar. `kms:CreateGrant` Para saber como adicionar essa permissão a um perfil de execução, consulte [Crie uma função de execução de SageMaker IA para um trabalho de rotulagem da Ground Truth](sms-security-permission-execution-role.md).

**nota**  
Se você especificar uma chave gerenciada pelo AWS KMS cliente ao criar um trabalho de etiquetagem no console, essa chave será usada *somente* para criptografar seus dados de saída. Ele não é usado para criptografar o volume de armazenamento anexado às instâncias de computação de ML usadas para rotulagem automática de dados.

# Autenticação e restrições da força de trabalho
<a name="sms-security-workforce-authentication"></a>

O Ground Truth permite que você use sua própria força de trabalho privada para trabalhar em trabalhos de rotulagem. Uma *força de trabalho privada* é um conceito abstrato e refere-se a um conjunto de pessoas que trabalham para você. Cada trabalho de rotulagem é criado usando uma equipe de trabalho composta por operadores de sua força de trabalho. O Ground Truth é compatível com a criação de força de trabalho privada usando o Amazon Cognito. 

A força de trabalho do Ground Truth é mapeada para um grupo de usuários do Amazon Cognito. A equipe de trabalho do Ground Truth é mapeada para um grupo de usuários do Amazon Cognito. O Amazon Cognito gerencia a autenticação do operador. O Amazon Cognito é compatível com a conexão Open ID (OIDC) e os clientes podem configurar a federação do Amazon Cognito com o próprio provedor de identidades (IdP). 

A Ground Truth permite apenas uma força de trabalho por conta por AWS região. Cada força de trabalho tem um URL de login do portal de trabalho do Ground Truth dedicado. 

Você também pode restringir os trabalhadores a um intervalo de endereços de roteamento entre domínios sem classe (CIDR). block/IP Isso significa que as anotações devem estar em uma rede específica para acessar o site de anotação. Você pode adicionar até dez blocos CIDR para uma força de trabalho. Para saber mais, consulte [Gerenciamento de força de trabalho privada usando a API da Amazon SageMaker](sms-workforce-management-private-api.md).

Para saber como é possível criar uma força de trabalho privada, consulte [Criar uma força de trabalho privada (Amazon Cognito)](sms-workforce-create-private.md).

## Restringir acesso a tipos de força de trabalho
<a name="sms-security-permission-condition-keys"></a>

As equipes de trabalho do Amazon SageMaker Ground Truth se dividem em um dos três [tipos de força de trabalho](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management.html): pública (com o Amazon Mechanical Turk), privada e fornecedora. Para restringir o acesso do usuário a uma equipe de trabalho específica usando um desses tipos ou o ARN da equipe de trabalho, use `sagemaker:WorkteamType` and/or as chaves de `sagemaker:WorkteamArn` condição. Para a chave de condição `sagemaker:WorkteamType`, use [operadores de condição de string](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). Para a chave de condição `sagemaker:WorkteamArn`, use os [operadores de condição do nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). Se o usuário tentar criar um trabalho de rotulagem com uma equipe de trabalho restrita, a SageMaker IA retornará um erro de acesso negado. 

As políticas abaixo demonstram diferentes maneiras de usar as chaves de condição `sagemaker:WorkteamType` e `sagemaker:WorkteamArn`com operadores de condição apropriados e valores de condição válidos. 

O exemplo a seguir usa a chave de condição `sagemaker:WorkteamType` com o operador de condição `StringEquals` para restringir o acesso a uma equipe de trabalho pública. Ele aceita valores de condição no seguinte formato:`workforcetype-crowd`, onde *workforcetype* pode ser igual a `public``private`, ou`vendor`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sagemaker:WorkteamType": "public-crowd"
                }
            }
        }
    ]
}
```

------

As políticas a seguir mostram como restringir o acesso a uma equipe de trabalho pública usando a chave de condição `sagemaker:WorkteamArn`. O primeiro mostra como usá-lo com um regex-variant válido do ARN de equipe de trabalho e o operador de condição `ArnLike`. O segundo mostra como usá-lo com o operador de condição `ArnEquals` e o ARN da equipe de trabalho.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:*:*:workteam/public-crowd/*"
                }
            }
        }
    ]
}
```

------

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictWorkteamType",
            "Effect": "Deny",
            "Action": "sagemaker:CreateLabelingJob",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "sagemaker:WorkteamArn": "arn:aws:sagemaker:us-west-2:394669845002:workteam/public-crowd/default"
                }
            }
        }
    ]
}
```

------