

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á.

# Como configurar o Amazon Rekognition Custom Labels
<a name="setting-up"></a>

As instruções a seguir mostram como configurar o console e o SDK do Amazon Rekognition Custom Labels.

Observe que é possível usar o console do Amazon Rekognition Custom Labels com os seguintes navegadores:
+ **Chrome**: versão 21 ou posterior
+ **Firefox**: versão 27 ou posterior
+ **Microsoft Edge**: versão 88 ou posterior
+ **Safari**: versão 7 ou posterior. Além disso, você não pode usar o Safari para desenhar caixas delimitadoras com o console do Amazon Rekognition Custom Labels. Para obter mais informações, consulte [Como rotular objetos com caixas delimitadoras](md-localize-objects.md).

Antes de usar o Amazon Rekognition Custom Labels pela primeira vez, conclua as seguintes tarefas:

**Topics**
+ [Etapa 1: criar uma AWS conta](su-account.md)
+ [Etapa 2: configure as permissões do console do Amazon Rekognition Custom Labels](su-console-policy.md)
+ [Etapa 3: crie um bucket do console](su-create-console-bucket.md)
+ [Etapa 4: configurar o AWS CLI e AWS SDKs](su-awscli-sdk.md)
+ [Etapa 5: (opcional) criptografe os arquivos de treinamento](su-encrypt-bucket.md)
+ [Etapa 6: (opcional) associe conjuntos de dados anteriores com novos projetos](su-associate-prior-dataset.md)

# Etapa 1: criar uma AWS conta
<a name="su-account"></a>

Nesta etapa, você cria uma AWS conta, cria um usuário administrativo e aprende a conceder acesso programático ao AWS SDK. 

