

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

# Adicione as permissões necessárias para usar AWS Lambda com o Ground Truth
<a name="sms-custom-templates-step3-lambda-permissions"></a>

Talvez seja necessário configurar alguns ou todos os itens a seguir para criar e usar AWS Lambda com o Ground Truth. 
+ Você precisa conceder permissão a uma função ou usuário do IAM (coletivamente, uma entidade do IAM) para criar as funções Lambda de pré-anotação e pós-anotação usando e escolhê-las ao criar o trabalho de AWS Lambda rotulagem. 
+ A função de execução do IAM especificada quando o trabalho de rotulagem é configurado precisa de permissão para invocar as funções do Lambda de pré-anotação e pós-anotação. 
+ As funções de pós-anotação do Lambda podem precisar de permissão para acessar o Amazon S3.

Use as seções a seguir para aprender como criar as entidades do IAM e conceder as permissões descritas acima.

**Topics**
+ [Conceder permissão para criar e selecionar uma AWS Lambda função](#sms-custom-templates-step3-postlambda-create-perms)
+ [Conceda permissão da função de execução do IAM para invocar AWS Lambda funções](#sms-custom-templates-step3-postlambda-execution-role-perms)
+ [Conceder permissões Lambda de pós-anotação para acessar a anotação](#sms-custom-templates-step3-postlambda-perms)

## Conceder permissão para criar e selecionar uma AWS Lambda função
<a name="sms-custom-templates-step3-postlambda-create-perms"></a>

Se você não precisar de permissões granulares para desenvolver funções Lambda de pré-anotação e pós-anotação, poderá anexar a política gerenciada a um usuário ou função. AWS `AWSLambda_FullAccess` Essa política concede amplas permissões para usar todos os recursos do Lambda, bem como permissão para realizar ações em outros AWS serviços com os quais o Lambda interage.

Para criar uma política mais granular para casos de uso sensíveis à segurança, consulte a documentação [Políticas de IAM baseadas em identidade para Lambda no Guia do Desenvolvedor para](https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html) saber como criar uma política de IAM adequada ao seu caso de uso. AWS Lambda 

**Políticas para usar o console do Lambda**

Se você quiser conceder permissão a uma entidade do IAM para usar o console Lambda, consulte Como [usar o console Lambda no Guia do](https://docs.aws.amazon.com/lambda/latest/dg/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-console) desenvolvedor. AWS Lambda 

Além disso, se você quiser que o usuário possa acessar e implantar as funções iniciais de pré-anotação e pós-anotação do Ground Truth usando o console Lambda, você deve especificar *`<aws-region>`* onde deseja implantar as funções (essa deve ser a mesma AWS região usada para criar o trabalho de rotulagem) e adicionar a política a seguir à função do IAM. AWS Serverless Application Repository 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "serverlessrepo:ListApplicationVersions",
                "serverlessrepo:GetApplication",
                "serverlessrepo:CreateCloudFormationTemplate"
            ],
            "Resource": "arn:aws:serverlessrepo:us-east-1:838997950401:applications/aws-sagemaker-ground-truth-recipe"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "serverlessrepo:SearchApplications",
            "Resource": "*"
        }
    ]
}
```

------

**Políticas para ver as funções do Lambda no console Ground Truth**

Para conceder permissão a uma entidade do IAM para visualizar as funções do Lambda no console do Ground Truth quando o usuário está criando um trabalho de rotulagem personalizado, a entidade deve ter as permissões descritas em [Conceda permissão ao IAM para usar o Amazon SageMaker Ground Truth Console](sms-security-permission-console-access.md), incluindo as permissões descritas na seção [Personalizar permissões de fluxo de trabalho de rotulagem](sms-security-permission-console-access.md#sms-security-permissions-custom-workflow).

## Conceda permissão da função de execução do IAM para invocar AWS Lambda funções
<a name="sms-custom-templates-step3-postlambda-execution-role-perms"></a>

Se você adicionar a política gerenciada do IAM [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)à função de execução do IAM usada para criar o trabalho de rotulagem, essa função terá permissão para listar e invocar funções do Lambda com uma das seguintes sequências de caracteres no nome da função`GtRecipe`:`SageMaker`,,,`Sagemaker`, `sagemaker` ou. `LabelingFunction` 

Se os nomes da função do Lambda de pré-anotação ou pós-anotação não incluírem um dos termos do parágrafo anterior, ou se você precisar de mais permissões granulares do que as da política `AmazonSageMakerGroundTruthExecution` gerenciada, poderá adicionar uma política semelhante à seguinte para dar permissão ao perfil de execução para invocar funções de pré-anotação e pós-anotação:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": [
                "arn:aws:lambda:us-east-1:111122223333:function:<pre-annotation-lambda-name>",
                "arn:aws:lambda:us-east-1:111122223333:function:<post-annotation-lambda-name>"
            ]
        }
    ]
}
```

