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á.
Controle o uso do modelo de EC2 lançamento da Amazon em grupos de Auto Scaling
O Amazon EC2 Auto Scaling oferece suporte ao uso de modelos de EC2 lançamento da Amazon com seus grupos de Auto Scaling. Recomendamos que você permita que os usuários criem grupos de Auto Scaling a partir de modelos de lançamento, pois isso permite que eles usem os recursos mais recentes do Amazon Auto EC2 Scaling e da Amazon. EC2 Por exemplo, os usuários devem especificar um modelo de execução para usar uma política de instâncias mistas.
Você pode usar a AmazonEC2FullAccess
política para dar aos usuários acesso completo para trabalhar com recursos, modelos de lançamento e outros EC2 recursos do Amazon EC2 Auto Scaling em suas contas. Ou você pode criar suas próprias IAM políticas personalizadas para dar aos usuários permissões refinadas para trabalhar com modelos de lançamento, conforme descrito neste tópico.
Uma política de exemplo que você pode personalizar para seu próprio uso
O exemplo a seguir mostra uma política de permissões básica que você pode personalizar para seu próprio uso. A política concede permissões para criar, atualizar e excluir todos os grupos do Auto Scaling, mas somente se o grupo usa a tag
. Em seguida, concede permissão para todas as ações purpose=testing
Describe
. Como as ações Describe
não oferecem suporte a permissões em nível de recurso, é necessário especificá-las em uma declaração separada sem condições.
IAMidentidades (usuários ou funções) com essa política têm permissão para criar ou atualizar um grupo de Auto Scaling usando um modelo de lançamento porque também recebem permissão para usar ec2:RunInstances
a ação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
purpose
": "testing
" } } }, { "Effect": "Allow", "Action": [ "autoscaling:Describe*", "ec2:RunInstances" ], "Resource": "*" } ] }
Os usuários que criam ou atualizam grupos do Auto Scaling podem precisar de algumas permissões relacionadas, como:
-
ec2: CreateTags — Para adicionar tags às instâncias e volumes na criação, o usuário deve ter a
ec2:CreateTags
permissão em uma IAM política. Para obter mais informações, consulte Permissões necessárias para marcar instâncias e volumes. -
iam: PassRole — Para iniciar EC2 instâncias a partir de um modelo de execução que contém um perfil de instância (um contêiner para uma IAM função), o usuário também deve ter a
iam:PassRole
permissão em uma IAM política. Para obter mais informações e um exemplo IAM de política, consulteIAMfunção para aplicativos que são executados em EC2 instâncias da Amazon. -
ssm: GetParameters — Para iniciar EC2 instâncias a partir de um modelo de execução que usa um AWS Systems Manager parâmetro, o usuário também deve ter a
ssm:GetParameters
permissão em uma IAM política. Para obter mais informações, consulte Use AWS Systems Manager parâmetros em vez de AMI IDs em modelos de lançamento.
Essas permissões para ações a serem concluídas ao iniciar instâncias são verificadas quando o usuário interage com um grupo do Auto Scaling. Para obter mais informações, consulte Validação de permissões para ec2:RunInstances e iam:PassRole.
Os exemplos a seguir mostram declarações de política que você pode usar para controlar o acesso que IAM os usuários têm ao usar modelos de execução.
Tópicos
- Exigir modelos de execução que têm uma tag específica
- Exigir um modelo de execução e um número de versão
- Exigir o uso do serviço de metadados de instância versão 2 () IMDSv2
- Restrinja o acesso aos EC2 recursos da Amazon
- Permissões necessárias para marcar instâncias e volumes
- Permissões adicionais do modelo de execução
- Validação de permissões para ec2:RunInstances e iam:PassRole
- Recursos relacionados
Exigir modelos de execução que têm uma tag específica
Ao conceder ec2:RunInstances
permissões, você pode especificar que os usuários só possam usar modelos de execução com tags específicas ou específicos IDs para limitar as permissões ao iniciar instâncias com um modelo de execução. Você também pode controlar os AMI e outros recursos que qualquer pessoa que usa modelos de execução pode referenciar e usar ao iniciar instâncias, especificando permissões adicionais em nível de recurso para a chamada. RunInstances
O exemplo a seguir restringe permissões à ação ec2:RunInstances
para executar modelos que estão localizados na região especificada e que têm a tag
. Ele também dá aos usuários acesso aos recursos especificados em um modelo de execução: tipos de instânciaAMIs, volumes, pares de chaves, interfaces de rede e grupos de segurança. purpose=testing
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:
region
:account-id
:launch-template/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose
": "testing
" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region
::image/ami-*", "arn:aws:ec2:region
:account-id
:instance/*", "arn:aws:ec2:region
:account-id
:subnet/*", "arn:aws:ec2:region
:account-id
:volume/*", "arn:aws:ec2:region
:account-id
:key-pair/*", "arn:aws:ec2:region
:account-id
:network-interface/*", "arn:aws:ec2:region
:account-id
:security-group/*" ] } ] }
Para obter mais informações sobre o uso de políticas baseadas em tags com modelos de lançamento, consulte Controle o acesso aos modelos de lançamento com IAM permissões no Guia do EC2 usuário da Amazon.
Exigir um modelo de execução e um número de versão
Você também pode usar IAM permissões para garantir que um modelo de execução e o número da versão do modelo de execução sejam especificados ao criar ou atualizar grupos do Auto Scaling.
O exemplo a seguir permite que os usuários criem e atualizem grupos do Auto Scaling somente se um modelo de execução e o número da versão do modelo de execução forem especificados. Se usuários com essa política omitirem o número da versão para especificar a versão $Latest
ou $Default
do modelo de execução ou tentarem usar uma configuração de execução, a ação falhará.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "Bool": { "autoscaling:LaunchTemplateVersionSpecified": "true" } } }, { "Effect": "Deny", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "Null": { "autoscaling:LaunchConfigurationName": "false" } } } ] }
Exigir o uso do serviço de metadados de instância versão 2 () IMDSv2
Para maior segurança, você pode definir as permissões de seus usuários para exigir o uso de um modelo de lançamento que exijaIMDSv2. Para obter mais informações, consulte Como configurar o serviço de metadados da instância no Guia EC2 do usuário da Amazon.
O exemplo a seguir especifica que os usuários não podem chamar a ec2:RunInstances
ação, a menos que a instância também tenha optado por exigir o uso de IMDSv2 (indicado por"ec2:MetadataHttpTokens":"required"
).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireImdsV2", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals": { "ec2:MetadataHttpTokens": "required" } } } ] }
dica
Para forçar a substituição de instâncias do ajuste de escala automático que usam um novo modelo de execução ou uma nova versão de um modelo de execução com as opções de metadados de instância configuradas, você pode iniciar uma atualização de instâncias. Para obter mais informações, consulte Atualizar instâncias do Auto Scaling.
Restrinja o acesso aos EC2 recursos da Amazon
O exemplo a seguir controla a configuração das instâncias que um usuário pode iniciar ao restringir o acesso aos EC2 recursos da Amazon. Para especificar permissões em nível de recurso para recursos especificados em um modelo de execução, você deve incluir os recursos na declaração de açãoRunInstances
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:
region
:account-id
:launch-template/*", "arn:aws:ec2:region
::image/ami-04d5cc9b88example
", "arn:aws:ec2:region
:account-id
:subnet/subnet-1a2b3c4d
", "arn:aws:ec2:region
:account-id
:volume/*", "arn:aws:ec2:region
:account-id
:key-pair/*", "arn:aws:ec2:region
:account-id
:network-interface/*", "arn:aws:ec2:region
:account-id
:security-group/sg-903004f88example
" ] }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region
:account-id
:instance/*", "Condition": { "StringEquals": { "ec2:InstanceType": ["t2.micro", "t2.small"] } } } ] }
Neste exemplo, há duas declarações:
-
A primeira declaração exige que os usuários iniciem instâncias em uma sub-rede específica (
), usando um grupo de segurança específico (subnet-1a2b3c4d
) e usando um AMI (sg-903004f88example
) específico. Ele também dá aos usuários acesso aos recursos especificados em um modelo de execução: interfaces de rede, pares de chaves e volumes.ami-04d5cc9b88example
-
A segunda instrução permite que os usuários executem instâncias usando somente os tipos de instância
e,t2.micro
o que é possível fazer para controlar os custos.t2.small
No entanto, observe que atualmente não há uma maneira eficaz de impedir completamente que os usuários que têm permissão para iniciar instâncias com um modelo de execução iniciem outros tipos de instância. Isso ocorre porque um tipo de instância especificado em um modelo de execução pode ser substituído para usar tipos de instância definidos usando a seleção de tipo de instância baseada em atributos.
Para obter uma lista completa das permissões em nível de recurso que você pode usar para controlar a configuração das instâncias que um usuário pode iniciar, consulte Ações, recursos e chaves de condição para a Amazon EC2 na Referência de Autorização de Serviço.
Permissões necessárias para marcar instâncias e volumes
O exemplo a seguir permite que os usuários marquem instâncias e volumes na criação. Essa parte será necessária se houver tags especificadas no modelo de execução. Para obter mais informações, consulte Conceder permissão para marcar recursos durante a criação no Guia EC2 do usuário da Amazon.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:
region
:account-id
:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "RunInstances" } } } ] }
Permissões adicionais do modelo de execução
Você deve conceder permissões aos usuários do console para as ações ec2:DescribeLaunchTemplates
e ec2:DescribeLaunchTemplateVersions
. Sem essas permissões, os dados do modelo de execução não podem ser carregados no assistente do grupo do Auto Scaling, e os usuários não podem utilizar o assistente para iniciar instâncias usando um modelo de execução. Você pode especificar essas ações adicionais no Action
elemento de uma declaração de IAM política.
Validação de permissões para ec2:RunInstances
e iam:PassRole
Os usuários podem especificar qual versão de um modelo de execução seu grupo do Auto Scaling usa. Dependendo de suas permissões, essa pode ser uma versão numerada específica ou a versão $Latest
ou $Default
do modelo de execução. Se for o último, tome cuidado especial. Isso pode substituir as permissões ec2:RunInstances
e iam:PassRole
que você pretendia restringir.
Esta seção explica o cenário de uso da versão mais recente ou padrão do modelo de execução com um grupo do Auto Scaling.
Quando um usuário chama oCreateAutoScalingGroup
,, ou UpdateAutoScalingGroup
StartInstanceRefresh
APIs, o Amazon EC2 Auto Scaling verifica suas permissões em relação à versão do modelo de lançamento que é a versão mais recente ou padrão no momento antes de prosseguir com a solicitação. Isso valida as permissões para ações a serem concluídas ao iniciar instâncias, como as ações ec2:RunInstances
e iam:PassRole
. Para fazer isso, emitimos uma chamada de EC2 RunInstancesdry run da Amazon para validar se o usuário tem as permissões necessárias para a ação, sem realmente fazer a solicitação. Quando uma resposta é retornada, ela é lida pelo Amazon EC2 Auto Scaling. Se as permissões do usuário não permitirem uma determinada ação, o Amazon EC2 Auto Scaling falhará na solicitação e retornará ao usuário um erro contendo informações sobre a permissão ausente.
Depois que a verificação inicial e a solicitação forem concluídas, sempre que as instâncias forem iniciadas, o Amazon EC2 Auto Scaling as iniciará com a versão mais recente ou padrão, mesmo que ela tenha sido alterada, usando as permissões de sua função vinculada ao serviço. Isso significa que um usuário que está usando o modelo de execução pode potencialmente atualizá-lo para passar uma IAM função para uma instância, mesmo que não tenha a iam:PassRole
permissão.
Use a chave de condição autoscaling:LaunchTemplateVersionSpecified
se quiser limitar quem tem acesso à configuração de grupos para usar a versão $Latest
ou $Default
. Isso garante que o grupo Auto Scaling só aceite uma versão numerada específica quando um usuário chama e. CreateAutoScalingGroup
UpdateAutoScalingGroup
APIs Para obter um exemplo que mostra como adicionar essa chave de condição a uma IAM política, consulteExigir um modelo de execução e um número de versão.
Para grupos do Auto Scaling configurados para usar a versão $Latest
ou $Default
do modelo de execução, considere limitar quem pode criar e gerenciar versões do modelo de execução, incluindo a ação ec2:ModifyLaunchTemplate
que permite ao usuário especificar a versão padrão do modelo de execução. Para obter mais informações, consulte Controlar permissões de controle de versão no Guia EC2 do usuário da Amazon.
Recursos relacionados
Para saber mais sobre permissões para visualizar, criar e excluir modelos de lançamento e versões de modelos de lançamento, consulte Controle o acesso aos modelos de lançamento com IAM permissões no Guia EC2 do usuário da Amazon.
Para obter mais informações sobre as permissões em nível de recurso que você pode usar para controlar o acesso à RunInstances
chamada, consulte Ações, recursos e chaves de condição para a Amazon EC2 na Referência de Autorização de Serviço.