本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GuardDuty 恶意软件保护的服务权限,用于防护
GuardDuty 为相关角色 (SLR) 用于 SLR (SLR) 用于 SLR 的服务相关角色AWSServiceRoleForAmazonGuardDutyMalwareProtection
此 SLR 允许 GuardDuty 恶意软件防护执行无代理扫描,以检测您 GuardDuty 帐户中的恶意软件。它 GuardDuty 允许在您的账户中创建 EBS 卷快照,并与 GuardDuty 服务账户共享该快照。 GuardDuty 评估快照后,它会在 GuardDuty 恶意软件保护调查结果中包含检索到的 EC2 实例和容器工作负载元数据。AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务相关角色信任 malware-protection.guardduty.amazonaws.com
服务来代入角色。
该角色的权限策略允许 GuardDuty 恶意软件保护执行以下任务:
-
使用 Amazon EC2 操作检索有关您的 EC2 实例、卷和快照的信息。 GuardDuty 恶意软件保护还提供访问亚马逊 EKS 和 Amazon ECS 集群元数据的权限。
-
为
GuardDutyExcluded
标签未设置为的 EBS 卷创建快照true
。默认情况下,使用GuardDutyScanId
标签创建快照。请勿删除此标签,否则 GuardDuty 恶意软件保护将无法访问快照。重要 当您将设置
GuardDutyExcluded
为时true
,该 GuardDuty服务将来将无法访问这些快照。这是因为此服务相关角色中的其他语句 GuardDuty 阻止对GuardDutyExcluded
设置为的快照执行任何操作true
。 -
仅当
GuardDutyScanId
标签存在且标签未设置为时,才允许共享和GuardDutyExcluded
删除快照true
。注意 不允许 GuardDuty 恶意软件保护将快照公开。
-
访问客户管理的密钥(
GuardDutyExcluded
标签设置为true
的密钥除外),通过调CreateGrant
用创建和访问与 GuardDuty 服务帐户共享的加密快照创建和访问加密 EBS 卷。有关每个区域的 GuardDuty 服务帐号列表,请参阅GuardDuty 服务帐号由Amazon Web Services 区域。 -
访问客户 CloudWatch 日志以创建 GuardDuty 恶意软件保护日志组,并将恶意软件扫描事件日志放在
/aws/guardduty/malware-scan-events
日志组下。 -
允许客户决定是否要在自己的账户中保留检测到的恶意软件的快照。如果扫描检测到恶意软件,则服务关联角色允许 GuardDuty 向快照添加两个标签-
GuardDutyFindingDetected
和GuardDutyExcluded
。注意 该
GuardDutyFindingDetected
标签指定快照包含恶意软件。 -
确定卷是否使用 EBS 托管密钥加密。 GuardDuty 执行
DescribeKey
操作以确定您账户中 EBS 管理的密钥。key Id
GuardDuty 支持未加密和使用客户管理的密钥加密的卷。但是, GuardDuty 不支持使用 EBS 托管密钥加密的卷。有关更多信息,请参阅恶意软件防护中支持的卷数:
-
允许 Amazon EC2 代表 GuardDuty 恶意软件保护调用Amazon KMS,对客户管理的密钥执行多项加密操作。需要执行诸如
kms:ReEncryptTo
和kms:ReEncryptFrom
之类的操作才能共享使用客户管理的密钥加密的快照。只有那些GuardDutyExcluded
标签未设置为的密钥才可访问true
。
该角色使用以下名为的Amazon托管策略进行配置AmazonGuardDutyMalwareProtectionServiceRolePolicy
。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:ListTasks", "ecs:DescribeTasks", "eks:DescribeCluster" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Effect": "Allow", "Action": "ec2:CreateSnapshot", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "GuardDutyScanId" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:*/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSnapshot" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "GuardDutyExcluded", "GuardDutyFindingDetected" ] } } }, { "Effect": "Allow", "Action": [ "ec2:DeleteSnapshot", "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringLike": { "ec2:ResourceTag/GuardDutyScanId": "*" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Effect": "Deny", "Action": [ "ec2:ModifySnapshotAttribute" ], "Resource": "arn:aws:ec2:*:*:snapshot/*", "Condition": { "StringEquals": { "ec2:Add/group": "all" } } }, { "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" } } }, { "Effect": "Allow", "Action": [ "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" }, "Null": { "aws:ResourceTag/GuardDutyExcluded": "true" } } }, { "Effect": "Allow", "Action": "kms:DescribeKey", "Resource": "arn:aws:kms:*:*:key/*" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:CreateLogGroup", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/guardduty/*:log-stream:*" } ] }
服务相关角色附加到AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务相关角色上:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "malware-protection.guardduty.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
为相关角色,为 GuardDuty 恶意软件角色
当您首次启用恶意软件保护或在之前未启用 GuardDuty 恶意 GuardDuty 软件保护的支持区域中启用恶意软件保护时,将自动创建AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务关联角色。您还可以使用 IAM 控制台、IAM CLI 或 IAM API 手动创建AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务相关角色,使用 IAM 控制台、IAM CLI 或 IAM API。
默认情况下,如果您是亚马逊 GuardDuty的新手,则会自动启用恶意软件防护。
为 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 用户指南中的创建服务相关角色。
为相关角色,为 GuardDuty 相关角色
GuardDuty 恶意软件保护不允许您为AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务相关角色。在创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。不过,您可以使用 IAM 编辑角色的说明。有关更多信息,请参阅 IAM 用户指南中的编辑服务相关角色。
为 GuardDuty 相关角色
如果您不再需要使用某个需要服务相关角色的功能或服务,我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。
要删除,必须先在启用 GuardDuty 恶意软件保护的所有区域中禁用恶意软件防护。AWSServiceRoleForAmazonGuardDutyMalwareProtection
如果您在尝试删除服务相关角色时未禁用 GuardDuty 恶意软件保护,删除将失败。有关更多信息,请参阅启用或禁用恶意软件保护:
当您选择 “禁用” 来停止 GuardDuty 恶意软件保护服务AWSServiceRoleForAmazonGuardDutyMalwareProtection
时,不会自动删除。如果您随后选择 “启用” 再次启动 GuardDuty 恶意软件保护服务,则 GuardDuty 将开始使用现有的AWSServiceRoleForAmazonGuardDutyMalwareProtection
。
使用 IAM 手动删除服务相关角色
使用 IAM 控制台、IAM 或 IAM API 删除此AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务相关角色。Amazon有关更多信息,请参阅 IAM 用户指南中的删除服务相关角色。
支持 Amazon Web Services 区域
亚马逊 GuardDuty 支持在所有提供恶意软件保护Amazon Web Services 区域的地方使用AWSServiceRoleForAmazonGuardDutyMalwareProtection
服务关联角色。
有关当前可用区域的列表, GuardDuty 请参阅《Amazon Web Services 一般参考》中的 Amazon GuardDuty 端点和配额。
恶意软件防护目前在Amazon GovCloud (美国东部)和Amazon GovCloud (美国西部)不可用。