

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á.

# Perfis de serviço do IAM para o Amazon Data Lifecycle Manager
<a name="service-role"></a>

Uma função AWS Identity and Access Management (IAM) é semelhante à de um usuário, pois é uma AWS identidade com políticas de permissões que determinam o que a identidade pode ou não fazer AWS. No entanto, em vez de ser exclusivamente associada a uma pessoa, o propósito do perfil é ser assumido por qualquer pessoa que precisar dele. Uma função de serviço é uma função que um AWS serviço assume para realizar ações em seu nome. Como um serviço que executa as operações de backup para você, o Amazon Data Lifecycle Manager exige que você atribua uma função a ele ao executar operações de política para você. Para obter mais informações sobre funções do IAM, consulte [Funções do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) no *Guia do usuário do IAM*.

A função que você passa para o Amazon Data Lifecycle Manager deve ter uma política do IAM com as permissões que possibilitam que o Amazon Data Lifecycle Manager execute ações associadas a operações de política, como criar snapshots e AMIs, copiar snapshots e AMIs, excluir snapshots e cancelar o registro de AMIs. Diferentes permissões são necessárias para cada um dos tipos de política do Amazon Data Lifecycle Manager. A função também deve ter o Amazon Data Lifecycle Manager listado como uma entidade confiável, o que permite que o Amazon Data Lifecycle Manager assuma a função.

**Topics**
+ [Funções de serviço padrão para o Amazon Data Lifecycle Manager](#default-service-roles)
+ [Funções de serviço personalizadas para o Amazon Data Lifecycle Manager](#custom-role)

## Funções de serviço padrão para o Amazon Data Lifecycle Manager
<a name="default-service-roles"></a>

O Amazon Data Lifecycle Manager usa as seguintes funções de serviço padrão:
+ **AWSDataLifecycleManagerDefaultRole**—função padrão para gerenciar instantâneos. Ele confia apenas no serviço `dlm.amazonaws.com` para assumir a função e permite que o Amazon Data Lifecycle Manager execute as ações exigidas pelas políticas de cópia de snapshot e de snapshot entre contas em seu nome. Essa função usa a política ` AWSDataLifecycleManagerServiceRole` AWS gerenciada.
**nota**  
O formato do ARN da função é diferente dependendo se ela foi criada usando o console ou a AWS CLI. Se a função foi criada usando o console, o formato do ARN é `arn:aws:iam::{{account_id}}:role/service-role/AWSDataLifecycleManagerDefaultRole`. Se a função foi criada usando o AWS CLI, o formato ARN é. `arn:aws:iam::{{account_id}}:role/AWSDataLifecycleManagerDefaultRole`
+ **AWSDataLifecycleManagerDefaultRoleForAMIManagement**—função padrão para gerenciar AMIs. Ele confia somente no `dlm.amazonaws.com` serviço para assumir a função e permite que o Amazon Data Lifecycle Manager execute as ações exigidas pelas políticas da EBS-backed AMI em seu nome. Essa função usa a política `AWSDataLifecycleManagerServiceRoleForAMIManagement` AWS gerenciada.

Se você estiver usando o console do Amazon Data Lifecycle Manager, o Amazon Data Lifecycle Manager **AWSDataLifecycleManagerDefaultRole**cria automaticamente a função de serviço na primeira vez que você cria uma política de snapshot ou cópia de snapshot entre contas, e cria automaticamente a função de serviço na primeira vez que você cria uma política de **AWSDataLifecycleManagerDefaultRoleForAMIManagement**AMI. EBS-backed 

Se não estiver usando o console, será possível criar as funções de serviço manualmente usando o comando [create-default-role](https://docs.aws.amazon.com/cli/latest/reference/dlm/create-default-role.html). Para`--resource-type`, especifique `snapshot` para criar AWSDataLifecycleManagerDefaultRole ou `image` criar AWSDataLifecycleManagerDefaultRoleForAMIManagement.

```
$ aws dlm create-default-role --resource-type {{snapshot|image}}
```

Se você excluir essa função de serviço padrão e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta.

## Funções de serviço personalizadas para o Amazon Data Lifecycle Manager
<a name="custom-role"></a>

Como alternativa ao uso das funções de serviço padrão, é possível criar funções do IAM personalizadas com as permissões necessárias e selecioná-las ao criar uma política de ciclo de vida. 

**Para criar uma função do IAM personalizada**

1. Crie funções com as seguintes permissões.
   + Permissões necessárias para gerenciar políticas de ciclo de vida de snapshot

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:CreateSnapshot",
                     "ec2:CreateSnapshots",
                     "ec2:DeleteSnapshot",
                     "ec2:DescribeInstances",
                     "ec2:DescribeVolumes",
                     "ec2:DescribeSnapshots",
                     "ec2:EnableFastSnapshotRestores",
                     "ec2:DescribeFastSnapshotRestores",
                     "ec2:DisableFastSnapshotRestores",
                     "ec2:CopySnapshot",
                     "ec2:ModifySnapshotAttribute",
                     "ec2:DescribeSnapshotAttribute",
                     "ec2:ModifySnapshotTier",
                     "ec2:DescribeSnapshotTierStatus",
                     "ec2:DescribeAvailabilityZones"
                 ],
                 "Resource": "*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:CreateTags"
                 ],
                 "Resource": "arn:aws:ec2:*::snapshot/*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "events:PutRule",
                     "events:DeleteRule",
                     "events:DescribeRule",
                     "events:EnableRule",
                     "events:DisableRule",
                     "events:ListTargetsByRule",
                     "events:PutTargets",
                     "events:RemoveTargets"
                 ],
                 "Resource": "arn:aws:events:*:*:rule/AwsDataLifecycleRule.managed-cwe.*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ssm:GetCommandInvocation",
                     "ssm:ListCommands",
                     "ssm:DescribeInstanceInformation"
                 ],
                 "Resource": "*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ssm:SendCommand",
                     "ssm:DescribeDocument",
                     "ssm:GetDocument"
                 ],
                 "Resource": [
                     "arn:aws:ssm:*:*:document/*"
                 ],
                 "Condition": {
                     "StringEquals": {
                         "aws:ResourceTag/DLMScriptsAccess": "true"
                     }
                 }
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ssm:SendCommand",
                     "ssm:DescribeDocument",
                     "ssm:GetDocument"
                 ],
                 "Resource": [
                     "arn:aws:ssm:*::document/*"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ssm:SendCommand"
                 ],
                 "Resource": [
                     "arn:aws:ec2:*:*:instance/*"
                 ],
                 "Condition": {
                     "StringNotLike": {
                         "aws:ResourceTag/DLMScriptsAccess": "false"
                     }
                 }
             }
         ]
     }
     ```

------
   + Permissões necessárias para gerenciar políticas de ciclo de vida da AMI

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": "ec2:CreateTags",
                 "Resource": [
                     "arn:aws:ec2:*::snapshot/*",
                     "arn:aws:ec2:*::image/*"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:DescribeImages",
                     "ec2:DescribeInstances",
                     "ec2:DescribeImageAttribute",
                     "ec2:DescribeVolumes",
                     "ec2:DescribeSnapshots"
                 ],
                 "Resource": "*"
             },
             {
                 "Effect": "Allow",
                 "Action": "ec2:DeleteSnapshot",
                 "Resource": "arn:aws:ec2:*::snapshot/*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:ResetImageAttribute",
                     "ec2:DeregisterImage",
                     "ec2:CreateImage",
                     "ec2:CopyImage",
                     "ec2:ModifyImageAttribute"
                 ],
                 "Resource": "*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:EnableImageDeprecation",
                     "ec2:DisableImageDeprecation"
                 ],
                 "Resource": "arn:aws:ec2:*::image/*"
             }
         ]
     }
     ```

