Amazon Data Lifecycle Manager를 위한 IAM 서비스 역할 - Amazon EBS

Amazon Data Lifecycle Manager를 위한 IAM 서비스 역할

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

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

Amazon Data Lifecycle Manager를 위한 기본 서비스 역할

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 명령을 사용하여 서비스 역할을 수동으로 생성할 수 있습니다. --resource-typesnapshot을 지정하여 AWSDataLifecycleManagerDefaultRole을 생성하거나 image를 지정하여 AWSDataLifecycleManagerDefaultRoleForAMIManagement를 생성합니다.

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

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

Amazon Data Lifecycle Manager를 위한 사용자 지정 서비스 역할

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

사용자 지정 IAM 역할을 생성하려면
  1. 다음 권한을 가진 역할을 생성합니다.

    • 스냅샷 수명 주기 정책을 관리하는 데 필요한 권한

      { "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" ], "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 수명 주기 정책을 관리하는 데 필요한 권한

      { "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 사용 설명서역할 생성을 참조하세요.

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

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

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

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

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

      혼동된 대리자 문제로부터 자신을 보호하기 위하여 aws:SourceAccountaws: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" } }