GuardDuty 的服务相关角色权限 - Amazon GuardDuty

GuardDuty 的服务相关角色权限

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

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

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

  • 当您启用 GuardDuty 运行时监控和适用于 Amazon EC2 的自动代理时,可使用 AWS Systems Manager 操作来管理 Amazon EC2 实例上的 SSM 关联。禁用 GuardDuty 自动代理配置后,GuardDuty 仅会考虑带有包含标签 (GuardDutyManaged:true) 的 EC2 实例。

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

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

  • 使用 AWS Lambda 操作检索有关 Lambda 函数和标签的信息。

  • 使用 Amazon EKS 操作管理和检索有关 EKS 集群的信息,并管理 EKS 集群上的 Amazon EKS 插件。EKS 操作还会检索与 GuardDuty 关联的标签的相关信息。

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

  • 使用 Amazon ECS 操作管理和检索 Amazon ECS 集群信息以及使用 guarddutyActivate 管理 Amazon ECS 账户设置。Amazon ECS 相关操作还会检索与 GuardDuty 相关的标签信息。

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

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

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

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

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

创建 GuardDuty 的服务相关角色

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

重要

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

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

注意

将以下示例中的示例账户 ID 替换为您的实际 AWS 账户 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 控制台、AWS CLI 或 IAM API 删除 AWSServiceRoleForAmazonGuardDuty 服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的删除服务相关角色

支持 AWS 区域

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