Compartilhar uma AMI com contas específicas da AWS - Amazon Elastic Compute Cloud

Compartilhar uma AMI com contas específicas da AWS

É possível compartilhar uma AMI com Contas da AWS específicas sem torná-la pública. Basta ter os IDs de Conta da AWS.

Um ID de Conta da AWS é um número de 12 dígitos, como 012345678901, que identifica de forma exclusiva uma Conta da AWS. Para obter mais informações, consulte Visualizar identificadores de Conta da AWS no Guia de referência da AWS Account Management.

Considerações

Considere as informações a seguir ao compartilhar AMIs com Contas da AWS específicas.

  • Propriedade: para compartilhar uma AMI, sua Conta da AWS deve ser proprietária da AMI.

  • Limites de compartilhamento: para saber o número máximo de entidades com as quais uma AMI pode ser compartilhada em uma região, consulte Service Quotas do Amazon EC2.

  • Tags: você não pode compartilhar tags definidas pelo usuário (tags que você anexa a uma AMI). Quando você compartilha uma AMI, suas tags definidas pelo usuário não estão disponíveis para nenhuma Conta da AWS com a qual a AMI é compartilhada.

  • Criptografia e chaves: é possível compartilhar AMIs que tenham snapshots criptografados e não criptografados.

    • Os snapshots criptografados devem ser criptografados com uma chave do KMS. Não é possível compartilhar AMIs que tenham snapshots que sejam criptografados com a chave gerenciada pela AWS padrão.

    • Se você compartilhar uma AMI que tenha snapshots criptografados, permita que as Contas da AWS usem as chaves do KMS que foram usadas para criptografar os snapshots. Para obter mais informações, consulte Permitir que organizações e UOs usem uma chave do KMS. Para configurar a política de chave de que você precisa para executar instâncias do Auto Scaling ao usar uma chave gerenciada pelo cliente para criptografia, consulte Política necessária de AWS KMS key para uso com volumes criptografados no Guia do usuário do Amazon EC2 Auto Scaling.

  • Region: as AMIs são um recurso regional. Quando você compartilha uma AMI, ela só está disponível naquela região. Para disponibilizar uma AMI em uma região diferente, copie a AMI para a região e compartilhe-a. Para ter mais informações, consulte Copiar um AMI.

  • Uso: quando você compartilha uma AMI, os usuários podem apenas iniciar instâncias pela AMI. Eles não podem excluí-la, compartilhá-la nem modificá-la. Porém, após iniciarem uma instância usando a sua AMI, eles podem criar uma AMI a partir da instância deles.

  • Cópias de AMIs compartilhadas: se os usuários em outra conta quiserem copiar uma AMI compartilhada, você deverá conceder a eles permissões de leitura para o armazenamento que oferece suporte à AMI. Para ter mais informações, consulte Cópia entre contas.

  • Faturamento: você não é cobrado quando sua AMI é usada por outras Contas da AWS para executar instâncias. As contas que iniciam instâncias usando a AMI são cobradas pelas instâncias que iniciam.

Compartilhar uma AMI (console)

Para conceder permissões de execução explícita usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, selecione AMIs.

  3. Selecione sua AMI na lista e escolha Actions (Ações), Edit AMI permissions (Editar permissões de AMI).

  4. Selecione Private (Privado).

  5. Em Shared accounts (Contas compartilhadas), escolha Add account ID (Adicionar ID de conta).

  6. Em Conta da AWS ID (ID da ), insira o ID da Conta da AWS com a qual você deseja compartilhar a AMI e, em seguida, escolha Share AMI (Compartilhar AMI).

    Para compartilhar essa AMI com várias contas, repita as Etapas 5 e 6 até adicionar todos os ID de conta necessários.

    nota

    Você não precisa compartilhar os snapshots do Amazon EBS aos quais a AMI faz referência para compartilhar a AMI. Só a AMI em si precisa ser compartilhada; o sistema fornece automaticamente acesso à instância dos snapshots do Amazon EBS referenciados para a execução. No entanto, você precisa compartilhar todas as Chaves do KMS usadas para criptografar os snapshots referenciados pela AMI. Para obter mais informações, consulte Compartilhar um snapshot do Amazon EBS no Guia do usuário do Amazon EBS.

  7. Escolha Save changes (Salvar alterações) quando terminar.

  8. (Opcional) Para visualizar os IDs de Conta da AWS com a qual você compartilhou a AMI, selecione a AMI na lista e escolha a guia Permissions (Permissões). Para localizar as AMIs que são compartilhadas com você, consulte Encontrar AMIs compartilhadas.

