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 恶意软件防护将无法访问快照。

    重要

    当您将 GuardDutyExcluded 设置为 true 时,GuardDuty 服务以后将无法访问这些快照。这是因为此服务相关角色中的其他语句会阻止 GuardDuty 对 GuardDutyExcluded 设置为 true 的快照执行任何操作。

  • 仅当 GuardDutyScanId 标签存在且 GuardDutyExcluded 标签未设置为 true 时,才允许共享和删除快照。

    注意

    不允许 EC2 恶意软件防护公开快照。

  • 访问客户管理的密钥(GuardDutyExcluded 标签设置为 true 的密钥除外),以调用 CreateGrant 从与 GuardDuty 服务账户共享的加密快照创建和访问加密的 EBS 卷。有关每个区域的 GuardDuty 服务账户列表,请参阅 按照 AWS 区域 筛选的 GuardDuty 服务账号

  • 访问客户的 CloudWatch 日志以创建 EC2 恶意软件防护日志组,并将恶意软件扫描事件日志放在 /aws/guardduty/malware-scan-events 日志组下。

  • 由客户决定是否要在其账户中保留检测到的恶意软件快照。如果扫描检测到恶意软件,服务相关角色允许 GuardDuty 向快照添加两个标签:GuardDutyFindingDetectedGuardDutyExcluded

    注意

    GuardDutyFindingDetected 标签指定快照包含恶意软件。

  • 确定卷是否使用 EBS 托管密钥加密。GuardDuty 执行 DescribeKey 操作,以确定您账户中 EBS 托管密钥的 key Id

  • 获取 AWS 账户中使用 AWS 托管式密钥加密的 EBS 卷的快照,然后将其复制到 GuardDuty 服务账号。为此,我们会使用 GetSnapshotBlockListSnapshotBlocks 权限。然后,GuardDuty 将扫描服务账户中的快照。目前,EC2 恶意软件防护支持扫描使用 AWS 托管式密钥加密的 EBS 卷的功能,可能并非在所有 AWS 区域都可使用。有关更多信息,请参阅 特定于区域的功能可用性

  • 允许 Amazon EC2 代表 EC2 恶意软件防护调用 AWS KMS,从而对客户自主管理型密钥执行多项加密操作。共享使用客户管理密钥加密的快照,需要执行 kms:ReEncryptTokms:ReEncryptFrom 等操作。只有那些 GuardDutyExcluded 标签未设置为 true 的密钥才可访问。

该角色使用以下 AWS 托管策略(名为 AmazonGuardDutyMalwareProtectionServiceRolePolicy)配置。

要查看此策略的权限,请参阅《AWS 托管式策略参考指南》中的 AmazonGuardDutyMalwareProtectionServiceRolePolicy

以下信任策略附加到 AWSServiceRoleForAmazonGuardDutyMalwareProtection 服务相关角色:

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

为 EC2 恶意软件防护创建服务相关角色

当您首次启用 EC2 恶意软件防护,或在之前未启用此功能的受支持区域中启用 EC2 恶意软件防护时,系统会自动创建 AWSServiceRoleForAmazonGuardDutyMalwareProtection 服务相关角色。您还可以使用 IAM 控制台、IAM API 或 IAM API 创建 AWSServiceRoleForAmazonGuardDutyMalwareProtection 服务相关角色。

注意

默认情况下,如果您刚开始使用 Amazon GuardDuty,EC2 恶意软件防护会自动启用。

重要

为委派 GuardDuty 管理员账户创建的服务相关角色不适用于成员 GuardDuty 账户。

您必须配置权限,允许 IAM 主体(如用户、组或角色)创建、编辑或删除服务相关角色。为了成功创建 AWSServiceRoleForAmazonGuardDutyMalwareProtection 服务相关角色,用于 GuardDuty 的 IAM 身份必须具有所需的权限。要授予所需的权限,请将以下策略附加到此 用户、组或角色:

JSON
{ "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 端点和配额

注意

EC2 恶意软件防护目前在 AWS GovCloud(美国东部)和 AWS GovCloud(美国西部)区域尚未开放。