EC2용 맬웨어 보호에 대한 서비스 연결 역할 권한 - Amazon GuardDuty

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

EC2용 맬웨어 보호에 대한 서비스 연결 역할 권한

EC2용 맬웨어 보호는 AWSServiceRoleForAmazonGuardDutyMalwareProtection이라는 서비스 연결 역할(SLR)을 사용합니다. 이 SLR을 사용하면 EC2용 맬웨어 보호에서 에이전트 없는 검사를 수행하여 GuardDuty 계정에서 맬웨어를 탐지할 수 있습니다. 이를 통해 GuardDuty는 계정에서 EBS 볼륨 스냅샷을 생성하고 이 스냅샷을 GuardDuty 서비스 계정과 공유할 수 있습니다. GuardDuty가 스냅샷을 평가한 후 검색된 EC2 인스턴스 및 컨테이너 워크로드 메타데이터를 EC2용 맬웨어 보호 조사 결과에 포함합니다. AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할은 역할을 수임하기 위해 malware-protection.guardduty.amazonaws.com 서비스를 신뢰합니다.

이 역할에 대한 권한 정책은 EC2용 멀웨어 방지이 다음 작업을 수행하는 데 도움이 됩니다.

  • Amazon Elastic Compute Cloud(Amazon EC2) 작업을 사용하여 Amazon EC2 인스턴스, 볼륨 및 스냅샷에 관한 정보를 검색합니다. EC2용 맬웨어 보호는 또한 Amazon EKS 및 Amazon ECS 클러스터 메타데이터에 액세스할 수 있는 권한을 제공합니다.

  • GuardDutyExcluded 태그가 true로 설정되지 않은 EBS 볼륨의 스냅샷을 생성합니다. 기본적으로 스냅샷은 GuardDutyScanId 태그로 생성됩니다. 이 태그를 제거하면 안 됩니다. 제거하면 EC2용 맬웨어 보호에서 스냅샷에 액세스할 수 없습니다.

    중요

    GuardDutyExcludedtrue로 설정하면 GuardDuty 서비스에서 향후 이러한 스냅샷에 액세스할 수 없게 됩니다. 이는 이 서비스 연결 역할의 다른 문으로 인해 GuardDuty에서 GuardDutyExcludedtrue로 설정된 스냅샷에 대해 어떤 작업도 수행하지 못하기 때문입니다.

  • GuardDutyScanId 태그가 존재하고 GuardDutyExcluded 태그가 true로 설정되지 않은 경우에만 스냅샷 공유 및 삭제를 허용합니다.

    참고

    EC2용 맬웨어 보호에서 스냅샷 공개를 허용하지 않습니다.

  • GuardDutyExcluded 태그가 true로 설정된 키를 제외한 고객 관리 키에 액세스하여 CreateGrant를 호출하고 GuardDuty 서비스 계정과 공유되는 암호화된 스냅샷에서 암호화된 EBS 볼륨을 생성 및 액세스합니다. 각 리전의 GuardDuty 서비스 계정 목록은 AWS 리전별 GuardDuty 서비스 계정 섹션을 참조하세요.

  • 고객의 CloudWatch Logs에 액세스하여 EC2용 맬웨어 보호 로그 그룹을 생성하고 맬웨어 스캔 이벤트 로그를 /aws/guardduty/malware-scan-events 로그 그룹 아래에 배치합니다.

  • 고객이 맬웨어가 탐지된 스냅샷을 계정에 보관할지 여부를 결정하도록 허용합니다. 결과에서 맬웨어가 탐지되면 서비스 연결 역할을 통해 GuardDuty는 스냅샷에 GuardDutyFindingDetectedGuardDutyExcluded 태그를 추가할 수 있습니다.

    참고

    GuardDutyFindingDetected 태그는 스냅샷에 맬웨어가 포함되어 있음을 나타냅니다.

  • 볼륨이 EBS 관리 키로 암호화되었는지 확인합니다. GuardDuty는 DescribeKey 작업을 수행하여 계정의 EBS 관리 키의 key Id를 확인합니다.

  • 를 사용하여 암호화된 EBS 볼륨의 스냅샷을 AWS 관리형 키에서 가져 AWS 계정 와에 복사합니다GuardDuty 서비스 계정. 이를 위해 GetSnapshotBlockListSnapshotBlocks 권한을 사용합니다. 그러면 GuardDuty가 서비스 계정에서 스냅샷을 스캔합니다. 현재 로 암호화된 EBS 볼륨을 스캔하기 위한 EC2용 맬웨어 보호 지원은 일부에서 제공되지 않을 AWS 관리형 키 수 있습니다 AWS 리전. 자세한 내용은 리전별 기능 가용성 단원을 참조하십시오.

  • Amazon EC2가 EC2용 맬웨어 보호를 AWS KMS 대신하여를 호출하여 고객 관리형 키에 대해 여러 암호화 작업을 수행하도록 허용합니다. 고객 관리 키로 암호화된 스냅샷을 공유하려면 kms:ReEncryptTokms:ReEncryptFrom 등의 작업이 필요합니다. GuardDutyExcluded 태그가 true로 설정되지 않은 키에만 액세스할 수 있습니다.

