GuardDuty 的服务相关角色权限 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

GuardDuty 的服务相关角色权限

GuardDuty 使用名为 AWSServiceRoleForAmazonGuardDuty 的服务相关角色(SLR)。SLR 允许 GuardDuty 执行以下任务。还允许 GuardDuty 将检索到的属于 EC2 实例的元数据包含在调查发现中,在此调查发现中 GuardDuty 可能生成相关潜在威胁。AWSServiceRoleForAmazonGuardDuty 服务相关角色信任 guardduty.amazonaws.com 服务来代入角色。

这些权限策略有助于 GuardDuty 执行以下任务:

  • 使用 Amazon EC2 操作来管理和检索有关 EC2 实例、映像和联网组件(例如 VPC、子网和中转网关)的信息。

  • 使用 Amazon Organizations 操作描述关联账户和组织 ID。

  • 使用 Amazon S3 操作检索有关 S3 存储桶和对象的信息。

  • 启用 EC2 恶意软件防护后,使用 IAM 创建 EC2 恶意软件防护的服务相关角色权限

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

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

下面是附加到 AWSServiceRoleForAmazonGuardDuty 服务相关角色的信任策略:

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

有关 AmazonGuardDutyServiceRolePolicy 策略更新的详细信息,请参阅 GuardDuty 的 Amazon 托管策略更新。要获得有关此策略更改的自动提醒,请订阅 文档历史记录 页面上的 RSS 源。

创建 GuardDuty 的服务相关角色

在您首次启用 GuardDuty 时,或者在以前未启用 GuardDuty 的支持区域中启用时,将自动创建 AWSServiceRoleForAmazonGuardDuty 服务相关角色。您还可以使用 IAM 控制台、Amazon CLI 或 IAM API,来手动创建服务相关角色。

重要

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

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

注意

将以下示例中的示例账户 ID 替换为您的实际 Amazon Web Services 账户 ID。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "guardduty:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty" } ] }

有关手动创建角色的更多信息,请参阅《IAM 用户指南》中的创建服务相关角色

编辑 GuardDuty 的服务相关角色

GuardDuty 不允许编辑 AWSServiceRoleForAmazonGuardDuty 服务相关角色。在创建服务相关角色后,您将无法更改角色的名称,因为可能有多种实体引用该角色。不过,您可以使用 IAM 编辑角色的说明。有关更多信息,请参阅《IAM 用户指南》中的编辑服务相关角色

删除 GuardDuty 的服务相关角色

如果不再需要使用某个需要服务相关角色的特征或服务,我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。

重要

如果您启用了 EC2 恶意软件防护,则删除 AWSServiceRoleForAmazonGuardDuty 不会自动删除 AWSServiceRoleForAmazonGuardDutyMalwareProtection。如果要删除 AWSServiceRoleForAmazonGuardDutyMalwareProtection,请参阅删除 EC2 恶意软件防护的服务相关角色

要删除 AWSServiceRoleForAmazonGuardDuty,您必须先在启用 GuardDuty 的所有区域中进行禁用。如果在您尝试删除服务相关角色时未禁用 GuardDuty 服务,删除会失败。有关更多信息,请参阅 暂停或禁用 GuardDuty

当您禁用 GuardDuty 时,不会自动删除 AWSServiceRoleForAmazonGuardDuty。如果您再次启用 GuardDuty,将开始使用现有的 AWSServiceRoleForAmazonGuardDuty

使用 IAM 手动删除 服务相关角色

使用 IAM 控制台、Amazon CLI 或 IAM API 删除 AWSServiceRoleForAmazonGuardDuty 服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的删除服务相关角色

支持 Amazon Web Services 区域

Amazon GuardDuty 支持在 GuardDuty 可用的所有 Amazon Web Services 区域 区域,使用 AWSServiceRoleForAmazonGuardDuty 服务相关角色。有关当前可用 GuardDuty 的区域列表,请参阅 Amazon Web Services 一般参考 中的 Amazon GuardDuty 端点和配额