

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
<a name="security_iam_id-based-policy-examples"></a>

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 a uma identidade do IAM (como um usuário ou perfil) permissão para executar ações de API do 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) no *Manual do usuário do IAM*.

A seguir, um exemplo de uma política de permissões.

------
#### [ JSON ]

****  

```
{
   "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 `purpose=testing`. 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. 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 execução do Amazon EC2 em grupos do Auto Scaling](ec2-auto-scaling-launch-template-permissions.md).

**nota**  
É possível criar suas próprias políticas personalizadas do IAM para permitir ou negar permissões para identidades do IAM (usuários ou perfis) para executar 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 de API do Amazon EC2 Auto Scaling permitem incluir grupos do Auto Scaling específicos na 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. 

**Topics**
+ [Controlar o tamanho de grupos do Auto Scaling que podem ser criados](#policy-example-min-max-size)
+ [Controlar quais chaves de tag e valores de tag podem ser usados](#policy-example-tags)
+ [Controlar quais grupos do Auto Scaling podem ser excluídos](#policy-example-delete-auto-scaling-group)
+ [Controlar quais políticas de escalabilidade podem ser excluídas](#policy-example-delete-policy)
+ [Controlar o acesso às ações de atualização da instância](#policy-example-instance-refresh-policy)
+ [Criar um perfil vinculado ao serviço](#ec2-auto-scaling-slr-permissions)
+ [Controle qual função vinculada ao serviço pode ser passada (usando) PassRole](#policy-example-pass-role)

## Controlar o tamanho de grupos do Auto Scaling que podem ser criados
<a name="policy-example-min-max-size"></a>

A política a seguir concede permissões para criar e atualizar todos os grupos do Auto Scaling com a tag,`environment=development` desde que o solicitante não especifique um tamanho mínimo menor que **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.

------
#### [ JSON ]

****  

```
{
   "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"
```

Também possível especificar vários ARNs incluindo-os em uma lista. Para obter mais informações sobre como especificar os ARNs dos recursos do Amazon EC2 Auto Scaling no elemento, `Resource` consulte [Recursos de política para o Amazon EC2 Auto Scaling](control-access-using-iam.md#security_iam_service-with-iam-id-based-policies-resources).

## Controlar quais chaves de tag e valores de tag podem ser usados
<a name="policy-example-tags"></a>

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 `environment` na solicitação. O valor `"?*"` 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`. 

------
#### [ JSON ]

****  

```
{
   "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 `purpose=webserver` e `cost-center=cc123` e permite somente as etiquetas `purpose` e `cost-center` (nenhuma outra etiqueta pode ser especificada).

------
#### [ JSON ]

****  

```
{
   "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 `cost-center` e `owner`.

------
#### [ JSON ]

****  

```
{
   "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 name="policy-example-delete-auto-scaling-group"></a>

A política a seguir permite a exclusão de um grupo do Auto Scaling somente se o grupo tiver a tag `environment=development`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": "autoscaling:DeleteAutoScalingGroup",
      "Resource": "*",
      "Condition": {
          "StringEquals": { "aws:ResourceTag/environment": "development" }
      }
   }]
}
```

------

A política a seguir usa a chave de `autoscaling:ForceDelete` condição para controlar o acesso à ação `DeleteAutoScalingGroup` da API. Isso pode impedir que determinados usuários usem a operação de exclusão forçada, que encerra todas as instâncias em um grupo de Auto Scaling ao excluir o grupo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Deny",
        "Action": "autoscaling:DeleteAutoScalingGroup",
        "Resource": "*",
        "Condition": {
            "Bool": {
                "autoscaling:ForceDelete": "true"
            }
        }
    }]
}
```

------

Como alternativa, se você não estiver usando chaves de condição para controlar o acesso aos grupos do Auto Scaling, você pode especificar o ARNs número 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 da `DeleteAutoScalingGroup` API, mas somente para grupos de Auto Scaling cujo nome começa com. `devteam-`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "autoscaling:DeleteAutoScalingGroup",
            "Resource": "arn:aws:autoscaling:us-east-1:111122223333: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 name="policy-example-delete-policy"></a>

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 `environment=production`. Sempre que possível, use tags para ajudar você a controlar o acesso aos grupos do Auto Scaling na sua conta.

------
#### [ JSON ]

****  

```
{
   "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 name="policy-example-instance-refresh-policy"></a>

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 `environment=testing`. 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. 

------
#### [ JSON ]

****  

```
{
   "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 instâncias do EC2 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 execução do Amazon EC2 em grupos do Auto Scaling](ec2-auto-scaling-launch-template-permissions.md).
+ **ec2: CreateTags** — Para iniciar instâncias do EC2 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](ec2-auto-scaling-launch-template-permissions.md#policy-example-launch-template-createtags).
+ **iam: PassRole** — Para iniciar instâncias do EC2 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 [Perfis do IAM para aplicações que são executadas em instâncias do Amazon EC2](us-iam-role.md).
+ **ssm: GetParameters** — Para iniciar instâncias do EC2 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](using-systems-manager-parameters.md).

## Criar um perfil vinculado ao serviço
<a name="ec2-auto-scaling-slr-permissions"></a>

O Amazon EC2 Auto Scaling exige permissões para criar uma função vinculada ao serviço na primeira vez que qualquer usuário Conta da AWS em você chama as ações da API do Amazon EC2 Auto Scaling. Se a função vinculada ao serviço ainda não existir, o Amazon EC2 Auto Scaling a criará em sua conta. A função vinculada ao serviço concede permissões ao Amazon EC2 Auto Scaling para que ele possa ligar para outras pessoas em seu nome. Serviços da AWS 

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"
```

O exemplo a seguir mostra uma política de permissões que permite que um usuário crie um perfil vinculado ao serviço do Amazon EC2 Auto Scaling para o Amazon EC2 Auto Scaling.

------
#### [ JSON ]

****  

```
{
   "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
<a name="policy-example-pass-role"></a>

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\$1devteamkeyaccess**. 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\$1devteamkeyaccess**** para qualquer grupo do Auto Scaling cujo nome comece com `devteam-`. 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.

Para obter mais informações sobre perfis vinculados ao serviço com sufixo personalizado, consulte [Perfis vinculados ao serviço do Amazon EC2 Auto Scaling](autoscaling-service-linked-role.md).