

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

# Conceda aos serviços de contêiner Lightsail acesso aos repositórios privados do Amazon ECR
<a name="amazon-lightsail-container-service-ecr-private-repo-access"></a>

O Amazon Elastic Container Registry (Amazon ECR) é AWS um serviço gerenciado de registro de imagens de contêineres que oferece suporte a repositórios privados com permissões baseadas em recursos usando (IAM). AWS Identity and Access Management Você pode dar aos seus serviços de contêineres do Amazon Lightsail acesso aos seus repositórios privados do Amazon ECR. Região da AWS Em seguida, você pode implantar imagens do seu repositório privado para seus serviços de contêiner.

Você pode gerenciar o acesso aos serviços de contêineres do Lightsail e aos repositórios privados do Amazon ECR usando o console do Lightsail ou o (). AWS Command Line Interface AWS CLI No entanto, recomendamos que você use o console do Lightsail porque ele simplifica o processo.

Para obter mais informações sobre serviços de contêiner, consulte [Serviços de contêiner](amazon-lightsail-container-services.md). Para obter mais informações sobre o Amazon ECR, consulte o [Guia do usuário da Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html).

**Índice**
+ [Permissões obrigatórias](#ecr-private-repos-permissions)
+ [Use o console do Lightsail para gerenciar o acesso a repositórios privados](#ecr-private-repo-access-lightsail-console)
+ [Use o AWS CLI para gerenciar o acesso a repositórios privados](#ecr-private-repo-access-cli)
  + [Ativar ou desativar o perfil do IAM do extrator de imagem do Amazon ECR](#activate-ecr-puller-role)
  + [Determinar se o repositório privado do Amazon ECR tem uma instrução de política](#identify-ecr-repo-policy-statement)
    + [Adicionar uma política a um repositório privado que não tenha uma declaração de política](#ecr-private-repo-add-policy-no-policy)
    + [Adicionar uma política a um repositório privado que tenha uma declaração de política](#ecr-private-repo-add-policy-existing-policy)

## Permissões obrigatórias
<a name="ecr-private-repos-permissions"></a>

O usuário que gerenciará o acesso dos serviços de contêineres do Lightsail aos repositórios privados do Amazon ECR deve ter uma das seguintes políticas de permissões no IAM. Para obter mais informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *Guia do usuário do AWS Identity and Access Management *.

**Conceder acesso a qualquer repositório privado do Amazon ECR**

A seguinte política de permissões concede permissão para um usuário configurar o acesso a qualquer repositório privado do Amazon ECR.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageEcrPrivateRepositoriesAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:DeleteRepositoryPolicy",
                "ecr:GetRepositoryPolicy"
            ],
            "Resource": "arn:aws:ecr:*:111122223333:repository/*"
        }
    ]
}
```

------

Na política, *AwsAccountId* substitua pelo número de identificação AWS da sua conta.

**Conceder acesso a um repositório privado específico do Amazon ECR**

A seguinte política de permissões concede permissão para um usuário configurar o acesso a um repositório privado específico do Amazon ECR em uma Região da AWS específica.

Na política, substitua o seguinte exemplo de texto pelo seu próprio texto:
+ *AwsRegion*— O Região da AWS código (por exemplo,`us-east-1`) do repositório privado. Seu serviço de contêiner do Lightsail deve estar nos Região da AWS mesmos repositórios privados que você deseja acessar.
+ *AwsAccountId*— O número de identificação da sua AWS conta.
+ *RepositoryName*— O nome do repositório privado para o qual você deseja gerenciar o acesso.

Veja a seguir um exemplo da política de permissões preenchida com valores de exemplo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ManageEcrPrivateRepositoriesAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:SetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:DeleteRepositoryPolicy",
                "ecr:GetRepositoryPolicy"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-private-repo"
        }
    ]
}
```

------

## Use o console do Lightsail para gerenciar o acesso a repositórios privados
<a name="ecr-private-repo-access-lightsail-console"></a>

Conclua o procedimento a seguir para usar o console do Lightsail para gerenciar o acesso de um serviço de contêiner do Lightsail a um repositório privado do Amazon ECR.

1. Faça login no console do [Lightsail](https://lightsail.aws.amazon.com/).

1. No painel de navegação esquerdo, escolha **Contêineres**.

1. Escolha o nome do serviço de contêiner para o qual você deseja configurar o acesso a um repositório privado do Amazon ECR.  
![\[Serviço de contêiner no console Lightsail\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/container-service-card.png)

1. Selecione a guia **Images** (Imagens).  
![\[Aba Imagens na página de gerenciamento de serviços de contêineres do console Lightsail\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/container-service-images-tab.png)

1. Escolha **Adicionar repositório** para conceder ao serviço de contêiner acesso a um repositório privado do Amazon ECR.
**nota**  
Escolha **Remover** para remover o acesso do serviço de contêiner de um repositório privado do Amazon ECR adicionado anteriormente.  
![\[Seção de repositórios privados do Amazon ECR da guia Imagens\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/container-service-ecr-repos-section.png)

1. Na lista suspensa exibida, selecione o repositório privado que gostaria de acessar e escolha **Add** (Adicionar).  
![\[Seleção de menu suspenso de repositórios privados do Amazon ECR\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/container-service-ecr-repos-selection.png)

   O Lightsail leva alguns minutos para ativar a função IAM do Amazon ECR Image Puller para seu serviço de contêiner, que inclui um Amazon Resource Name (ARN) principal. Em seguida, o Lightsail adiciona automaticamente o ARN principal da função do IAM à política de permissões do repositório privado do Amazon ECR que você selecionou. Isso permite que o serviço de contêiner tenha acesso ao repositório privado e às imagens. Não feche a janela do navegador até que o modal exibido indique que o processo foi concluído e que você pode escolher **Continue** (Continuar).  
![\[Modal confirmando que as permissões estão sendo adicionadas ao repositório privado do Amazon ECR\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/container-service-ecr-repos-confirmation-modal.png)

1. Selecione **Continue** (Continuar) quando a ativação for concluída.

   Após o repositório privado do Amazon ECR selecionado ser adicionado, ele será listado na seção **Repositórios privados do Amazon ECR** da página. A página inclui instruções sobre como implantar uma imagem do repositório privado em seu serviço de contêiner Lightsail. Para usar uma imagem do seu repositório privado, especifique o formato de URI exibido na página como o lavor **Image** ao criar sua implantação do serviço de contêiner. No URI que você especificar, substitua o exemplo *\$1image tag\$1* pela tag da imagem que você deseja implantar. Para obter mais informações, consulte [Create and manage container service deployments](amazon-lightsail-container-services-deployments.md).  
![\[Próximas etapas após a adição de um repositório privado do Amazon ECR\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/container-service-ecr-repos-next-steps.png)

## Use o AWS CLI para gerenciar o acesso a repositórios privados
<a name="ecr-private-repo-access-cli"></a>

Gerenciar o acesso de um serviço de contêiner do Lightsail a um repositório privado do Amazon ECR usando AWS Command Line Interface o AWS CLI() requer as seguintes etapas:

**Importante**  
Recomendamos que você use o console do Lightsail para gerenciar o acesso de um serviço de contêiner do Lightsail a um repositório privado do Amazon ECR, pois isso simplifica o processo. Para obter mais informações, consulte [Usar o console do Lightsail para gerenciar o acesso a repositórios privados](#ecr-private-repo-access-lightsail-console), no início deste guia.

1. **Ative ou desative a função IAM do extrator de imagens do Amazon ECR — Use o comando AWS CLI `update-container-service` para que o Lightsail ative ou desative a função IAM** do extrator de imagens do Amazon ECR. Um nome do recurso da Amazon (ARN) da entidade principal é criado para o perfil do IAM do extrator de imagem do Amazon ECR ao ativá-lo. Para obter mais informações, consulte a seção [Ativar ou desativar o perfil do IAM do extrator de imagem do Amazon ECR](#activate-ecr-puller-role) deste guia.

1. **Determinar se o repositório privado do Amazon ECR tem uma instrução de política**: depois de ativar o perfil do IAM do extrator de imagem do Amazon ECR, você precisa determinar se o repositório privado do Amazon ECR que deseja acessar com o serviço de contêiner tem uma instrução de política existente. Para obter mais informações, consulte [Determinar se o repositório privado do Amazon ECR tem uma instrução de política](#identify-ecr-repo-policy-statement) mais adiante neste guia. 

   Você adiciona o ARN da entidade principal do perfil do IAM ao repositório usando um dos seguintes métodos, dependendo se o repositório tem ou não uma declaração de política existente:

   1. **Adicione uma política a um repositório privado que não tenha uma declaração de política** — Use o AWS CLI `set-repository-policy` comando do Amazon ECR para adicionar o ARN principal da função de extração de imagens do Amazon ECR para seu serviço de contêiner a um repositório privado que tenha uma política existente. Para obter mais informações, consulte [Adicionar uma política a um repositório privado que não tenha uma declaração de política](#ecr-private-repo-add-policy-no-policy) mais adiante neste guia.

   1. **Adicione uma política a um repositório privado que tenha uma declaração de política** — Use o AWS CLI `set-repository-policy` comando do Amazon ECR para adicionar a função de extração de imagens do Amazon ECR do seu serviço de contêiner a um repositório privado que não tenha uma política existente. Para obter mais informações, consulte [Adicionar uma política a um repositório privado que tenha uma declaração de política](#ecr-private-repo-add-policy-existing-policy) mais adiante neste guia.

### Ativar ou desativar o perfil do IAM do extrator de imagem do Amazon ECR
<a name="activate-ecr-puller-role"></a>

Conclua o procedimento a seguir para ativar ou desativar a função IAM do Amazon ECR Image Puller para seu serviço de contêiner Lightsail. Você pode ativar ou desativar a função IAM do Amazon ECR Image Puller usando o comando AWS CLI `update-container-service` para Lightsail. Para obter mais informações, consulte [update-container-service](https://docs.aws.amazon.com/cli/latest/reference/lightsail/update-container-service.html) na *Referência de comandos da AWS CLI *.

**nota**  
Você deve instalar AWS CLI e configurá-lo para o Lightsail antes de continuar com esse procedimento. Para obter mais informações, consulte [Configurar o AWS CLI para trabalhar com o Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md).

1. Abra um prompt de comando ou uma janela de terminal.

1. Insira o comando a seguir para atualizar um serviço de contêiner e ativar ou desativar o perfil do IAM do extrator de imagem do Amazon ECR.

   ```
   aws lightsail update-container-service --service-name ContainerServiceName --private-registry-access ecrImagePullerRole={isActive=RoleActivationState} --region AwsRegionCode
   ```

   No comando, substitua o seguinte exemplo de texto pelo seu próprio:
   + *ContainerServiceName*— O nome do serviço de contêiner para o qual ativar ou desativar a função IAM do extrator de imagens do Amazon ECR.
   + *RoleActivationState*— O estado de ativação da função IAM do extrator de imagens do Amazon ECR. Especifique `true` para ativar o perfil ou `false` para desativá-lo.
   + *AwsRegionCode*— O Região da AWS código do serviço de contêiner (por exemplo,`us-east-1`).

   Exemplos:
   + Para ativar o perfil do IAM do extrator de imagem do Amazon ECR:

     ```
     aws lightsail update-container-service --service-name my-container-service --private-registry-access ecrImagePullerRole={isActive=true} --region us-east-1
     ```
   + Para desativar o perfil do IAM do extrator de imagem do Amazon ECR:

     ```
     aws lightsail update-container-service --service-name my-container-service --private-registry-access ecrImagePullerRole={isActive=false} --region us-east-1
     ```

1. Se você:
   + **Ativou o perfil do extrator de imagem do Amazon ECR**: aguarde pelo menos 30 segundos após obter a resposta anterior. Em seguida, execute a próxima etapa para obter o ARN da entidade principal do perfil do IAM do extrator de imagem do Amazon ECR para seu serviço de contêiner.
   + **Desativou o perfil do extrator de imagem do Amazon ECR**: se tiver adicionado anteriormente o ARN da entidade principal do perfil do IAM do extrator de imagem do Amazon ECR à política de permissões do seu repositório privado do Amazon ECR, você deve remover essa política de permissões do repositório. Para obter mais informações, consulte [Excluir uma instrução de política de repositório privado](https://docs.aws.amazon.com/AmazonECR/latest/userguide/delete-repository-policy.html) no *Guia do usuário do Amazon ECR*.

1. Insira o seguinte comando para obter o ARN da entidade principal do perfil do IAM do extrator de imagem do Amazon ECR para seu serviço de contêiner.

   ```
   aws lightsail get-container-services --service-name ContainerServiceName --region AwsRegionCode
   ```

   No comando, substitua o seguinte exemplo de texto pelo seu próprio:
   + *ContainerServiceName*— O nome do seu serviço de contêiner para o qual obter o ARN principal da função IAM do extrator de imagens do Amazon ECR.
   + *AwsRegionCode*— O Região da AWS código do serviço de contêiner (por exemplo,`us-east-1`).

   Exemplo:

   ```
   aws lightsail get-container-services --service-name my-container-service --region us-east-1
   ```

   Procure o ARN da entidade principal do perfil do IAM do extrator de imagem do ECR na resposta. Se houver uma função listada, copie ou anote o nome da função. Você precisará desse nome para a próxima seção deste guia. Em seguida, é necessário determinar se há uma instrução de política existente no repositório privado do Amazon ECR que você deseja acessar com seu serviço de contêiner. Siga para a seção [Determinar se o repositório privado do Amazon ECR tem uma instrução de política](#identify-ecr-repo-policy-statement) deste guia.

### Determinar se o repositório privado do Amazon ECR tem uma instrução de política
<a name="identify-ecr-repo-policy-statement"></a>

Siga o procedimento abaixo para determinar se o repositório privado do Amazon ECR tem uma instrução de política. Você pode usar o AWS CLI `get-repository-policy` comando para o Amazon ECR. Para obter mais informações, consulte [update-container-service](https://docs.aws.amazon.com/cli/latest/reference/ecr/get-repository-policy.html) na *Referência de comandos da AWS CLI *.

**nota**  
Você deve instalar AWS CLI e configurá-lo para o Amazon ECR antes de continuar com esse procedimento. Para obter mais informações, consulte [Configuração com o Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) no *Guia do usuário do Amazon ECR*.

1. Abra um prompt de comando ou uma janela de terminal.

1. Insira o comando a seguir para obter a declaração de política de um repositório privado específico.

   ```
   aws ecr get-repository-policy --repository-name RepositoryName --region AwsRegionCode
   ```

   No comando, substitua o seguinte exemplo de texto pelo seu próprio:
   + *RepositoryName*— O nome do repositório privado para o qual você deseja configurar o acesso a um serviço de contêiner do Lightsail.
   + *AwsRegionCode*— O Região da AWS código do repositório privado (por exemplo,`us-east-1`).

   Exemplo:

   ```
   aws ecr get-repository-policy --repository-name my-private-repo --region us-east-1
   ```

   Você deverá ver uma das seguintes respostas:
   + **RepositoryPolicyNotFoundException**— Seu repositório privado não tem uma declaração de política. Se o repositório não tiver uma declaração de política, siga as etapas na seção [Adicionar uma política a um repositório privado que não tenha uma declaração de política](#ecr-private-repo-add-policy-no-policy) mais adiante neste guia.  
![\[Resposta ao get-repository-policy comando para um repositório privado que não tem uma declaração de política\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-no-policy-statement.png)
   + **A repository policy was found** (Uma política de repositório foi encontrada): seu repositório privado tem uma declaração de política e é exibido na resposta de sua solicitação. Se o repositório tiver uma declaração de política, copie a política existente e siga as etapas na seção [Adicionar uma política a um repositório privado que tenha uma declaração de política](#ecr-private-repo-add-policy-existing-policy) mais adiante neste guia.  
![\[Resposta ao get-repository-policy comando para um repositório privado que tem uma declaração de política\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-existing-policy-statement.png)

### Adicionar uma política a um repositório privado que não tenha uma declaração de política
<a name="ecr-private-repo-add-policy-no-policy"></a>

Realize o procedimento a seguir para adicionar uma política a um repositório privado do Amazon ECR que não tenha uma instrução de política. A política que você adiciona deve incluir o ARN principal da função IAM do extrator de imagens do Amazon ECR do seu serviço de contêiner Lightsail. Isso concede acesso para que o serviço de contêiner implante imagens diretamente do repositório privado.

**Importante**  
O Lightsail adiciona automaticamente a função de extração de imagens do Amazon ECR aos seus repositórios privados do Amazon ECR quando você usa o console do Lightsail para configurar o acesso. Nesse caso, não é necessário adicionar manualmente o perfil de extrator de imagem do Amazon ECR aos repositórios privados usando o procedimento desta seção. Para obter mais informações, consulte [Usar o console do Lightsail para gerenciar o acesso a repositórios privados](#ecr-private-repo-access-lightsail-console), no início deste guia.

Você pode adicionar uma política a um repositório privado usando a AWS CLI. Para isso, crie um arquivo JSON que contenha a política e referencie esse arquivo com o comando `set-repository-policy` para o Amazon ECR. Para obter mais informações, consulte [set-repository-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) na *Referência de comandos da AWS CLI *.

**nota**  
Você deve instalar AWS CLI e configurá-lo para o Amazon ECR antes de continuar com esse procedimento. Para obter mais informações, consulte [Configuração com o Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) no *Guia do usuário do Amazon ECR*.

1. Abra um editor de texto e cole a seguinte declaração de política em um novo arquivo de texto.

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

****  

   ```
   { 
     "Version":"2012-10-17",		 	 	 
     "Statement": [
     {
         "Sid": "AllowLightsailPull-ecr-private-repo-demo",
         "Effect": "Allow",
         "Principal": {
           "AWS": "IamRolePrincipalArn"
         },
         "Action": [
           "ecr:BatchGetImage",
           "ecr:GetDownloadUrlForLayer"
         ]
       }
     ]
   }
   ```

------

   No texto, *IamRolePrincipalArn* substitua pelo ARN principal da função IAM do extrator de imagens do Amazon ECR do seu serviço de contêiner que você obteve anteriormente neste guia.

1. Salve o arquivo como `ecr-policy.json` em um local acessível em seu computador (por exemplo, `C:\Temp\ecr-policy.json` no Windows ou `/tmp/ecr-policy.json` no macOS ou Linux).

1. Anote o local do caminho do arquivo `ecr-policy.json` criado. Você o especificará em um comando posteriormente neste procedimento.

1. Abra um prompt de comando ou uma janela de terminal.

1. Insira o comando a seguir para definir a declaração de política do repositório privado que você deseja acessar com seu serviço de contêiner.

   ```
   aws ecr set-repository-policy --repository-name RepositoryName --policy-text file://path/to/ecr-policy.json --region AwsRegionCode
   ```

   No comando, substitua o seguinte exemplo de texto pelo seu próprio:
   + *RepositoryName*— O nome do repositório privado ao qual você deseja adicionar a política.
   + *path/to/*— O caminho para o `ecr-policy.json` arquivo em seu computador que você criou anteriormente neste guia.
   + *AwsRegionCode*— O Região da AWS código do repositório privado (por exemplo,`us-east-1`).

   Exemplos:
   + No Windows:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file://C:\Temp\ecr-policy.json --region us-east-1
     ```
   + No macOS ou Linux:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file:///tmp/ecr-policy.json --region us-east-1
     ```

   Agora seu serviço de contêiner pode acessar o repositório privado e as imagens. Para usar uma imagem do seu repositório, especifique o seguinte URI como o valor **Image** (Imagem) para a implantação do serviço de contêiner. No URI, substitua o exemplo *tag* pela tag da imagem que você deseja implantar. Para obter mais informações, consulte [Create and manage container service deployments](amazon-lightsail-container-services-deployments.md).

   ```
   AwsAccountId.dkr.ecr.AwsRegionCode.amazonaws.com/RepositoryName:ImageTag
   ```

   No URI, substitua o seguinte exemplo de texto pelo seu próprio texto:
   + *AwsAccountId*— O número de identificação da sua AWS conta.
   + *AwsRegionCode*— O Região da AWS código do repositório privado (por exemplo,`us-east-1`).
   + *RepositoryName*— O nome do repositório privado a partir do qual implantar uma imagem de contêiner.
   + *ImageTag*— A tag da imagem do contêiner do repositório privado a ser implantada em seu serviço de contêiner.

   Exemplo:

   ```
   111122223333.dkr.ecr.us-east-1.amazonaws.com/my-private-repo:myappimage
   ```

### Adicionar uma política a um repositório privado que tenha uma declaração de política
<a name="ecr-private-repo-add-policy-existing-policy"></a>

Realize o procedimento a seguir para adicionar uma política a um repositório privado do Amazon ECR que tenha uma instrução de política. A política que você adiciona deve incluir a política existente e uma nova política que contenha o ARN principal da função IAM do Amazon ECR Image Puller do seu serviço de contêiner Lightsail. Isso mantém as permissões existentes em seu repositório privado enquanto concede acesso ao serviço de contêiner para implantar imagens diretamente do repositório privado.

**Importante**  
O Lightsail adiciona automaticamente a função de extração de imagens do Amazon ECR aos seus repositórios privados do Amazon ECR quando você usa o console do Lightsail para configurar o acesso. Nesse caso, não é necessário adicionar manualmente o perfil de extrator de imagem do Amazon ECR aos repositórios privados usando o procedimento desta seção. Para obter mais informações, consulte [Usar o console do Lightsail para gerenciar o acesso a repositórios privados](#ecr-private-repo-access-lightsail-console), no início deste guia.

Você pode adicionar uma política a um repositório privado usando a AWS CLI. Você faz isso criando um arquivo JSON contendo a política existente e a nova política. Em seguida, referencie o arquivo com o comando `set-repository-policy` para o Amazon ECR. Para obter mais informações, consulte [set-repository-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) na *Referência de comandos da AWS CLI *.

**nota**  
Você deve instalar AWS CLI e configurá-lo para o Amazon ECR antes de continuar com esse procedimento. Para obter mais informações, consulte [Configuração com o Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/get-set-up-for-amazon-ecr.html) no *Guia do usuário do Amazon ECR*.

1. Abra um prompt de comando ou uma janela de terminal.

1. Insira o comando a seguir para obter a declaração de política de um repositório privado específico.

   ```
   aws ecr get-repository-policy --repository-name RepositoryName --region AwsRegionCode
   ```

   No comando, substitua o seguinte exemplo de texto pelo seu próprio:
   + *RepositoryName*— O nome do repositório privado para o qual você deseja configurar o acesso a um serviço de contêiner do Lightsail.
   + *AwsRegionCode*— O Região da AWS código do repositório privado (por exemplo,`us-east-1`).

   Exemplo:

   ```
   aws ecr get-repository-policy --repository-name my-private-repo --region us-east-1
   ```

1. Na resposta, copie a política existente e siga para a próxima etapa.

   Você deve copiar apenas o conteúdo do `policyText` que aparece entre aspas duplas, conforme destacado no exemplo a seguir.  
![\[Resposta ao get-repository-policy comando para um repositório privado que não tem uma declaração de política\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-existing-policy-copy-statement.png)

1. Abra um editor de texto e cole a política existente do seu repositório privado que você copiou na etapa anterior.

   O resultado será algo semelhante a este exemplo:  
![\[Exemplo de arquivo JSON de declaração de política\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-existing-policy-statement-json.png)

1. No texto que você colou, substitua `\n` por quebras de linha e exclua o `\` restante.

   O resultado será algo semelhante a este exemplo:  
![\[Exemplo de arquivo JSON editado de declaração de política\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-existing-policy-statement-json-edited.png)

1. Cole a seguinte declaração de política no final do arquivo de texto.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowLightsailPull-ecr-private-repo-demo",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "IamRolePrincipalArn"
               },
               "Action": [
                   "ecr:BatchGetImage",
                   "ecr:GetDownloadUrlForLayer"
               ]
           }
       ]
   }
   ```

------

1. No texto, *IamRolePrincipalArn* substitua pelo ARN principal da função IAM do extrator de imagens do Amazon ECR do seu serviço de contêiner que você obteve anteriormente neste guia.

   O resultado será algo semelhante a este exemplo:  
![\[Exemplo de arquivo JSON completo de declaração de política\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-existing-policy-statement-json-completed.png)

1. Salve o arquivo como `ecr-policy.json` em um local acessível em seu computador (por exemplo, `C:\Temp\ecr-policy.json` no Windows ou `/tmp/ecr-policy.json` no macOS ou Linux).

1. Anote o local do caminho do arquivo `ecr-policy.json`. Você o especificará em um comando posteriormente neste procedimento.

1. Abra um prompt de comando ou uma janela de terminal.

1. Insira o comando a seguir para definir a declaração de política do repositório privado que você deseja acessar com seu serviço de contêiner.

   ```
   aws ecr set-repository-policy --repository-name RepositoryName --policy-text file://path/to/ecr-policy.json --region AwsRegionCode
   ```

   No comando, substitua o seguinte exemplo de texto pelo seu próprio:
   + *RepositoryName*— O nome do repositório privado ao qual você deseja adicionar a política.
   + *path/to/*— O caminho para o `ecr-policy.json` arquivo em seu computador que você criou anteriormente neste guia.
   + *AwsRegionCode*— O Região da AWS código do repositório privado (por exemplo,`us-east-1`).

   Exemplos:
   + No Windows:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file://C:\Temp\ecr-policy.json --region us-east-1
     ```
   + No macOS ou Linux:

     ```
     aws ecr set-repository-policy --repository-name my-private-repo --policy-text file:///tmp/ecr-policy.json --region us-east-1
     ```

   Você verá um resultado semelhante ao seguinte exemplo.  
![\[Resposta ao set-repository-policy comando\]](http://docs.aws.amazon.com/pt_br/lightsail/latest/userguide/images/ecr-set-policy-statement-response.png)

   Se executar o comando `get-repository-policy` novamente, você deverá ver a nova declaração adicional de política em seu repositório privado. Agora seu serviço de contêiner pode acessar o repositório privado e as imagens. Para usar uma imagem do seu repositório, especifique o seguinte URI como o valor **Image** (Imagem) para a implantação do serviço de contêiner. No URI, substitua o exemplo *tag* pela tag da imagem que você deseja implantar. Para obter mais informações, consulte [Create and manage container service deployments](amazon-lightsail-container-services-deployments.md).

   ```
   AwsAccountId.dkr.ecr.AwsRegionCode.amazonaws.com/RepositoryName:ImageTag
   ```

   No URI, substitua o seguinte exemplo de texto pelo seu próprio texto:
   + *AwsAccountId*— O número de identificação da sua AWS conta.
   + *AwsRegionCode*— O Região da AWS código do repositório privado (por exemplo,`us-east-1`).
   + *RepositoryName*— O nome do repositório privado a partir do qual implantar uma imagem de contêiner.
   + *ImageTag*— A tag da imagem do contêiner do repositório privado a ser implantada em seu serviço de contêiner.

   Exemplo:

   ```
   111122223333.dkr.ecr.us-east-1.amazonaws.com/my-private-repo:myappimage
   ```