------

   Para obter mais informações, consulte [Criar uma função](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) no *Guia do usuário do IAM*.

1. Adicione uma relação de confiança às funções.

   1. No console do IAM, selecione **Roles (Funções)**.

   1. Selecione a função que você criou e, em seguida, escolha **Relações de confiança**.

   1. Escolha **Edit Trust Relationship (Editar relação de confiança)**, adicione a seguinte política e, em seguida, escolha **Update Trust Policy (Atualizar política de confiança)**.

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

****  

      ```
      {
      	"Version":"2012-10-17",		 	 	 
      	"Statement": [{
      		"Effect": "Allow",
      		"Principal": {
      			"Service": "dlm.amazonaws.com"
      		},
      		"Action": "sts:AssumeRole"
      	}]
      }
      ```

------

      Recomendamos o uso das chaves de condição `aws:SourceAccount` e `aws:SourceArn` para se proteger contra [O problema do agente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). Por exemplo, é possível adicionar o bloco de condições a seguir na política de confiança anterior. A `aws:SourceAccount` é a proprietária da política de ciclo de vida e o `aws:SourceArn` é o ARN da política de ciclo de vida. Se você não souber o ID da política de ciclo de vida, poderá substituir essa parte do ARN por um curinga (`*`) e atualizar a política após criar a política de ciclo de vida.

      ```
      "Condition": {
          "StringEquals": {
              "aws:SourceAccount": "{{account_id}}"
          },
          "ArnLike": {
              "aws:SourceArn": "arn:{{partition}}:dlm:{{region}}:{{account_id}}:policy/{{policy_id}}"
          }
      }
      ```