Exemplos de políticas baseadas em identidade para planos de escalabilidade - AWS Auto Scaling

Exemplos de políticas baseadas em identidade para planos de escalabilidade

Por padrão, um novo usuário do IAM não tem permissões para fazer nada. Um administrador do IAM deve criar políticas do IAM que concedam aos usuários e às funções permissão para trabalhar com planos de escalabilidade. O administrador deve anexar as políticas aos usuários ou às funções do IAM que exijam essas permissões.

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.

Caso você não tenha familiaridade com a criação de políticas, recomendamos primeiro criar um usuário do IAM na sua conta e anexar políticas a ele. Você pode usar o console para verificar os efeitos de cada política à medida que anexa a política ao usuário.

Práticas recomendadas de políticas

As políticas baseadas em identidade são muito eficientes. Elas determinam se alguém pode criar, acessar ou excluir recursos do AWS Auto Scaling em sua conta. Essas ações podem incorrer em custos para a Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:

  • Primeiro, use políticas gerenciadas pela AWS: para começar a usar o AWS Auto Scaling rapidamente, use as políticas gerenciadas pela AWS para conceder a seus funcionários as permissões de que precisam. Essas políticas já estão disponíveis em sua conta e são mantidas e atualizadas pela AWS. Para obter mais informações, consulte Começar a usar permissões com políticas gerenciadas da AWS no Manual do usuário do IAM.

  • Conceder privilégio mínimo: ao criar políticas personalizadas, conceda apenas as permissões necessárias para executar uma tarefa. Comece com um conjunto mínimo de permissões e conceda permissões adicionais conforme necessário. Fazer isso é mais seguro do que começar com permissões que são muito lenientes e tentar restringi-las superiormente. Para obter mais informações, consulte Conceder privilégio mínimo no Manual do usuário do IAM.

  • Habilitar MFA para operações confidenciais: para aumentar a segurança, exija que os usuários do IAM usem Multi-Factor Authentication (MFA) para acessar recursos ou operações de API confidenciais. Para obter mais informações, consulte Usar autenticação multifator (MFA) AWS no Guia do usuário do IAM.

  • Usar condições de política para segurança adicional: na medida do possível, defina as condições sob as quais suas políticas baseadas em identidade permitem o acesso a um recurso. Por exemplo, você pode gravar condições para especificar um intervalo de endereços IP permitidos do qual a solicitação deve partir. Você também pode escrever condições para permitir somente solicitações em uma data especificada ou período ou para exigir o uso de SSL ou MFA. Para obter mais informações, consulte Elementos de política JSON do IAM: condição no Manual do usuário do IAM.

Permitir que os usuários criem planos de escalabilidade

Veja a seguir um exemplo de política de permissões que permite que os usuários criem planos de escalabilidade.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling-plans:*", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudformation:ListStackResources" ], "Resource": "*" } ] }

Para trabalhar com um plano de escalabilidade, o usuário precisa ter permissões adicionais que permitam trabalhar com recursos específicos na conta dele. Essas permissões estão listadas em Permissões adicionais necessárias.

Cada usuário do console também precisa de permissões para identificar os recursos escaláveis na conta deles e visualizar grafos de dados de métricas do CloudWatch no console do AWS Auto Scaling. O conjunto completo de permissões necessárias para trabalhar com o console do AWS Auto Scaling está listado abaixo:

  • cloudformation:ListStacks: para listar pilhas.

  • tag:GetTagKeys: para encontrar recursos escaláveis que contêm determinadas chaves de tag.

  • tag:GetTagValues: para encontrar recursos que contêm determinados valores de tag.

  • autoscaling:DescribeTags: para encontrar grupos do Auto Scaling que contêm determinadas etiquetas.

  • cloudwatch:GetMetricData: para ver dados em gráficos de métricas.

Permitir que os usuários habilitem a escalabilidade preditiva

Veja a seguir um exemplo de política de permissões que permite que os usuários habilitem a escalabilidade preditiva. Essas permissões estendem os recursos dos planos de escalabilidade configurados para escalar grupos do Auto Scaling.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeScheduledActions", "autoscaling:BatchPutScheduledUpdateGroupAction", "autoscaling:BatchDeleteScheduledAction" ], "Resource": "*" } ] }

Permissões adicionais necessárias

Ao conceder permissões para planos de escalabilidade, é necessário decidir para quais recursos os usuários obterão permissões. Dependendo dos cenários aos quais você quer oferecer suporte, é possível especificar as ações a seguir no elemento Action de uma declaração de política do IAM.

Grupos do Auto Scaling

Para adicionar grupos do Auto Scaling a um plano de escalabilidade, os usuários precisam ter as seguintes permissões do Amazon EC2 Auto Scaling:

  • autoscaling:UpdateAutoScalingGroup

  • autoscaling:DescribeAutoScalingGroups

  • autoscaling:PutScalingPolicy

  • autoscaling:DescribePolicies

  • autoscaling:DeletePolicy

serviços da ECS

Para adicionar serviços do ECS a um plano de escalabilidade, os usuários precisam ter as seguintes permissões do Amazon ECS e do Application Auto Scaling:

  • ecs:DescribeServices

  • ecs:UpdateService

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Frota spot

Para adicionar frotas spot a um plano de escalabilidade, os usuários precisam ter as seguintes permissões do Amazon EC2 e do Application Auto Scaling:

  • ec2:DescribeSpotFleetRequests

  • ec2:ModifySpotFleetRequest

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Tabelas ou índices globais do DynamoDB

Para adicionar tabelas ou índices globais do DynamoDB a um plano de escalabilidade, os usuários precisam ter as seguintes permissões do DynamoDB e do Application Auto Scaling:

  • dynamodb:DescribeTable

  • dynamodb:UpdateTable

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

clusters de bancos de dados Aurora

Para adicionar clusters de banco de dados do Aurora a um plano de escalabilidade, os usuários precisam ter as seguintes permissões do Amazon Aurora e do Application Auto Scaling:

  • rds:AddTagsToResource

  • rds:CreateDBInstance

  • rds:DeleteDBInstance

  • rds:DescribeDBClusters

  • rds:DescribeDBInstances

  • application-autoscaling:RegisterScalableTarget

  • application-autoscaling:DescribeScalableTargets

  • application-autoscaling:DeregisterScalableTarget

  • application-autoscaling:PutScalingPolicy

  • application-autoscaling:DescribeScalingPolicies

  • application-autoscaling:DeleteScalingPolicy

Permissões necessárias para criar uma função vinculada ao serviço

O AWS Auto Scaling requer permissões para criar uma função vinculada a serviço na primeira vez que qualquer usuário em sua Conta da AWS cria um plano de escalabilidade com escalabilidade preditiva habilitada. Se a função vinculada ao serviço ainda não existir, o AWS Auto Scaling a criará em sua conta. A função vinculada ao serviço concede permissões ao AWS Auto Scaling, para que ele possa chamar todos os outros serviços em seu nome.

Para que a criação automática da função 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 política de permissões para que um usuário crie uma função vinculada a serviço.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling-plans.amazonaws.com/AWSServiceRoleForAutoScalingPlans_EC2AutoScaling", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling-plans.amazonaws.com" } } } ] }

Para mais informações, consulte Função vinculada ao serviço de escalabilidade preditiva.