

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Data Lifecycle Manager를 위한 IAM 서비스 역할
<a name="service-role"></a>

 AWS Identity and Access Management (IAM) 역할은 자격 AWS 증명이 할 수 있는 것과 없는 것을 결정하는 권한 정책이 있는 자격 증명이라는 점에서 사용자와 유사합니다 AWS. 그러나 역할은 한 사람하고만 연관되지 않고 해당 역할이 필요한 사람이라면 누구든지 맡을 수 있어야 합니다. 서비스 역할은 AWS 서비스가 사용자를 대신하여 작업을 수행하기 위해 수임하는 역할입니다. 사용자 대신 백업 작업을 수행하는 서비스인 Amazon Data Lifecycle Manager에 사용자 대신 정책 작업을 수행할 때 맡아야 할 역할을 전달해야 합니다. IAM 역할에 대한 자세한 내용은 IAM 사용 설명서**의 [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) 섹션을 참조하세요.

Amazon Data Lifecycle Manager에 전달하는 역할에는 Amazon Data Lifecycle Manager가 스냅샷 및 AMI 생성, 스냅샷 및 AMI 복사, 스냅샷 삭제, AMI 등록 취소 등 정책 작업과 관련된 작업을 수행할 수 있는 권한이 부여된 IAM 정책이 있어야 합니다. Amazon Data Lifecycle Manager 정책 유형마다 서로 다른 권한이 필요합니다. 또한 Amazon Data Lifecycle Manager가 신뢰할 수 있는 엔터티로 역할에 나열되어 있어야 Amazon Data Lifecycle Manager가 해당 역할을 맡을 수 있습니다.

**Topics**
+ [Amazon Data Lifecycle Manager를 위한 기본 서비스 역할](#default-service-roles)
+ [Amazon Data Lifecycle Manager를 위한 사용자 지정 서비스 역할](#custom-role)

## Amazon Data Lifecycle Manager를 위한 기본 서비스 역할
<a name="default-service-roles"></a>

Amazon Data Lifecycle Manager는 다음 기본 서비스 역할을 사용합니다.
+ **AWSDataLifecycleManagerDefaultRole**—스냅샷 관리를 위한 기본 역할입니다. 역할을 수임할 대상으로 `dlm.amazonaws.com` 서비스만 신뢰하며, Amazon Data Lifecycle Manager가 사용자를 대신하여 스냅샷 및 교차 계정 스냅샷 복사 정책에 필요한 작업을 수행하도록 합니다. 이 역할은 ` AWSDataLifecycleManagerServiceRole` AWS 관리형 정책을 사용합니다.
**참고**  
역할의 ARN 형식은 콘솔을 사용하여 생성했는지 AWS CLI를 사용하여 생성했는지에 따라 다릅니다. 콘솔을 사용하여 역할을 생성한 경우 ARN 형식은 `arn:aws:iam::account_id:role/service-role/AWSDataLifecycleManagerDefaultRole`입니다. 를 사용하여 역할을 생성한 경우 AWS CLI ARN 형식은 입니다`arn:aws:iam::account_id:role/AWSDataLifecycleManagerDefaultRole`.
+ **AWSDataLifecycleManagerDefaultRoleForAMIManagement**—AMI 관리를 위한 기본 역할입니다. 역할을 수임할 대상으로 `dlm.amazonaws.com` 서비스만 신뢰하며, Amazon Data Lifecycle Manager가 사용자를 대신하여 EBS 지원 AMI 정책에 필요한 작업을 수행하도록 합니다. 이 역할은 `AWSDataLifecycleManagerServiceRoleForAMIManagement` AWS 관리형 정책을 사용합니다.

Amazon Data Lifecycle Manager 콘솔을 사용할 경우, 스냅샷 또는 교차 계정 스냅샷 복사 정책을 처음 생성할 때 Amazon Data Lifecycle Manager가 **AWSDataLifecycleManagerDefaultRole** 서비스 역할을 자동으로 생성하며, EBS 지원 AMI 정책을 처음 생성할 때 **AWSDataLifecycleManagerDefaultRoleForAMIManagement** 서비스 역할을 자동으로 생성합니다.

콘솔을 사용하지 않을 경우 [create-default-role](https://docs.aws.amazon.com/cli/latest/reference/dlm/create-default-role.html) 명령을 사용하여 서비스 역할을 수동으로 생성할 수 있습니다. `--resource-type`에 `snapshot`을 지정하여 AWSDataLifecycleManagerDefaultRole을 생성하거나 `image`를 지정하여 AWSDataLifecycleManagerDefaultRoleForAMIManagement를 생성합니다.

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

기본 서비스 역할을 삭제한 다음 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다.

## Amazon Data Lifecycle Manager를 위한 사용자 지정 서비스 역할
<a name="custom-role"></a>

기본 서비스 역할을 사용하는 것에 대한 대안으로, 필요한 권한이 있는 사용자 지정 IAM 역할을 생성한 다음, 수명 주기 정책을 생성할 때 이를 선택해도 됩니다.

**사용자 지정 IAM 역할을 생성하려면**

1. 다음 권한을 가진 역할을 생성합니다.
   + 스냅샷 수명 주기 정책을 관리하는 데 필요한 권한

------
#### [ 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"
                     }
                 }
             }
         ]
     }
     ```

------
   + 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/*"
             }
         ]
     }
     ```

------

   자세한 내용은 IAM 사용 설명서**의 [역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)을 참조하세요.

1. 역할에 신뢰 관계를 추가합니다.

   1. IAM 콘솔에서 **역할**을 선택합니다.

   1. 생성한 역할을 선택하고 **신뢰 관계(Trust relationships)**를 선택합니다.

   1. **신뢰 관계 편집**을 선택하고 다음 정책을 추가한 뒤 **신뢰 정책 업데이트**를 선택합니다.

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

****  

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

------

      [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)로부터 자신을 보호하기 위하여 `aws:SourceAccount` 및 `aws:SourceArn` 조건 키를 사용할 것을 권장합니다. 예를 들어 이전 신뢰 정책에 다음 조건 블록을 추가할 수 있습니다. `aws:SourceAccount`는 수명 주기 정책의 소유자이고, `aws:SourceArn`은 수명 주기 정책의 ARN입니다. 수명 주기 정책 ID를 모르는 경우 ARN의 해당 부분을 와일드카드(`*`)로 바꾼 다음 수명 주기 정책을 만든 후 신뢰 정책을 업데이트할 수 있습니다.

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