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á.
Exemplos de políticas baseadas em identidade do Amazon EC2 Auto Scaling
Por padrão, um novo usuário não Conta da AWS tem permissão para fazer nada. Um administrador do IAM deve criar e atribuir políticas do IAM que concedam permissão a uma identidade do IAM (como um usuário ou função) para realizar ações da API Amazon EC2 Auto Scaling.
Para saber como criar uma política do IAM usando esses exemplos de documentos de política JSON, consulte Criar políticas na aba JSON no Manual do usuário do IAM.
A seguir, um exemplo de uma política de permissões.
{ "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*", "Resource": "*" }] }
Este exemplo de política concede permissões para criar, atualizar e excluir grupos do Auto Scaling, mas somente se o grupo usar a etiqueta
. Como as ações purpose=testing
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. Para iniciar instâncias com um modelo de execução, o usuário também precisa ter a permissão/ec2:RunInstances
. Para obter mais informações, consulte Controle o uso do modelo de EC2 lançamento da Amazon em grupos de Auto Scaling.
nota
Você pode criar suas próprias políticas personalizadas do IAM para permitir ou negar permissões para identidades do IAM (usuários ou funções) para realizar ações do Amazon EC2 Auto Scaling. Você pode anexar essas políticas personalizadas às identidades do IAM que exigem as permissões especificadas. Os exemplos a seguir mostram permissões para alguns casos de uso comuns.
Algumas ações da API Amazon EC2 Auto Scaling permitem que você inclua grupos específicos de Auto Scaling em sua política que podem ser criados ou modificados pela ação. Você pode restringir os recursos de destino para essas ações especificando um grupo individual de Auto ARNs Scaling. No entanto, como prática recomendada, sugerimos usar políticas baseadas em tags que permitam (ou neguem) ações em grupos do Auto Scaling com uma tag específica.
Exemplos
- Controlar o tamanho de grupos do Auto Scaling que podem ser criados
- Controlar quais chaves de tag e valores de tag podem ser usados
- Controlar quais grupos do Auto Scaling podem ser excluídos
- Controlar quais políticas de escalabilidade podem ser excluídas
- Controlar o acesso às ações de atualização da instância
- Criar um perfil vinculado ao serviço
- Controle qual função vinculada ao serviço pode ser passada (usando) PassRole
Controlar o tamanho de grupos do Auto Scaling que podem ser criados
A política a seguir concede permissões para criar e atualizar todos os grupos do Auto Scaling com a tag,
desde que o solicitante não especifique um tamanho mínimo menor que environment=development
1
ou um tamanho máximo maior que 10
. Sempre que possível, use tags para ajudar você a controlar o acesso aos grupos do Auto Scaling na sua conta.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "development
" }, "NumericGreaterThanEqualsIfExists": { "autoscaling:MinSize":1
}, "NumericLessThanEqualsIfExists": { "autoscaling:MaxSize":10
} } }] }
Como alternativa, se você não estiver usando tags para controlar o acesso aos grupos de Auto Scaling, você pode usar ARNs para identificar os grupos de Auto Scaling aos quais a política do IAM se aplica.
Um grupo do Auto Scaling tem o ARN a seguir.
"Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/my-asg
"
Você também pode especificar vários ARNs colocando-os em uma lista. Para obter mais informações sobre a especificação dos recursos ARNs do Amazon EC2 Auto Scaling Resource
no elemento, consulte. Recursos de política para o Amazon EC2 Auto Scaling
Controlar quais chaves de tag e valores de tag podem ser usados
Também é possível usar condições adicionais em suas políticas do IAM para controlar as chaves de tag e os valores que podem ser aplicados aos grupos do Auto Scaling. Para conceder permissões para criar ou etiquetar um grupo do Auto Scaling somente se o solicitante especificar determinadas etiquetas, use a chave de condição aws:RequestTag
. Para permitir somente chaves de tags específicas, use a chave de condição aws:TagKeys
com o modificador ForAllValues
.
A política a seguir requer que o solicitante especifique uma etiqueta com a chave
na solicitação. O valor environment
impõe que haja um valor para a chave de tag. Para usar um caractere curinga, é necessário usar o operador de condição "?*"
StringLike
.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/
environment
": "?*
" } } }] }
A política a seguir especifica que o solicitante só pode marcar grupos do Auto Scaling com as etiquetas
e purpose=webserver
e permite somente as etiquetas cost-center=cc123
e purpose
(nenhuma outra etiqueta pode ser especificada).cost-center
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/
purpose
": "webserver
", "aws:RequestTag/cost-center
": "cc123
" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["purpose
", "cost-center
"] } } }] }
A política a seguir requer que o solicitante especifique pelo menos uma etiqueta na solicitação e permite somente as chaves
e cost-center
.owner
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["
cost-center
", "owner
"] } } }] }
nota
Para condições, a chave de condição não diferencia maiúsculas de minúsculas, e o valor da condição diferencia maiúsculas de minúsculas. Portanto, para aplicar a diferenciação de maiúsculas de minúsculas de uma tag, use a chave de condição aws:TagKeys
, onde a chave da tag é especificada como um valor na condição.
Controlar quais grupos do Auto Scaling podem ser excluídos
A política a seguir permite a exclusão de um grupo do Auto Scaling somente se o grupo tiver a tag
.environment=development
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/
environment
": "development
" } } }] }
Como alternativa, se você não estiver usando chaves de condição para controlar o acesso aos grupos do Auto Scaling, poderá especificar o número ARNs de recursos no Resource
elemento para controlar o acesso.
A política a seguir dá aos usuários permissões para usar a ação DeleteAutoScalingGroup
da API, mas somente para grupos do Auto Scaling cujo nome comece com
.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" }] }
Você também pode especificar vários ARNs colocando-os em uma lista. A inclusão da UUID garante que o acesso seja concedido ao grupo do Auto Scaling específico. O UUID para um novo grupo é diferente do UUID para um grupo excluído com o mesmo nome.
"Resource": [ "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-1
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-2
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-3
" ]
Controlar quais políticas de escalabilidade podem ser excluídas
A política a seguir concede permissões para usar a ação DeletePolicy
para excluir uma política de escalabilidade. No entanto, ela também negará a ação se o grupo do Auto Scaling que está recebendo a ação tiver a tag
. Sempre que possível, use tags para ajudar você a controlar o acesso aos grupos do Auto Scaling na sua conta.environment=production
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeletePolicy", "Resource": "*" }, { "Effect": "Deny", "Action": "autoscaling:DeletePolicy", "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "production
" } } }] }
Controlar o acesso às ações de atualização da instância
A política a seguir concede permissão para iniciar, reverter e cancelar uma atualização de instância somente se o grupo do Auto Scaling que está recebendo a ação tiver a tag
. Como as ações environment=testing
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.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:StartInstanceRefresh", "autoscaling:CancelInstanceRefresh", "autoscaling:RollbackInstanceRefresh" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeInstanceRefreshes", "Resource": "*" }] }
Para especificar uma configuração desejada na chamada, StartInstanceRefresh
é possível que os usuários precisem de algumas permissões relacionadas, como:
-
ec2: RunInstances — Para iniciar EC2 instâncias usando um modelo de execução, o usuário deve ter a
ec2:RunInstances
permissão em uma política do IAM. Para obter mais informações, consulte Controle o uso do modelo de EC2 lançamento da Amazon em grupos de Auto Scaling. -
ec2: CreateTags — Para iniciar EC2 instâncias a partir de um modelo de execução que adiciona tags às instâncias e volumes na criação, o usuário deve ter a
ec2:CreateTags
permissão em uma política do IAM. 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 função do IAM), o usuário também deve ter a
iam:PassRole
permissão em uma política do IAM. Para obter mais informações e um exemplo de política do IAM, consulte Função do IAM 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 política do IAM. Para obter mais informações, consulte Use AWS Systems Manager parâmetros em vez de AMI IDs em modelos de lançamento.
Criar um perfil vinculado ao serviço
O Amazon EC2 Auto Scaling exige permissões para criar uma função vinculada ao serviço na primeira vez que qualquer usuário em seu chamar as ações da API Amazon Conta da AWS Auto Scaling. EC2 Se a função vinculada ao serviço ainda não existir, o Amazon Auto EC2 Scaling a cria em sua conta. A função vinculada ao serviço concede permissões ao Amazon Auto EC2 Scaling para que ele possa ligar para Serviços da AWS outras pessoas em seu nome.
Para que a criação automática do perfil seja bem-sucedida, os usuários devem ter permissões para a ação iam:CreateServiceLinkedRole
.
"Action": "iam:CreateServiceLinkedRole"
Veja a seguir um exemplo de uma política de permissões que permite ao usuário criar uma função vinculada ao serviço Amazon EC2 Auto Scaling para o Amazon Auto Scaling. EC2
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling
", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling.amazonaws.com
" } } }] }
Controle qual função vinculada ao serviço pode ser passada (usando) PassRole
Os usuários que criam ou atualizam grupos do Auto Scaling e especificam um perfil vinculado ao serviço de sufixo personalizado na solicitação necessitam da permissão iam:PassRole
.
Você pode usar a iam:PassRole
permissão para proteger a segurança de suas chaves gerenciadas pelo AWS KMS cliente se conceder a diferentes funções vinculadas ao serviço acesso a chaves diferentes. Dependendo das necessidades de sua organização, talvez você tenha uma chave para a equipe de desenvolvimento, outra para a equipe de QA e outra para a equipe financeira. Primeiro, crie uma função vinculada ao serviço com acesso à chave necessária, por exemplo, uma função vinculada ao serviço chamada AWSServiceRoleForAutoScaling_devteamkeyaccess. Em seguida, anexe a política a uma identidade do IAM, como um usuário ou um perfil.
A política a seguir concede permissões para passar o perfil AWSServiceRoleForAutoScaling_devteamkeyaccess
para qualquer grupo do Auto Scaling cujo nome comece com
. Se a identidade do IAM que cria o grupo do Auto Scaling tentar especificar um perfil vinculado ao serviço diferente, ela receberá um erro. Se optarem por não especificar uma função vinculada a serviço, a função AWSServiceRoleForAutoScaling padrão será usada.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_devteamkeyaccess
", "Condition": { "StringEquals": { "iam:PassedToService": [ "autoscaling.amazonaws.com" ] }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" ] } } }] }
Para obter mais informações sobre perfis vinculados ao serviço com sufixo personalizado, consulte Funções vinculadas a serviços para Amazon EC2 Auto Scaling.