的惡意軟體防護的服務連結角色許可 EC2 - Amazon GuardDuty

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

的惡意軟體防護的服務連結角色許可 EC2

的惡意軟體防護EC2使用名為 的服務連結角色 (SLR)AWSServiceRoleForAmazonGuardDutyMalwareProtection。這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標籤未設定為 的EBS磁碟區建立快照true。依預設,快照會以 GuardDutyScanId 標籤建立。請勿移除此標籤,否則 的惡意軟體防護EC2將無法存取快照。

    重要

    當您GuardDutyExcluded將 設定為 時true, GuardDuty 服務未來將無法存取這些快照。這是因為此服務連結角色中的其他陳述式 GuardDuty 會阻止對GuardDutyExcluded已設定為 的快照執行任何動作true

  • 僅當 GuardDutyScanId 標籤存在且 GuardDutyExcluded 標籤未設定為 true 時,才允許共用和刪除快照。

    注意

    不允許 的惡意軟體防護EC2公開快照。

  • 存取客戶受管金鑰,但GuardDutyExcluded標籤設定為 的金鑰除外true,以呼叫 CreateGrant ,從與服務 GuardDuty 帳戶共用的加密快照建立和存取加密EBS磁碟區。如需每個區域的 GuardDuty 服務帳戶清單,請參閱 GuardDuty 服務帳戶 AWS 區域

  • 存取客戶的 CloudWatch 日誌,為EC2日誌群組建立惡意軟體防護,並將惡意軟體掃描事件日誌放在/aws/guardduty/malware-scan-events日誌群組下。

  • 允許客戶決定是否要將快照保留在偵測到惡意軟體的帳戶中。如果掃描偵測到惡意軟體,服務連結角色 GuardDuty 允許將兩個標籤新增至快照 - GuardDutyFindingDetectedGuardDutyExcluded

    注意

    GuardDutyFindingDetected 標記指定快照包含惡意軟體。

  • 判斷磁碟區是否使用受EBS管金鑰加密。 GuardDuty 執行 DescribeKey動作,以判斷帳戶中受EBS管金鑰key Id的 。

  • 從 擷取使用 加密的EBS磁碟區快照 AWS 受管金鑰, AWS 帳戶 並將其複製到 GuardDuty 服務帳戶。為此,我們使用 許可GetSnapshotBlockListSnapshotBlocks。 GuardDuty 隨後會掃描服務帳戶中的快照。目前, AWS 受管金鑰 並非所有 都提供惡意軟體防護,EC2以支援使用 加密的掃描EBS磁碟區 AWS 區域。如需詳細資訊,請參閱區域特定功能的可用性

  • 允許 Amazon AWS KMS 代表 Malware Protection EC2呼叫 EC2,以對客戶受管金鑰執行數個密碼編譯動作。共用使用客戶自管金鑰加密的快照時,需要執行 kms:ReEncryptTokms:ReEncryptFrom 等動作。僅可存取 GuardDutyExcluded 標籤未設定為 true 的金鑰。

該角色使用名為 AmazonGuardDutyMalwareProtectionServiceRolePolicy 的下列 AWS 受管政策進行設定。

{ "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 手動建立AWSServiceRoleForAmazonGuardDutyMalwareProtection服務連結角色API。

注意

根據預設,如果您是 Amazon 的新手 GuardDuty,EC2則會自動啟用 的惡意軟體防護。

重要

為委派 GuardDuty 管理員帳戶建立的服務連結角色不適用於成員 GuardDuty 帳戶。

您必須設定許可,以允許IAM主體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。若要成功建立AWSServiceRoleForAmazonGuardDutyMalwareProtection服務連結角色,您使用的IAM身分 GuardDuty 必須具有必要的許可。如需授與必要的許可,請附加以下政策至此 使用者、群組或角色:

{ "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、 或 IAMAPI刪除AWSServiceRoleForAmazonGuardDutyMalwareProtection服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的刪除服務連結角色

支援 AWS 區域

Amazon GuardDuty 支援在EC2提供 AWS 區域 Malware Protection for 的所有 中使用AWSServiceRoleForAmazonGuardDutyMalwareProtection服務連結角色。

如需 GuardDuty 目前可用的區域清單,請參閱 中的 Amazon GuardDuty 端點和配額Amazon Web Services 一般參考

注意

的惡意軟體防護目前EC2在 AWS GovCloud (美國東部) 和 AWS GovCloud (美國西部) 中無法使用。