Tornar um AMI pública - Amazon Elastic Compute Cloud

Tornar um AMI pública

Você pode tornar sua AMI disponível publicamente compartilhando-a com todos os Contas da AWS.

Se você quiser impedir o compartilhamento público de suas AMIs, você pode habilitar o bloqueio de acesso público para AMIs. Isso bloqueia qualquer tentativa de tornar uma AMI pública, ajudando a evitar acesso não autorizado e possível uso indevido dos dados da AMI. Observe que habilitar o bloqueio de acesso público não afeta as AMIs que já estão publicamente disponíveis; elas permanecem publicamente acessíveis.

Para permitir que apenas contas específicas usem sua AMI para iniciar instâncias, consulte Compartilhar uma AMI com contas específicas da AWS.

Considerações

Considere as informações a seguir antes de tornar uma AMI pública.

  • Propriedade: para tornar uma AMI pública, sua Conta da AWS deve ser proprietária da AMI.

  • Region: as AMIs são um recurso regional. Quando você compartilha uma AMI, ela só está disponível na região de onde foi compartilhada. 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.

  • Bloquear o acesso público — Para compartilhar publicamente uma AMI, o bloqueio do acesso público para AMIs deve ser desativado em cada região na qual a AMI será compartilhada publicamente. Depois de compartilhar publicamente a AMI, você pode reativar o bloqueio do acesso público para AMIs para evitar mais compartilhamentos públicos de suas AMIs.

  • Algumas AMIs não podem ser tornadas públicas: se sua AMI tiver um dos seguintes componentes, você não poderá torná-la pública (mas poderá compartilhar a AMI com Contas da AWS específicas):

    • Volumes criptografados

    • Snapshots de volumes criptografados

    • Códigos do produto

  • Evite a exposição de dados confidenciais: para evitar expor dados confidenciais ao compartilhar uma AMI, leia as considerações de segurança em Diretrizes para AMIs em Linux compartilhadas e siga as ações recomendadas.

  • 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 sua AMI, poderão criar uma AMI com base na instância que iniciaram.

  • Descontinuação automática: por padrão, a data de descontinuação de todas as AMIs públicas é definida como dois anos após a data de criação da AMI. É possível definir a data de descontinuação para antes de dois anos. Para cancelar a data de descontinuação ou adiá-la para uma data posterior, você deve tornar a AMI privada compartilhando-a somente com Contas da AWS específicas.

  • Remoção de AMIs obsoletas: depois que uma AMI pública atinge a data de descontinuação, se novas instâncias não forem iniciadas usando a AMI por seis meses ou mais, a AWS eventualmente remove a propriedade de compartilhamento público para que as AMIs obsoletas não apareçam nas listas de AMI públicas.

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

Compartilhe uma AMI com todas as AWS contas (compartilhe publicamente)

Depois de tornar uma AMI pública, ela fica disponível nas AMIs da comunidade no console, que você pode acessar no catálogo da AMI no navegador esquerdo do console do EC2 ou ao iniciar uma instância usando o console. Observe que pode demorar um pouco para a AMI aparecer em AMIs da comunidade depois de você torná-la pública.

Console
Para tornar um AMI pública
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

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

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

  4. Em AMI availability (Disponibilidade da AMI), escolha Public (Pública).

  5. Escolha Salvar alterações.

AWS CLI

Cada AMI tem uma propriedade launchPermission que controla quais Contas da AWS, além do proprietário, têm permissão para usar essa AMI para executar instâncias. Ao modificar a propriedade launchPermission da AMI, é possível torná-la pública (o que concede permissões de execução a todas as Contas da AWS) ou compartilhá-la somente com as Contas da AWS que você especificar.

É possível adicionar ou remover os IDs da lista de contas que tiverem permissões de execução para uma AMI. Para tornar a AMI pública, especifique o grupo all. É possível especificar permissões públicas e permissões de execução explícita.