------

## Conceder permissões Lambda de pós-anotação para acessar a anotação
<a name="sms-custom-templates-step3-postlambda-perms"></a>

Conforme descrito em [Lambda de pós-anotação](sms-custom-templates-step3-lambda-requirements.md#sms-custom-templates-step3-postlambda), a solicitação Lambda pós-anotação inclui a localização dos dados de anotação no Amazon S3. Esse local é identificado pela string `s3Uri` no objeto `payload`. Para processar as anotações assim que elas chegam, mesmo para uma simples função de passagem direta, você precisa atribuir as permissões necessárias ao [perfil de execução pós-anotação do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) para ler arquivos do seu bucket do S3.

Há várias maneiras de configurar o Lambda para acessar dados de anotação no Amazon S3. Duas formas comuns são:
+ Permita que a função de execução do Lambda assuma a função de execução da SageMaker IA identificada `roleArn` na solicitação Lambda pós-anotação. Essa função de execução de SageMaker IA é aquela usada para criar o trabalho de rotulagem e tem acesso ao bucket de saída do Amazon S3 onde os dados de anotação são armazenados.
+ Conceda permissão à função de execução do Lambda para acessar diretamente o bucket de saída do Amazon S3.

Use as seguintes seções para aprender como configurar essas opções: 

**Conceda permissão à Lambda para assumir a função de execução de SageMaker IA**

Para permitir que uma função Lambda assuma uma função de execução de SageMaker IA, você deve anexar uma política à função de execução da função Lambda e modificar a relação de confiança da função de execução de SageMaker IA para permitir que a Lambda a assuma.

1. [Anexe a seguinte política do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) à função de execução da sua função Lambda para assumir a função de execução da SageMaker IA identificada em. `Resource` Substitua `222222222222` pelo [ID da conta AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Substitua `sm-execution-role` pelo nome do perfil de admissão.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::222222222222:role/sm-execution-role"
       }
   }
   ```

------

1. [Modifique a política de confiança](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy) da função de execução de SageMaker IA para incluir o seguinte`Statement`. Substitua `222222222222` pelo [ID da conta AWS](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html). Substitua `my-lambda-execution-role` pelo nome do perfil de admissão.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::222222222222:role/my-lambda-execution-role"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

**Conceder permissão do perfil de execução do Lambda para acessar o S3**

Você pode adicionar uma política semelhante à seguinte à função de execução da função do Lambda pós-anotação para dar a ela permissões de leitura do S3: *amzn-s3-demo-bucket*Substitua pelo nome do bucket de saída que você especifica ao criar um trabalho de etiquetagem.

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

****  

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

------

Para adicionar permissões de leitura do S3 a uma função de execução do Lambda no console Lambda, use o procedimento a seguir. 

**Adicione permissões de leitura do S3 à pós-anotação Lambda:**

1. Abra a página [https://console.aws.amazon.com/lambda/home#/functions](https://console.aws.amazon.com/lambda/home#/functions) no console do Lambda.

1. Escolha o nome da função de pós-anotação.

1. Escolha **Configuração** e, em seguida, escolha **Permissões**.

1. Selecione o **nome da função** e a página de resumo dessa função será aberta no console do IAM em uma nova guia. 

1. Selecione **Anexar políticas**.

1. Execute um destes procedimentos:
   + Pesquise e selecione **`AmazonS3ReadOnlyAccess`** para dar permissão à função para ler todos os buckets e objetos na conta. 
   + Se você precisar de permissões mais granulares, selecione **Criar política** e use o exemplo de política na seção anterior para criar uma política. Observe que você deve voltar para a página de resumo da função de execução depois de criar a política.

1. Se você usou a política `AmazonS3ReadOnlyAccess` gerenciada, selecione **Anexar política**. 

   Se você criou uma nova política, volte para a página de resumo da função de execução do Lambda e anexe a política que você acabou de criar.