

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

# Use um registro do Docker que exija autenticação para treinamento
<a name="docker-containers-adapt-your-own-private-registry-authentication"></a>

Se seu registro do Docker exigir autenticação, você deverá criar uma AWS Lambda função que forneça credenciais de acesso à IA. SageMaker Em seguida, crie um trabalho de treinamento e forneça o ARN dessa função do Lambda dentro da API [create\$1training\$1job](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_training_job). Por fim, você pode criar opcionalmente um Endpoint de interface da VPC para que sua VPC possa se comunicar com a função do Lambda sem enviar tráfego pela Internet. O guia a seguir mostra como criar uma função do Lambda, atribuir a ela a função correta e criar um Endpoint de interface da VPC.

## Criar a função do Lambda
<a name="docker-containers-adapt-your-own-private-registry-authentication-create-lambda"></a>

Crie uma AWS Lambda função que transmita as credenciais de acesso para a SageMaker IA e retorne uma resposta. O exemplo de código a seguir cria o manipulador da função do Lambda, da seguinte forma.

```
def handler(event, context):
   response = {
      "Credentials": {"Username": "username", "Password": "password"}
   }
   return response
```

O tipo de autenticação usado para configurar o registro privado do Docker determina o conteúdo da resposta retornada pela função do Lambda da seguinte forma.
+ Se seu registro privado do Docker usar autenticação básica, a função Lambda retornará o nome de usuário e a senha necessários para se autenticar no registro.
+ Se o seu registro privado do Docker usar a [autenticação do token do portador](https://docs.docker.com/registry/spec/auth/token/), o nome de usuário e a senha serão enviados ao seu servidor de autorização, que então retornará um token do portador. Esse token é então usado para se autenticar em seu registro privado do Docker.

**nota**  
Se você tiver mais de uma função do Lambda para seus registros na mesma conta e a função de execução for a mesma para seus trabalhos de treinamento, os trabalhos de treinamento para registro terão acesso às funções do Lambda para outros registros.

## Conceda as permissões de função corretas para a função do Lambda.
<a name="docker-containers-adapt-your-own-private-registry-authentication-lambda-role"></a>

O [IAMrole](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html)que você usa na `create_training_job` API deve ter permissão para chamar uma AWS Lambda função. O exemplo de código a seguir mostra como estender uma política de permissões a uma função do IAM para chamar `myLambdaFunction`.

```
{
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction"
    ],
    "Resource": [
        "arn:aws:lambda:*:*:function:*myLambdaFunction*"
    ]
}
```

Para saber mais sobre como editar uma política de permissões de uma função, consulte [Modificar a política de permissões de uma função (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy), no *Guia do usuário do Gerenciamento de acesso do AWS *.

**nota**  
Uma função do IAM com uma política **AmazonSageMakerFullAccess**gerenciada anexada tem permissão para chamar qualquer função do Lambda com “SageMaker AI” em seu nome.

## Criar um Endpoint de interface da VPC para o Lambda
<a name="docker-containers-adapt-your-own-private-registry-authentication-lambda-endpoint"></a>

Se você criar um endpoint de interface, a Amazon VPC poderá se comunicar com a função do Lambda sem enviar tráfego pela Internet. Para obter mais informações, consulte [Configurar endpoints da VPC de interface para o Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc-endpoints.html) no *Guia do desenvolvedor AWS Lambda *.

Depois que seu endpoint de interface for criado, o SageMaker treinamento chamará sua função Lambda enviando uma solicitação por meio de sua VPC para. `lambda.region.amazonaws.com` Se você selecionar **Habilitar nome DNS** ao criar seu endpoint de interface, o [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) roteará a chamada para o endpoint da interface Lambda. Se você usar um provedor de DNS diferente, deverá relacionar o `lambda.region.amazonaws.co` ao endpoint da interface Lambda.