Para tornar um AMI pública
  1. Use o comando modify-image-attribute da seguinte forma para adicionar o grupo all à lista launchPermission para a AMI especificada.

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Add=[{Group=all}]"
  2. Para verificar as permissões de execução da AMI, use o comando describe-image-attribute.

    aws ec2 describe-image-attribute \ --image-id ami-0abcdef1234567890 \ --attribute launchPermission
  3. (Opcional) Para tornar a AMI privada novamente, remova o grupo all de suas permissões de execução. Observe que o proprietário da AMI sempre tem permissões de execução e, portanto, não é afetado por este comando.

    aws ec2 modify-image-attribute \ --image-id ami-0abcdef1234567890 \ --launch-permission "Remove=[{Group=all}]"

Bloqueie o acesso público às suas AMIs

Para impedir o compartilhamento público de suas AMIs, você pode habilitar o bloqueio de acesso público para AMIs. Essa configuração é ativada no nível da conta, mas você precisa habilitá-la Região da AWS em cada uma das quais quiser impedir o compartilhamento público de suas AMIs.

Quando o bloqueio de acesso público está habilitado, qualquer tentativa de tornar uma AMI pública é automaticamente bloqueada. No entanto, se você já tiver AMIs públicas, elas permanecerão disponíveis publicamente.

Se você quiser compartilhar publicamente as AMIs, precisará desativar o bloqueio do acesso público. Quando você terminar de compartilhar, é uma prática recomendada reabilitar o bloqueio de acesso público para evitar qualquer compartilhamento público não intencional das suas AMIs.

Você pode restringir as permissões do IAM a um usuário administrador para que apenas essa pessoa possa habilitar ou desabilitar o bloqueio de acesso público para AMIs.

Configurações padrão

A configuração Bloquear acesso público para AMIs está habilitada ou desabilitada por padrão, dependendo se sua conta for nova ou existente e se você tem AMIs públicas. A tabela abaixo mostra as configurações padrão:

AWS account Configuração padrão de bloquear acesso público para AMIs
Novas contas Habilitado

Contas existentes sem AMIs públicas¹

Habilitado

Contas existentes com um ou mais AMIs públicas

Desabilitado

¹ Se sua conta tinha uma ou mais AMIs públicas em ou após 15 de julho de 2023, a opção Bloquear acesso público para AMIs estará desabilitada por padrão, mesmo que você tenha posteriormente tornado todas as AMIs privadas.

Permissões obrigatórias do IAM

Para usar o bloqueio de acesso público para AMIs, você deve ter as seguintes permissões do IAM:

  • EnableImageBlockPublicAccess

  • DisableImageBlockPublicAccess

  • GetImageBlockPublicAccessState

Habilite o bloqueio de acesso público para AMIs

Para evitar o compartilhamento público de suas AMIs, habilite o bloqueio de acesso público para AMIs no nível da conta. Você deve habilitar o bloqueio de acesso público para AMIs em cada Região da AWS na qual deseja evitar o compartilhamento público das suas AMIs. Se você já tiver AMIs públicas, elas permanecerão disponíveis publicamente.

Console
Para habilitar o bloqueio de acesso público para AMIs na região especificada
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação (na parte superior da tela), selecione a região na qual deseja executar o bloqueio de acesso público para as AMIs.

  3. Se o painel não for exibido, no painel de navegação, escolha EC2 Dashboard (Painel EC2).

  4. Em Account attributes (Atributos da conta), escolha Data orotection and security (Proteção e segurança de dados).

  5. Em Block public access for AMIs (Bloquear acesso público para AMIs), escolha Manage (Gerenciar).

  6. Selecione a caixa de seleção Block new public sharing (Bloquear novos compartilhamentos públicos) e, em seguida, escolha Update (Atualizar).

    nota

    A API pode levar até 10 minutos para definir essa configuração. Durante esse período, o valor será New public sharing allowed (Novo compartilhamento público permitido). Quando a API concluir a configuração, o valor mudará automaticamente para New public sharing blocked (Novo compartilhamento público bloqueado).

AWS CLI
Para habilitar o bloqueio de acesso público para AMIs na região especificada

