Controlar a descoberta e o uso de AMIs no Amazon EC2 com AMIs permitidas.
Para controlar a descoberta e o uso de imagens de máquina da Amazon (AMIs) pelos usuários da sua Conta da AWS, é possível usar o atributo de AMIs permitidas. Você especifica os critérios que as AMIs devem atender para ficarem visíveis e disponíveis em sua conta. Quando os critérios são habilitados, os usuários que iniciam instâncias só verão e terão acesso às AMIs que estejam em conformidade com os critérios especificados. Por exemplo, é possível especificar uma lista de provedores de AMIs confiáveis como critério, e somente as AMIs desses provedores estarão visíveis e disponíveis para uso.
Antes de ativar as configurações de AMIs permitidas, é possível ativar o modo de auditoria para visualizar quais AMIs estarão ou não visíveis e disponíveis para uso. Isso permite que você refine os critérios conforme necessário para garantir que somente as AMIs pretendidas estejam visíveis e disponíveis para os usuários em sua conta. Além disso, use o comando describe-instance-image-metadata para encontrar as instâncias que foram iniciadas com AMIs que não atendiam aos critérios especificados. Essas informações podem orientar sua decisão de atualizar suas configurações de inicialização para usar AMIs em conformidade (por exemplo, especificar uma AMI diferente em um modelo de inicialização) ou ajustar seus critérios para permitir essas AMIs.
Você especifica as configurações de AMIs permitidas no nível da conta, diretamente na conta ou usando uma política declarativa. Essas configurações devem ser definidas em cada Região da AWS onde você deseja controlar o uso de AMIs. O uso de uma política declarativa permite que você aplique as configurações em várias regiões simultaneamente, bem como em várias contas simultaneamente. Quando uma política declarativa está em uso, você não pode modificar as configurações diretamente em uma conta. Este tópico descreve como ajustar as configurações diretamente em uma conta. Para obter informações sobre o uso de políticas declarativas, consulte Políticas declarativas no Guia do usuário do AWS Organizations.
nota
O atributo AMIs permitidas controla somente a descoberta e o uso de AMIs públicas ou AMIs compartilhadas com sua conta. Ele não restringe as AMIs pertencentes à sua conta. Independentemente dos critérios definidos, as AMIs criadas pela sua conta sempre poderão ser descobertas e usadas pelos usuários da sua conta.
Principais benefícios das AMIs permitidas
-
Conformidade e segurança: os usuários só podem descobrir e usar AMIs que atendam aos critérios especificados, reduzindo o risco de uso de AMIs fora de conformidade.
-
Gerenciamento eficiente: ao reduzir o número de AMIs permitidas, o gerenciamento das demais se torna mais fácil e eficiente.
-
Implementação centralizada em nível de conta: defina as configurações de AMIs permitidas no nível da conta, diretamente na conta ou por meio de uma política declarativa. Isso fornece uma maneira centralizada e eficiente de controlar o uso de AMIs em toda a conta.
Conteúdo
Como funcionam as AMIs permitidas
Para controlar quais AMIs podem ser detectadas e usadas em sua conta, defina um conjunto de critérios de avaliação de AMIs. Os critérios são compostos de um ou mais ImageCriterion, como mostra o diagrama a seguir. Uma explicação se segue ao diagrama.
A configuração tem três níveis:
-
1: valores dos parâmetros
-
Parâmetros com vários valores:
-
ImageProviders -
ImageNames -
MarketplaceProductCodesUma AMI pode atender a qualquer valor dentro de um parâmetro para ser permitida.
Exemplo:
ImageProviders=amazonOU conta111122223333OU conta444455556666(a lógica de avaliação de valores dos parâmetros não é mostrada no diagrama.)
-
-
Parâmetros de valor único:
-
CreationDateCondition -
DeprecationTimeCondition
-
-
-
2:
ImageCriterion-
Agrupa vários parâmetros com a lógica E.
-
Uma AMI deve atender a todos os parâmetros dentro de um
ImageCriterionpara ser permitida. -
Exemplo:
ImageProviders=amazonECreationDateCondition= 300 dias ou menos
-
-
3:
ImageCriteria-
Agrupa vários
ImageCriterioncom a lógica OU. -
Uma AMI pode atender a qualquer
ImageCriterionpara ser permitida. -
Forma a configuração completa em relação à qual as AMIs são avaliadas.
-
Tópicos
Parâmetros de AMIs permitidas
Os seguintes parâmetros podem ser configurados para criar ImageCriterion:
ImageProviders-
Os provedores de AMIs cujas AMIs são permitidas.
Os valores válidos são aliases definidos pela AWS, e IDs de Conta da AWS, da seguinte forma:
-
amazon: um alias que identifica as AMIs criadas pela Amazon ou por provedores verificados -
aws-marketplace: um alias que identifica AMIs criadas por provedores verificados no AWS Marketplace -
aws-backup-vault: um alias que identifica AMIs de backup que residem em contas do cofre de backup da AWS logicamente isoladas. Se você usar o atributo de cofre logicamente isolado de backup da AWS, certifique-se de que esse alias esteja incluído como provedor de AMI. -
IDs de Conta da AWS: um ou mais IDs de Conta da AWS de 12 dígitos
-
none: indica que somente as AMIs criadas pela sua conta podem ser descobertas e usadas. AMIs públicas ou compartilhadas não podem ser descobertas e usadas. Quando especificado, nenhum outro critério pode ser especificado.
-
ImageNames-
Os nomes das AMIs permitidas, usando correspondências exatas ou curingas (
?ou*). MarketplaceProductCodes-
Os códigos de produto do AWS Marketplace para as AMIs permitidas.
CreationDateCondition-
A idade máxima das AMIs permitidas.
DeprecationTimeCondition-
O período máximo desde a obsolescência para as AMIs permitidas.
Para ver os valores e as restrições válidas para cada critério, consulte ImageCriterionRequest na Amazon EC2 API Reference.
Configuração de AMIs permitidas
A configuração básica das AMIs permitidas é a configuração de ImageCriteria que define os critérios para as AMIs permitidas. A seguinte estrutura JSON mostra os parâmetros que podem ser especificados:
{ "State": "enabled" | "disabled" | "audit-mode", "ImageCriteria" : [ { "ImageProviders": ["string",...], "MarketplaceProductCodes": ["string",...], "ImageNames":["string",...], "CreationDateCondition" : { "MaximumDaysSinceCreated": integer }, "DeprecationTimeCondition" : { "MaximumDaysSinceDeprecated": integer } }, ... }
Exemplo de ImageCriteria
O exemplo de ImageCriteria a seguir configura quatro ImageCriterion. Uma AMI será permitida se atender a um desses ImageCriterion. Para obter informações sobre como os critérios são avaliados, consulte Como os critérios são avaliados.
{ "ImageCriteria": [ // ImageCriterion 1: Allow AWS Marketplace AMIs with product code "abcdefg1234567890" { "MarketplaceProductCodes": [ "abcdefg1234567890" ] }, // ImageCriterion 2: Allow AMIs from providers whose accounts are // "123456789012" OR "123456789013" AND AMI age is less than 300 days { "ImageProviders": [ "123456789012", "123456789013" ], "CreationDateCondition": { "MaximumDaysSinceCreated":300} }, // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" // AND with names following the pattern "golden-ami-*" { "ImageProviders": [ "123456789014" ], "ImageNames": [ "golden-ami-*" ] }, // ImageCriterion 4: Allow AMIs from Amazon or verified providers // AND which aren't deprecated { "ImageProviders": [ "amazon" ], "DeprecationTimeCondition": { "MaximumDaysSinceDeprecated":0} } ] }
Como os critérios são avaliados
A seguinte tabela explica as regras de avaliação que determinam se uma AMI é permitida, mostrando como o operador AND ou OR é aplicado em cada nível:
| Nível de avaliação | Operador | Requisito para ser uma AMI permitida |
|---|---|---|
Valores de parâmetros para ImageProviders, ImageNames e MarketplaceProductCodes |
OR |
A AMI deve atender a pelo menos um valor de cada lista de parâmetros |
ImageCriterion |
AND |
A AMI deve atender a todos os parâmetros de cada ImageCriterion |
ImageCriteria |
OR |
A AMI deve atender a um dos ImageCriterion |
Usando as regras de avaliação anteriores, vamos ver como aplicá-las ao Exemplo de ImageCriteria:
-
ImageCriterion1: permite AMIs que tenham o código de produto de AWS Marketplaceabcdefg1234567890OR -
ImageCriterion2: permite AMIs que atendam a estes dois critérios:-
Pertencente à conta
123456789012OR123456789013-
AND
-
-
Criada nos últimos 300 dias
OR -
-
ImageCriterion3: permite AMIs que atendam a estes dois critérios:-
Pertencente à conta
123456789014-
AND
-
-
Nomeada com o padrão
golden-ami-*
OR -
-
ImageCriterion4: permite AMIs que atendam a estes dois critérios:-
Publicada pela Amazon ou por fornecedores verificados (especificado pelo alias
amazon)-
AND
-
-
Não obsoletas (o número máximo de dias desde a obsolescência é
0)
-
Limites
O ImageCriteria podem incluir até:
-
10
ImageCriterion
Cada ImageCriterion pode incluir até:
-
200 valores para
ImageProviders -
50 valores para
ImageNames -
50 valores para
MarketplaceProductCodes
Exemplo de limites
Usando o Exemplo de ImageCriteria anterior:
-
Existem 4
ImageCriterion. Podem ser adicionados até 6 à solicitação para atingir o limite de 10. -
No primeiro
ImageCriterion, há 1 valor paraMarketplaceProductCodes. Podem ser adicionados até 49 a esseImageCriterionpara atingir o limite de 50. -
No segundo
ImageCriterion, há 2 valores paraImageProviders. Podem ser adicionados até 198 a esseImageCriterionpara atingir o limite de 200. -
No terceiro
ImageCriterion, há 1 valor paraImageNames. Podem ser adicionados até 49 a esseImageCriterionpara atingir o limite de 50.
Operações de AMIs permitidas
O atributo AMIs permitidas tem três estados operacionais para gerenciamento dos critérios de imagem: habilitado, desabilitado e modo de auditoria. Esses modos permitem que você habilite ou desabilite os critérios de imagem, ou os revise conforme necessário.
Habilitada
Quando as AMIs permitidas estão habilitadas:
-
Os
ImageCriteriasão aplicados. -
Somente as AMIs permitidas podem ser descobertas no console do EC2 e por APIs que usam imagens (por exemplo, que descrevem, copiam, armazenam ou executam outras ações que usam imagens).
-
As instâncias só podem ser iniciadas usando AMIs permitidas.
Desabilitado
Quando as AMIs permitidas estão desabilitadas:
-
As
ImageCriterianão são aplicadas. -
Nenhuma restrição é imposta à descoberta ou ao uso da AMI.
Modo de auditoria
No modo de auditoria:
-
Os
ImageCriteriasão aplicados, mas nenhuma restrição é imposta à descoberta ou ao uso da AMI. -
No console do EC2, para cada AMI, o campo Imagem permitida exibe Sim ou Não para indicar se a AMI será detectável e estará disponível para os usuários na conta quando AMIs permitidas estiver habilitado.
-
Na linha de comando, a resposta para a operação
describe-imageinclui"ImageAllowed": trueou"ImageAllowed": falsepara indicar se a AMI será detectável e estará disponível para os usuários na conta quando AMIs permitidas estiver habilitado. -
No console do EC2, o Catálogo de AMIs exibirá Não permitido ao lado de AMIs que não serão detectáveis ou estarão disponíveis para os usuários na conta quando AMIs permitidas estiver habilitado.
Práticas recomendadas para a implementação de AMIs permitidas
Ao implementar AMIs permitidas, considere estas práticas recomendadas para garantir uma transição tranquila e minimizar possíveis interrupções em seu ambiente da AWS.
-
Habilitar o modo de auditoria
Comece ativando AMIs permitidas no modo de auditoria. Esse estado permite que você veja quais são as AMIs que seriam afetadas por seus critérios sem realmente restringir o acesso, fornecendo um período de avaliação sem riscos.
-
Definir critérios de AMIs permitidas
Estabeleça cuidadosamente quais provedores de AMI estão alinhados com as políticas de segurança, os requisitos de conformidade e as necessidades operacionais da sua organização.
nota
Ao usar serviços gerenciados pela AWS, como Amazon ECS ou o Amazon EKS, recomendamos especificar o alias
amazonpara permitir as AMIs criadas pela AWS. Esses serviços dependem das AMIs publicadas pela Amazon para iniciar instâncias.Tenha cuidado ao definir restrições de
CreationDateConditionpara as AMIs. Definir condições de data excessivamente restritivas (por exemplo, as AMIs devem ter menos de 5 dias) pode causar falhas na inicialização da instância se as AMIs da AWS ou de outros provedores não forem atualizadas dentro do prazo especificado.Recomendamos emparelhar
ImageNamescomImageProviderspara ter mais controle e especificidade. O uso deImageNamessozinho pode não identificar exclusivamente uma AMI. -
Verificar o impacto nos processos de negócios esperados
É possível usar o console ou a CLI para identificar instâncias que foram iniciadas com AMIs e que não atendem aos critérios especificados. Essas informações podem orientar sua decisão de atualizar suas configurações de inicialização para usar AMIs em conformidade (por exemplo, especificar uma AMI diferente em um modelo de inicialização) ou ajustar seus critérios para permitir essas AMIs.
Console: use a regra ec2-instance-launched-with-allowed-ami do AWS Config para verificar se as instâncias em execução ou paradas foram iniciadas com AMIs que atendem aos seus critérios de AMIs permitidas. A regra é NON_COMPLIANT quando uma AMI não atende aos critérios de AMIs permitidas e COMPLIANT quando atende. A regra apenas funciona quando a configuração de AMIs permitidas está definida como habilitada ou modo de auditoria.
CLI: execute o comando describe-instance-image-metadata e filtre a resposta para identificar quaisquer instâncias que foram iniciadas com AMIs que não atendem aos critérios especificados.
Para obter instruções sobre o console e a CLI, consulte Encontrar instâncias inicializadas de AMIs que não são permitidas.
-
Habilitar AMIs permitidas
Depois de confirmar que os critérios não afetarão de forma adversa os processos de negócios esperados, habilite AMIs permitidas.
-
Monitorar as execuções de instâncias
Continue monitorando as execuções de instâncias a partir de AMIs em ssuas aplicações e nos serviços da AWS gerenciados que você usa, como o Amazon EMR, Amazon ECR, Amazon EKS e AWS Elastic Beanstalk. Verifique se há problemas inesperados e faça os ajustes necessários nos critérios de AMIs permitidas.
-
Testar novas AMIs
Para testar AMIs de terceiros que não estejam em conformidade com suas configurações atuais de AMIs permitidas, a AWS recomenda as abordagens a seguir:
-
Use uma Conta da AWS separada: crie uma conta sem acesso aos recursos essenciais para os seus negócios. Garanta que a configuração de AMIs permitidas não esteja habilitada nessa conta ou que as AMIs que você deseja testar sejam explicitamente permitidas, para que você possa testá-las.
-
Teste em outra Região da AWS: use uma região em que as AMIs de terceiros estejam disponíveis, mas em que você ainda não tenha habilitado as configurações de AMIs permitidas.
Essas abordagens ajudam a garantir que seus recursos essenciais para os negócios permaneçam seguros durante o teste de novas AMIs.
-
Permissões obrigatórias do IAM
Para usar o atributo de AMIs permitidas, você precisa das seguintes permissões do IAM:
-
GetAllowedImagesSettings -
EnableAllowedImagesSettings -
DisableAllowedImagesSettings -
ReplaceImageCriteriaInAllowedImagesSettings