역할은 다음 AWS 관리형 정책AmazonGuardDutyMalwareProtectionServiceRolePolicy를 통해 구성됩니다.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DescribeAndListPermissions", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:ListTasks", "ecs:DescribeTasks", "eks:DescribeCluster" ], "Resource": "*" }, { "Sid": "CreateSnapshotVolumeConditionalStatement", "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "CreateSnapshotConditionalStatement", "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyScanId" } } }, { "Sid": "CreateTagsPermission", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSnapshot" } } }, { "Sid": "AddTagsToSnapshotPermission", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "GuardDutyExcluded", "GuardDutyFindingDetected" ] } } }, { "Sid": "DeleteAndShareSnapshotPermission", "Effect": "Allow", "Action": [ "ec2:DeleteSnapshot", "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "PreventPublicAccessToSnapshotPermission", "Effect": "Deny", "Action": [ "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringEquals": { "ec2:Add/group": "all" } } }, { "Sid": "CreateGrantPermission", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" }, "StringLike": { "kms:EncryptionContext:aws:ebs:id": "snap-*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "CreateGrant", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "ShareSnapshotKMSPermission", "Effect": "Allow", "Action": [ "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Sid": "DescribeKeyPermission", "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*" }, { "Sid": "GuardDutyLogGroupPermission", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*" }, { "Sid": "GuardDutyLogStreamPermission", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*:log-stream:*" }, { "Sid": "EBSDirectAPIPermissions", "Effect": "Allow", "Action": [ "ebs:GetSnapshotBlock", "ebs:ListSnapshotBlocks" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "aws:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } } ] }

다음은 AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할에 연결된 신뢰 정책입니다.

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

EC2용 맬웨어 보호에 대한 서비스 연결 역할 생성

AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할은 EC2용 맬웨어 보호를 처음 사용하도록 설정하거나 이전에 사용하도록 설정하지 않았던 지원되는 지역에서 EC2용 맬웨어 보호를 사용하도록 설정하면 자동으로 만들어집니다. 또한 IAM 콘솔, IAM CLI 또는 IAM API를 사용하여 AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할을 수동으로 생성할 수 있습니다.

참고

Amazon GuardDuty를 처음 사용하는 경우 기본적으로 EC2용 맬웨어 보호가 자동으로 활성화됩니다.

중요

위임된 GuardDuty 관리자 계정에 대해 생성하지 않은 서비스 연결 역할은 멤버 GuardDuty 계정에 적용되지 않습니다.

IAM 보안 주체(사용자, 그룹, 역할 등)가 서비스 연결 역할을 작성하고 편집하거나 삭제할 수 있도록 권한을 구성해야 합니다. AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할을 성공적으로 생성하기 위해서는 GuardDuty에서 사용하는 IAM ID에 필요한 권한이 있어야 합니다. 필수 권한을 부여하려면 다음 정책을 이 사용자, 그룹 또는 역할에 연결하십시오.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "guardduty:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "malware-protection.guardduty.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "organizations:EnableAWSServiceAccess", "organizations:RegisterDelegatedAdministrator", "organizations:ListDelegatedAdministrators", "organizations:ListAWSServiceAccessForOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribeOrganization" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:GetRole", "Resource": "arn:aws:iam::*:role/*AWSServiceRoleForAmazonGuardDutyMalwareProtection" } ] }

수동 서비스 역할 생성에 대한 자세한 내용은 IAM 사용 설명서서비스에 대한 역할 만들기를 참조하세요.

EC2용 맬웨어 보호에 대한 서비스 연결 역할 편집

EC2용 맬웨어 보호에서는 AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할 편집을 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 엔터티가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서서비스 연결 역할 편집을 참조하세요.

EC2용 맬웨어 보호에 대한 서비스 연결 역할 삭제

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔티티가 없도록 합니다.

중요

AWSServiceRoleForAmazonGuardDutyMalwareProtection 삭제를 위해 활성화된 모든 리전에서 EC2용 맬웨어 보호를 비활성화해야 합니다.

서비스 연결 역할을 삭제하려고 할 때 EC2용 맬웨어 보호가 비활성화되지 않는 경우 삭제에 실패합니다. 먼저 계정에서 EC2용 멀웨어 보호를 비활성화해야 합니다.

비활성화를 선택하여 EC2용 맬웨어 보호 서비스를 중지하면 AWSServiceRoleForAmazonGuardDutyMalwareProtection이 자동으로 삭제되지 않습니다. 이후 활성화를 선택하여 EC2용 맬웨어 보호 서비스를 다시 시작하면 GuardDuty는 기존 AWSServiceRoleForAmazonGuardDutyMalwareProtection 사용을 시작합니다.

IAM을 사용하여 수동으로 서비스 연결 역할을 삭제하려면 다음을 수행하세요.

IAM 콘솔, AWS CLI 또는 IAM API를 사용하여 AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 서비스에 연결 역할 삭제를 참조하십시오.

지원되는 AWS 리전

Amazon GuardDuty는 EC2용 맬웨어 보호를 사용할 수 AWS 리전 있는 모든에서 AWSServiceRoleForAmazonGuardDutyMalwareProtection 서비스 연결 역할 사용을 지원합니다.

현재 GuardDuty를 사용할 수 있는 모든 리전 목록은Amazon Web Services 일반 참조Amazon GuardDuty endpoints and quotas를 참조하세요.

참고

EC2용 맬웨어 보호는 현재 AWS GovCloud(미국 동부) 및 AWS GovCloud(미국 서부)에서 사용할 수 없습니다.