Use o comando enable-image-block-public-access e especifique a região na qual habilitar o bloqueio de acesso público para AMIs. Para o parâmetro --image-block-public-access-state, especifique block-new-sharing:

aws ec2 enable-image-block-public-access \ --region us-east-1 \ --image-block-public-access-state block-new-sharing

Saída esperada

{ "ImageBlockPublicAccessState": "block-new-sharing" }
nota

A API pode levar até 10 minutos para definir essa configuração. Durante esse período, se você executar o comando get-image-block-public-access-state, a resposta será unblocked. Quando a API concluir a configuração, a resposta será block-new-sharing.

Desabilite o bloqueio de acesso público para AMIs

Para permitir que os usuários da sua conta compartilhem publicamente suas AMIs, desative o bloqueio do acesso público no nível da conta. Você deve desabilitar o bloqueio de acesso público para AMIs em cada Região da AWS na qual deseja permitir o compartilhamento público das suas AMIs.

Console
Para desabilitar o bloqueio de acesso público para AMIs na região especificada
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação (na parte superior da tela), selecione a região na qual deseja desabilitar o bloqueio de acesso público para AMIs.

  3. Se o painel não for exibido, no painel de navegação, escolha EC2 Dashboard (Painel EC2).

  4. Em Account attributes (Atributos da conta), escolha Data orotection and security (Proteção e segurança de dados).

  5. Em Block public access for AMIs (Bloquear acesso público para AMIs), escolha Manage (Gerenciar).

  6. Limpe a caixa de seleção Block new public sharing (Bloquear novos compartilhamentos públicos) e, em seguida, escolha Update (Atualizar).

  7. Insira confirm quando solicitado para confirmação e, em seguida, escolha Allow public sharing (Permitir compartilhamento público).

    nota

    A API pode levar até 10 minutos para definir essa configuração. Durante esse período, o valor será New public sharing blocked (Novo compartilhamento público bloqueado). Quando a API concluir a configuração, o valor mudará automaticamente para New public sharing allowed (Novo compartilhamento público permitido ).

AWS CLI
Para desabilitar o bloqueio de acesso público para AMIs na região especificada

Use o comando disable-image-block-public-access e especifique a região na qual deseja desabilitar o bloqueio de acesso público para AMIs.

aws ec2 disable-image-block-public-access --region us-east-1

Saída esperada

{ "ImageBlockPublicAccessState": "unblocked" }
nota

A API pode levar até 10 minutos para definir essa configuração. Durante esse período, se você executar o comando get-image-block-public-access-state, a resposta será block-new-sharing. Quando a API concluir a configuração, a resposta será unblocked.

Veja o estado do bloqueio de acesso público para AMIs

Para ver se o compartilhamento público de suas AMIs está bloqueado em sua conta, você pode ver o estado do bloqueio de acesso público para AMIs. Você deve visualizar o estado em cada um Região da AWS no qual deseja ver se o compartilhamento público de suas AMIs está bloqueado.

Console
Para visualizar o estado do bloqueio de acesso público para AMIs na região especificada
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação (na parte superior da tela), selecione a região na qual deseja visualizar o estado de bloqueio de acesso público para AMIs.

  3. Se o painel não for exibido, no painel de navegação, escolha EC2 Dashboard (Painel EC2).

  4. Em Account attributes (Atributos da conta), escolha Data orotection and security (Proteção e segurança de dados).

  5. Em Block public access for AMIs (Bloquear acesso público para AMIs), marque o campo Public access (Acesso público). O valor é New public sharing blocked (Novo compartilhamento público bloqueado) ou New public sharing allowed (Novo compartilhamento público permitido).

AWS CLI
Para obter o estado do bloqueio de acesso público para AMIs na região especificada

Use o comando enable-image-block-public-access e especifique a região na qual obter o bloqueio de acesso público para AMIs.

aws ec2 get-image-block-public-access-state --region us-east-1

Saída esperada — O valor é block-new-sharing ou unblocked.

{ "ImageBlockPublicAccessState": "block-new-sharing" }