**Topics**
+ [Inscreva-se para um Conta da AWS](#sign-up-for-aws)
+ [Criar um usuário com acesso administrativo](#create-an-admin)
+ [Acesso programático](#su-sdk-programmatic-access)

## Inscreva-se para um Conta da AWS
<a name="sign-up-for-aws"></a>

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

**Para se inscrever em um Conta da AWS**

1. Abra a [https://portal.aws.amazon.com/billing/inscrição.](https://portal.aws.amazon.com/billing/signup)

1. Siga as instruções online.

   Parte do procedimento de inscrição envolve receber uma chamada telefônica ou uma mensagem de texto e inserir um código de verificação pelo teclado do telefone.

   Quando você se inscreve em um Conta da AWS, um *Usuário raiz da conta da AWS*é criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar [tarefas que exigem acesso de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando [https://aws.amazon.com/e](https://aws.amazon.com/) escolhendo **Minha conta**.

## Criar um usuário com acesso administrativo
<a name="create-an-admin"></a>

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS Centro de Identidade do AWS IAM, habilite e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

**Proteja seu Usuário raiz da conta da AWS**

1.  Faça login [Console de gerenciamento da AWS](https://console.aws.amazon.com/)como proprietário da conta escolhendo **Usuário raiz** e inserindo seu endereço de Conta da AWS e-mail. Na próxima página, insira a senha.

   Para obter ajuda ao fazer login usando o usuário-raiz, consulte [Fazer login como usuário-raiz](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) no *Guia do usuário do Início de Sessão da AWS *.

1. Habilite a autenticação multifator (MFA) para o usuário-raiz.

   Para obter instruções, consulte [Habilitar um dispositivo de MFA virtual para seu usuário Conta da AWS raiz (console) no Guia](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) do *usuário do IAM*.

**Criar um usuário com acesso administrativo**

1. Habilita o Centro de Identidade do IAM.

   Para obter instruções, consulte [Habilitar o Centro de Identidade do AWS IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. No Centro de Identidade do IAM, conceda o acesso administrativo a um usuário.

   Para ver um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como fonte de identidade, consulte [Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) no *Guia Centro de Identidade do AWS IAM do usuário*.

**Iniciar sessão como o usuário com acesso administrativo**
+ Para fazer login com o seu usuário do Centro de Identidade do IAM, use o URL de login enviado ao seu endereço de e-mail quando o usuário do Centro de Identidade do IAM foi criado.

  Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como [fazer login no portal de AWS acesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) no *Guia Início de Sessão da AWS do usuário*.

**Atribuir acesso a usuários adicionais**

1. No Centro de Identidade do IAM, crie um conjunto de permissões que siga as práticas recomendadas de aplicação de permissões com privilégio mínimo.

   Para obter instruções, consulte [Criar um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

1. Atribua usuários a um grupo e, em seguida, atribua o acesso de logon único ao grupo.

   Para obter instruções, consulte [Adicionar grupos](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

## Acesso programático
<a name="su-sdk-programmatic-access"></a>

Os usuários precisam de acesso programático se quiserem interagir com pessoas AWS fora do Console de gerenciamento da AWS. A forma de conceder acesso programático depende do tipo de usuário que está acessando AWS.

Para conceder acesso programático aos usuários, selecione uma das seguintes opções:


****  

| Qual usuário precisa de acesso programático? | Para | Por | 
| --- | --- | --- | 
| IAM | (Recomendado) Use as credenciais do console como credenciais temporárias para assinar solicitações programáticas para o AWS CLI, AWS SDKs ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/su-account.html)  | 
|  Identidade da força de trabalho (Usuários gerenciados no Centro de Identidade do IAM)  | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/su-account.html)  | 
| IAM | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs | Siga as instruções em [Como usar credenciais temporárias com AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) no Guia do usuário do IAM. | 
| IAM | (Não recomendado)Use credenciais de longo prazo para assinar solicitações programáticas para o AWS CLI, AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/su-account.html)  | 

# Etapa 2: configure as permissões do console do Amazon Rekognition Custom Labels
<a name="su-console-policy"></a>

Para usar o console do Amazon Rekognition, é preciso adicionar para ter as permissões apropriadas. Se quiser armazenar seus arquivos de treinamento em um bucket diferente do [bucket do console](su-create-console-bucket.md), precisará de permissões adicionais.

**Topics**
+ [Como permitir o acesso ao console](#su-console-access)
+ [Como acessar os buckets externos do Amazon S3](#su-external-buckets)
+ [Como atribuir permissões](#su-assign-permissions)

## Como permitir o acesso ao console
<a name="su-console-access"></a>

Para usar o console Amazon Rekognition Custom Labels, você precisa da seguinte política do IAM que abrange Amazon S3, AI SageMaker Ground Truth e Amazon Rekognition Custom Labels. Para obter informações sobre como atribuir permissões, consulte [Como atribuir permissões](#su-assign-permissions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "s3Policies",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:CreateBucket",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectVersion",
                "s3:GetObjectTagging",
                "s3:GetBucketVersioning",
                "s3:GetObjectVersionTagging",
                "s3:PutBucketCORS",
                "s3:PutLifecycleConfiguration",
                "s3:PutBucketPolicy",
                "s3:PutObject",
                "s3:PutObjectTagging",
                "s3:PutBucketVersioning",
                "s3:PutObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::custom-labels-console-*"

            ]
        },
        {
            "Sid": "rekognitionPolicies",
            "Effect": "Allow",
            "Action": [
                "rekognition:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "groundTruthPolicies",
            "Effect": "Allow",
            "Action": [
                "groundtruthlabeling:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Como acessar os buckets externos do Amazon S3
<a name="su-external-buckets"></a>

Quando você abre pela primeira vez o console do Amazon Rekognition Custom Labels em uma nova AWS região, o Amazon Rekognition Custom Labels cria um bucket (bucket do console) que é usado para armazenar arquivos do projeto. Como alternativa, você pode usar seu próprio bucket do Amazon S3 (bucket externo) para carregar as imagens ou o arquivo de manifesto no console. Para usar um bucket externo, adicione o bloco de políticas a seguir à política anterior. Substitua `amzn-s3-demo-bucket` pelo nome do bucket.

```
        {
            "Sid": "s3ExternalBucketPolicies",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectVersion",
                "s3:GetObjectTagging",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket*"
            ]
        }
```

## Como atribuir permissões
<a name="su-assign-permissions"></a>

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
+ Usuários e grupos em Centro de Identidade do AWS IAM:

  Crie um conjunto de permissões. Siga as instruções em [Criação de um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.
+ Usuários gerenciados no IAM com provedor de identidades:

  Crie um perfil para a federação de identidades. Siga as instruções em [Criando um perfil para um provedor de identidades de terceiros (federação)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) no *Guia do Usuário do IAM*.
+ Usuários do IAM:
  + Crie um perfil que seu usuário possa assumir. Siga as instruções em [Criação de um perfil para um usuário do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.
  + (Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em [Adição de permissões a um usuário (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

# Etapa 3: crie um bucket do console
<a name="su-create-console-bucket"></a>

Um projeto do Amazon Rekognition Custom Labels é usado para criar e gerenciar seus modelos. Quando você abre o console Amazon Rekognition Custom Labels pela primeira vez em uma nova AWS região, o Amazon Rekognition Custom Labels cria um bucket do Amazon S3 (bucket do console) para armazenar seus projetos. Você deve anotar o nome do bucket do console em algum lugar onde possa consultá-lo posteriormente, pois talvez seja necessário usar o nome do bucket nas operações do AWS SDK ou nas tarefas do console, como criar um conjunto de dados.

O formato do nome do bucket é `custom-labels-console` - *<region>* -*<random value>*. O valor aleatório garante que não haja uma colisão entre os nomes dos buckets.

**Para criar o bucket do console**

1. Certifique-se de que o usuário tenha as permissões corretas. Para obter mais informações, consulte [Como permitir o acesso ao console](su-console-policy.md#su-console-access).

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Rekognition em. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Escolha **Começar**.

1. Se for a primeira vez que abrir o console na região da AWS atual, faça o seguinte na caixa de diálogo **Primeira configuração**:

   1. Copie o nome do bucket do Amazon S3 exibido. Você precisará dessas informações posteriormente.

   1. Escolha **Criar bucket do S3** para permitir que os Amazon Rekognition Custom Labels criem um bucket do Amazon S3 (bucket de console) em seu nome.

1. Feche a janela do navegador.

# Etapa 4: configurar o AWS CLI e AWS SDKs
<a name="su-awscli-sdk"></a>

Você pode usar etiquetas personalizadas do Amazon Rekognition com () e. AWS Command Line Interface AWS CLI AWS SDKs Se você precisar executar operações do Amazon Rekognition Custom Labels do terminal, instale a AWS CLI. Se você estiver criando um aplicativo, baixe o AWS SDK para a linguagem de programação que você está usando. 

**Topics**
+ [Instale os AWS SDKS](#sdk-install-sdk)
+ [Conceder acesso programático](su-sdk-programmatic-access.md)
+ [Configurar permissões do SDK](su-sdk-permissions.md)
+ [Chame uma operação do Amazon Rekognition Custom Labels](su-sdk-list-projects.md)

## Instale os AWS SDKS
<a name="sdk-install-sdk"></a>

Siga as etapas para fazer download e configurar a AWS SDKs.

**Para configurar o AWS CLI e o AWS SDKs**
+ Baixe e instale o [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)e o AWS SDKs que você deseja usar. Este guia fornece exemplos para o AWS CLI, [Java](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup.html) e [Python](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation). Para obter informações sobre a instalação AWS SDKs, consulte [Tools for Amazon Web Services](https://aws.amazon.com/tools/).

# Conceder acesso programático
<a name="su-sdk-programmatic-access"></a>

Você pode executar os exemplos de código AWS CLI e os exemplos deste guia em seu computador local ou em outros AWS ambientes, como uma instância do Amazon Elastic Compute Cloud. Para executar os exemplos, você precisa conceder acesso às operações do AWS SDK que os exemplos usam. 

**Topics**
+ [Executando código em seu computador local](#su-sdk-programmatic-access-general)
+ [Executando código em AWS ambientes](#su-sdk-aws-environments)

## Executando código em seu computador local
<a name="su-sdk-programmatic-access-general"></a>

Para executar código em um computador local, recomendamos que você use credenciais de curto prazo para conceder ao usuário acesso às operações do AWS SDK. Para obter informações específicas sobre como executar o AWS CLI e exemplos de código em um computador local, consulte[Usando um perfil em seu computador local](#su-sdk-programmatic-access-customlabels-examples).

Os usuários precisam de acesso programático se quiserem interagir com pessoas AWS fora do Console de gerenciamento da AWS. A forma de conceder acesso programático depende do tipo de usuário que está acessando AWS.

Para conceder acesso programático aos usuários, selecione uma das seguintes opções:


****  

| Qual usuário precisa de acesso programático? | Para | Por | 
| --- | --- | --- | 
| IAM | (Recomendado) Use as credenciais do console como credenciais temporárias para assinar solicitações programáticas para o AWS CLI, AWS SDKs ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/su-sdk-programmatic-access.html)  | 
|  Identidade da força de trabalho (Usuários gerenciados no Centro de Identidade do IAM)  | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/su-sdk-programmatic-access.html)  | 
| IAM | Use credenciais temporárias para assinar solicitações programáticas para o AWS CLI AWS SDKs, ou. AWS APIs | Siga as instruções em [Como usar credenciais temporárias com AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) no Guia do usuário do IAM. | 
| IAM | (Não recomendado)Use credenciais de longo prazo para assinar solicitações programáticas para o AWS CLI, AWS SDKs, ou. AWS APIs |  Siga as instruções da interface que deseja utilizar. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/rekognition/latest/customlabels-dg/su-sdk-programmatic-access.html)  | 

### Usando um perfil em seu computador local
<a name="su-sdk-programmatic-access-customlabels-examples"></a>

Você pode executar os exemplos de código AWS CLI e de código neste guia com as credenciais de curto prazo que você criou. [Executando código em seu computador local](#su-sdk-programmatic-access-general) Para obter as credenciais e outras informações de configurações, os exemplos usam um perfil chamado `custom-labels-access`, por exemplo: 

```
session = boto3.Session(profile_name='custom-labels-access')
rekognition_client = session.client("rekognition")
```

O usuário que o perfil representa deve ter permissões para chamar as operações do SDK do Amazon Rekognition Custom Labels e outras operações AWS do SDK exigidas pelos exemplos. Para obter mais informações, consulte [Configurar permissões do SDK](su-sdk-permissions.md). Para atribuir permissões, consulte [Configurar permissões do SDK](su-sdk-permissions.md).

Para criar um perfil que funcione com os exemplos de código AWS CLI e, escolha uma das opções a seguir. Verifique se o nome do perfil que você criou é `custom-labels-access`.
+ Usuários gerenciados pelo IAM — Siga as instruções em [Mudar para um perfil do IAM (AWS CLI)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-cli.html). 
+ Identidade da força de trabalho (usuários gerenciados por Centro de Identidade do AWS IAM) — Siga as instruções em [Configuração da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html) para uso. Centro de Identidade do AWS IAM Para os exemplos de código, recomendamos o uso de um ambiente de desenvolvimento integrado (IDE), que oferece suporte ao AWS Toolkit, permitindo a autenticação por meio do IAM Identity Center. Para ver os exemplos de Java, consulte [Começar a criar com Java](https://aws.amazon.com/developer/language/java/). Para ver os exemplos de Python, consulte [Começar a criar com Python](https://aws.amazon.com/developer/tools/#IDE_and_IDE_Toolkits). Para obter mais informações, consulte [Credenciais do IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html).

**nota**  
Você pode usar o código para obter credenciais de curto prazo. Para obter mais informações, consulte [Mudar para um perfil do IAM (API da AWS)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_use_switch-role-api.html). Para o IAM Identity Center, obtenha as credenciais de curto prazo para uma função seguindo as instruções em [Obter credenciais de perfil do IAM para acesso à CLI](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html). 

## Executando código em AWS ambientes
<a name="su-sdk-aws-environments"></a>

Você não deve usar as credenciais do usuário para assinar chamadas do AWS SDK em AWS ambientes, como código de produção executado em uma AWS Lambda função. Em vez disso, você configura uma função que define as permissões de que seu código precisa. Em seguida, você atribui a função ao ambiente em que seu código é executado. A forma como você atribui a função e disponibiliza credenciais temporárias varia de acordo com o ambiente em que seu código é executado:
+ AWS Lambda função — Use as credenciais temporárias que o Lambda fornece automaticamente à sua função quando assume a função de execução da função Lambda. As credenciais estão disponíveis nas variáveis de ambiente do Lambda. Você não precisa especificar um perfil. Para obter mais informações, consulte [Função de execução do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).
+ Amazon EC2 — Use o provedor de credenciais de endpoint de metadados da instância Amazon EC2. O provedor gera e atualiza automaticamente as credenciais para você usando o *perfil da instância* do Amazon EC2 que você anexa à instância do Amazon EC2. Para obter mais informações, consulte [Usar um perfil do IAM para conceder permissões a aplicativos executados em instâncias do Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)
+ Amazon Elastic Container Service — Use o provedor de credenciais do Container. O Amazon ECS envia e atualiza as credenciais para um endpoint de metadados. Um *perfil do IAM de tarefa* que você especifica fornece uma estratégia para gerenciar as credenciais que seu aplicativo usa. Para obter mais informações, consulte [Interagir com os serviços da AWS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

Para obter mais informações sobre provedores de credenciais, consulte [Provedores padronizados de credenciais](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html).

# Configurar permissões do SDK
<a name="su-sdk-permissions"></a>

Para usar as operações do Amazon Rekognition Custom Labels SDK, você precisa de permissões de acesso à API do Amazon Rekognition Custom Labels e ao bucket do Amazon S3 usado para treinamento de modelos.

**Topics**
+ [Conceder permissões de operação do SDK](#su-grant-sdk-permissions)
+ [Atualizações de políticas para usar o AWS SDK](#su-sdk-policy-update)
+ [Como atribuir permissões](#su-sdk-assign-permissions)

## Conceder permissões de operação do SDK
<a name="su-grant-sdk-permissions"></a>

É recomendável conceder apenas as permissões necessárias para executar uma tarefa (permissões de privilégio mínimo). Por exemplo, para ligar [DetectCustomLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectCustomLabels.html), você precisa de permissão para executar`rekognition:DetectCustomLabels`. Para encontrar as permissões para uma operação, verifique a [referência da API](https://docs.aws.amazon.com/rekognition/latest/APIReference/Welcome.html). 

Quando estiver apenas começando a usar um aplicativo, talvez não saiba as permissões específicas de que precisa, então é possível começar com permissões mais amplas. As políticas gerenciadas pela AWS fornecem permissões para ajudá-lo a começar. Você pode usar a política `AmazonRekognitionCustomLabelsFullAccess` AWS gerenciada para obter acesso completo à API Amazon Rekognition Custom Labels. Para obter mais informações, consulte a [política gerenciada da AWS: AmazonRekognitionCustomLabelsFullAccess](https://docs.aws.amazon.com/rekognition/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-custom-labels-full-access). Quando você conhece as permissões de que sua aplicação precisa, reduza ainda mais as permissões definindo políticas gerenciadas pelo cliente específicas para seus casos de uso. Para obter mais informações, consulte [ Políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies). 

Para atribuir permissões, consulte [Como atribuir permissões](#su-sdk-assign-permissions).

## Atualizações de políticas para usar o AWS SDK
<a name="su-sdk-policy-update"></a>

Para usar o AWS SDK com a versão mais recente do Amazon Rekognition Custom Labels, você não precisa mais conceder permissões aos Amazon Rekognition Custom Labels para acessar o bucket do Amazon S3 que contém suas imagens de treinamento e teste. Se adicionou permissões anteriormente, não é necessário removê-las. Se optar por isso, remova qualquer política do bucket onde o serviço para a entidade principal é `rekognition.amazonaws.com`. Por exemplo:

```
"Principal": {
    "Service": "rekognition.amazonaws.com"
}
```

Para obter mais informações, consulte [Como usar políticas de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html).

## Como atribuir permissões
<a name="su-sdk-assign-permissions"></a>

Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
+ Usuários e grupos em Centro de Identidade do AWS IAM:

  Crie um conjunto de permissões. Siga as instruções em [Criação de um conjunto de permissões](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.
+ Usuários gerenciados no IAM com provedor de identidades:

  Crie um perfil para a federação de identidades. Siga as instruções em [Criando um perfil para um provedor de identidades de terceiros (federação)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) no *Guia do Usuário do IAM*.
+ Usuários do IAM:
  + Crie um perfil que seu usuário possa assumir. Siga as instruções em [Criação de um perfil para um usuário do IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.
  + (Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em [Adição de permissões a um usuário (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

# Chame uma operação do Amazon Rekognition Custom Labels
<a name="su-sdk-list-projects"></a>

Execute o código a seguir para confirmar que é possível fazer chamadas para a API Amazon Rekognition Custom Labels. O código lista os projetos em sua AWS conta, na AWS região atual. Se ainda não tiver criado um projeto, a resposta está vazia, mas confirma que é possível chamar a operação `DescribeProjects`. 

Em geral, chamar uma função de exemplo requer um cliente do AWS SDK Rekognition e quaisquer outros parâmetros necessários. O cliente do AWS SDK é declarado na função principal. 

Se o código falhar, verifique se o usuário que você usa tem as permissões corretas. Verifique também se a AWS região que você está usando como etiquetas personalizadas do Amazon Rekognition não está disponível em todas as regiões. AWS 

**Para chamar uma operação do Amazon Rekognition Custom Labels**

1. Se você ainda não tiver feito isso, instale e configure o AWS CLI e AWS SDKs o. Para obter mais informações, consulte [Etapa 4: configurar o AWS CLI e AWS SDKs](su-awscli-sdk.md).

1. Use o código de exemplo a seguir para visualizar seus projetos.

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

   Use o comando `describe-projects` para listar os projetos em sua conta.

   ```
   aws rekognition describe-projects \
   --profile custom-labels-access
   ```

------
#### [ Python ]

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   This example shows how to describe your Amazon Rekognition Custom Labels projects.
   If you haven't previously created a project in the current AWS Region,
   the response is an empty list, but does confirm that you can call an
   Amazon Rekognition Custom Labels operation.
   """
   from botocore.exceptions import ClientError
   import boto3
   
   def describe_projects(rekognition_client):
       """
       Lists information about the projects that are in in your AWS account
       and in the current AWS Region.
   
       : param rekognition_client: A Boto3 Rekognition client.
       """
       try:
           response = rekognition_client.describe_projects()
           for project in response["ProjectDescriptions"]:
               print("Status: " + project["Status"])
               print("ARN: " + project["ProjectArn"])
               print()
           print("Done!")
       except ClientError as err:
           print(f"Couldn't describe projects. \n{err}")
           raise
   
   
   def main():
       """
       Entrypoint for script.
       """
   
       session = boto3.Session(profile_name='custom-labels-access')
       rekognition_client = session.client("rekognition")
   
       describe_projects(rekognition_client)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   ```
   /*
      Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
      SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.ArrayList;
   import java.util.List;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.regions.Region;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DatasetMetadata;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class Hello {
   
       public static final Logger logger = Logger.getLogger(Hello.class.getName());
   
       public static void describeMyProjects(RekognitionClient rekClient) {
   
           DescribeProjectsRequest descProjects = null;
   
           // If a single project name is supplied, build projectNames argument
   
           List<String> projectNames = new ArrayList<String>();
   
   
           descProjects = DescribeProjectsRequest.builder().build();
   
           // Display useful information for each project.
   
           DescribeProjectsResponse resp = rekClient.describeProjects(descProjects);
   
           for (ProjectDescription projectDescription : resp.projectDescriptions()) {
   
               System.out.println("ARN: " + projectDescription.projectArn());
               System.out.println("Status: " + projectDescription.statusAsString());
               if (projectDescription.hasDatasets()) {
                   for (DatasetMetadata datasetDescription : projectDescription.datasets()) {
                       System.out.println("\tdataset Type: " + datasetDescription.datasetTypeAsString());
                       System.out.println("\tdataset ARN: " + datasetDescription.datasetArn());
                       System.out.println("\tdataset Status: " + datasetDescription.statusAsString());
                   }
               }
               System.out.println();
           }
   
       }
   
       public static void main(String[] args) {
   
           try {
   
               // Get the Rekognition client
               RekognitionClient rekClient = RekognitionClient.builder()
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .region(Region.US_WEST_2)
                   .build();
               
               // Describe projects
   
               describeMyProjects(rekClient);
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
       }
   
   }
   ```

------

# Etapa 5: (opcional) criptografe os arquivos de treinamento
<a name="su-encrypt-bucket"></a>

É possível escolher uma das seguintes opções para criptografar os arquivos de manifesto e os arquivos de imagem do Amazon Rekognition Custom Labels que estão em um bucket de console ou em um bucket externo do Amazon S3.
+ Use uma chave do Amazon S3 (SSE-S3).
+ Use seu AWS KMS key. 
**nota**  
A [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal%23intro-structure-principal) chamada precisa de permissões para descriptografar os arquivos. Para obter mais informações, consulte [Descriptografando arquivos criptografados com AWS Key Management Service](#su-kms-encryption).

Para obter informações sobre como criptografar um bucket do Amazon S3, consulte [Definir o comportamento da criptografia padrão do lado do servidor para os buckets do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html).

## Descriptografando arquivos criptografados com AWS Key Management Service
<a name="su-kms-encryption"></a>

Se você usa AWS Key Management Service (KMS) para criptografar seus arquivos de manifesto e arquivos de imagem do Amazon Rekognition Custom Labels, adicione o principal do IAM que chama Amazon Rekognition Custom Labels à política de chaves da chave KMS. Isso permite que o Amazon Rekognition Custom Labels descriptografe seus arquivos de manifesto e de imagem antes do treinamento. Para obter mais informações, consulte [Meu bucket do Amazon S3 tem criptografia padrão usando uma chave do AWS KMS personalizada. Como permitir que os usuários baixem e façam upload para o bucket?](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-access-default-encryption/)

A entidade principal do IAM precisa das permissões a seguir na chave do KMS.
+ kms:GenerateDataKey
+ kms:Decrypt

Para obter mais informações, consulte [Como proteger dados usando criptografia do lado do servidor com chaves KMS armazenadas no AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).

## Como criptografar imagens copiadas de treinamento e teste
<a name="w2aab8c21c11"></a>

Para treinar seu modelo, o Amazon Rekognition Custom Labels faz uma cópia das imagens originais de treinamento e teste. Por padrão, as imagens copiadas são criptografadas em repouso com uma chave que a AWS possui e gerencia. Também é possível optar por usar a sua própria AWS KMS key. Se usa sua própria chave do KMS, precisará das permissões a seguir na chave do KMS.
+ kms:CreateGrant
+ kms:DescribeKey

Opcionalmente, especifique a chave KMS ao treinar o modelo com o console ou ao chamar a operação `CreateProjectVersion`. A chave KMS que você usa não precisa ser a mesma chave KMS que você usa para criptografar arquivos de manifesto e imagem em seu bucket do Amazon S3. Para obter mais informações, consulte [Etapa 5: (opcional) criptografe os arquivos de treinamento](#su-encrypt-bucket). 

Para obter mais informações, consulte [Conceitos do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). Suas imagens de origem não são afetadas.

Para obter informações sobre como treinar um modelo, consulte [Como treinar um modelo do Amazon Rekognition Custom Labels](training-model.md).

# Etapa 6: (opcional) associe conjuntos de dados anteriores com novos projetos
<a name="su-associate-prior-dataset"></a>

O Amazon Rekognition Custom Labels agora gerencia conjuntos de dados com projetos. Os conjuntos de dados anteriores (anteriores) que você criou são somente para leitura e devem ser associados a um projeto antes que você possa usá-los. Ao abrir a página de detalhes de um projeto com o console, associamos automaticamente os conjuntos de dados que treinaram a versão mais recente do modelo do projeto ao projeto. A associação automática de um conjunto de dados a um projeto não acontece se você estiver usando o AWS SDK.

Os conjuntos de dados anteriores não associados nunca foram usados para treinar um modelo ou foram usados para treinar uma versão anterior de um modelo. A página Conjuntos de dados anteriores mostra todos os seus conjuntos de dados associados e não associados.

Para usar um conjunto de dados anterior não associado, você cria um novo projeto na página Conjuntos de dados anteriores. O conjunto de dados se torna o conjunto de dados de treinamento para o novo projeto. Também é possível criar um projeto para um conjunto de dados já associado, pois os conjuntos de dados anteriores podem ter várias associações. 

**Para associar um conjunto de dados anterior a um novo projeto**

1. Abra o console do Amazon Rekognition em. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. No painel esquerdo, escolha **Usar rótulos personalizados**. A página inicial do Amazon Rekognition Custom Labels é exibida. 

1. No painel de navegação esquerdo, selecione **Conjuntos de dados anteriores**.

1. Na visualização de conjuntos de dados, escolha o conjunto de dados anterior que você deseja associar a um projeto.

1. Escolha **Criar projeto com conjunto de dados**.

1. Na janela **Criar um projeto**, insira um nome para seu novo projeto em **Nome do projeto**.

1. Escolha **Criar projeto** para criar o projeto. O projeto pode demorar um pouco para ser criado.

1. Use o projeto. Para obter mais informações, consulte [Noções básicas do Amazon Rekognition Custom Labels](understanding-custom-labels.md). 

## Como usar um conjunto de dados anterior como um conjunto de dados de teste
<a name="su-prior-dataset-as-test-dataset"></a>

É possível usar um conjunto de dados anterior como conjunto de dados de teste para um projeto existente associando primeiro o conjunto de dados anterior a um novo projeto. O conjunto de dados de teste do novo projeto é copiado ao conjunto de dados de treinamento do projeto existente.

**Para usar um conjunto de dados anterior como um conjunto de dados de teste**

1. Siga as instruções em [Etapa 6: (opcional) associe conjuntos de dados anteriores com novos projetos](#su-associate-prior-dataset) para associar o conjunto de dados anterior a um novo projeto. 

1. Crie o conjunto de dados de teste no projeto existente usando a cópia do conjunto de dados de treinamento do novo projeto. Para obter mais informações, consulte [Copiar conteúdo de um conjunto de dados existente](md-create-dataset-existing-dataset.md).

1. Siga as instruções em [Como excluir um projeto do Amazon Rekognition Custom Labels (console)](mp-delete-project.md#mp-delete-project-console) para excluir o novo projeto. 

Como alternativa, é possível criar o conjunto de dados de teste usando o arquivo de manifesto do conjunto de dados anterior. Para obter mais informações, consulte [Criar um arquivo de manifesto](md-create-manifest-file.md).