Compartilhar uma AMI (Tools for Windows PowerShell)

Use o comando Edit-EC2ImageAttribute (Tools for Windows PowerShell) para compartilhar uma AMI conforme exibido nos exemplos a seguir.

Para conceder permissões de execução explícitas

O comando a seguir concede permissões de execução da AMI especificada para a Conta da AWS especificada. No exemplo a seguir, substitua a ID da AMI de exemplo por uma ID de AMI válida e substitua account-id pela ID da Conta da AWS com 12 dígitos.

PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType add -UserId "account-id"
nota

Você não precisa compartilhar os snapshots do Amazon EBS aos quais a AMI faz referência para compartilhar a AMI. Só a AMI em si precisa ser compartilhada; o sistema fornece automaticamente acesso à instância dos snapshots do Amazon EBS referenciados para a execução. No entanto, você precisa compartilhar todas as Chaves do KMS usadas para criptografar os snapshots referenciados pela AMI. Para obter mais informações, consulte Compartilhar um snapshot do Amazon EBS no Guia do usuário do Amazon EBS.

Para remover as permissões de execução de uma conta

O comando a seguir remove permissões de execução para a AMI especificada da Conta da AWS especificada. No exemplo a seguir, substitua a ID da AMI de exemplo por uma ID de AMI válida e substitua account-id pela ID da Conta da AWS com 12 dígitos.

PS C:\> Edit-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission -OperationType remove -UserId "account-id"
Para remover todas as permissões de execução

O comando a seguir remove todas as permissões de execução explícita e pública da AMI especificada. Observe que o proprietário da AMI sempre tem permissões de execução e, portanto, não é afetado por este comando. No exemplo a seguir, substitua a ID da AMI de exemplo por uma ID de AMI válida.

PS C:\> Reset-EC2ImageAttribute -ImageId ami-0abcdef1234567890 -Attribute launchPermission

Compartilhar uma AMI (AWS CLI)

Use o comando modify-image-attribute (AWS CLI) para compartilhar uma AMI conforme exibido nos exemplos a seguir.

Para conceder permissões de execução explícitas

O comando a seguir concede permissões de execução da AMI especificada para a Conta da AWS especificada. No exemplo a seguir, substitua a ID da AMI de exemplo por uma ID de AMI válida e substitua account-id pela ID da Conta da AWS com 12 dígitos.

aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{UserId=account-id}]"
nota

Você não precisa compartilhar os snapshots do Amazon EBS aos quais a AMI faz referência para compartilhar a AMI. Só a AMI em si precisa ser compartilhada; o sistema fornece automaticamente acesso à instância dos snapshots do Amazon EBS referenciados para a execução. No entanto, você precisa compartilhar todas as Chaves do KMS usadas para criptografar os snapshots referenciados pela AMI. Para obter mais informações, consulte Compartilhar um snapshot do Amazon EBS no Guia do usuário do Amazon EBS.

Para remover as permissões de execução de uma conta

O comando a seguir remove permissões de execução para a AMI especificada da Conta da AWS especificada. No exemplo a seguir, substitua a ID da AMI de exemplo por uma ID de AMI válida e substitua account-id pela ID da Conta da AWS com 12 dígitos.

aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{UserId=account-id}]"
Para remover todas as permissões de execução

O comando a seguir remove todas as permissões de execução explícita e pública da AMI especificada. Observe que o proprietário da AMI sempre tem permissões de execução e, portanto, não é afetado por este comando. No exemplo a seguir, substitua a ID da AMI de exemplo por uma ID de AMI válida.

aws ec2 reset-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission