View a markdown version of this page

操作方法 AWS Audit Manager 与 IAM 配合使用 - Amazon Audit Manager

AWS Audit Manager 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 AWS Audit Manager 可用性变更

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

操作方法 AWS Audit Manager 与 IAM 配合使用

在使用 IAM 管理对 Audit Manager 的访问权限之前,您应该了解哪些 IAM 功能可与Audit Manager 搭配使用。

您可以与之配合使用的 IAM 功能 AWS Audit Manager
IAM 功能 Audit Manager 支持

Identity-based 政策

Resource-based 政策

策略操作

策略资源

策略条件密钥

部分

ACL

ABAC(策略中的标签)

临时凭证

转发访问会话(FAS)

服务角色

Service-linked 角色

要详细了解大多数 IAM 功能 AWS Audit Manager 以及其他 AWS 服务的工作原理,请参阅 IAM 用户指南中的与 IAM 配合使用的AWS 服务。

Identity-based 的政策 AWS Audit Manager

支持基于身份的策略:

Identity-based 策略是 JSON 权限策略文档,您可以将其附加到身份,例如 IAM 用户、用户组或角色。这些策略控制用户和角色可在何种条件下对哪些资源执行哪些操作。要了解如何创建基于身份的策略,请参阅《IAM 用户指南》中的使用客户管理型策略定义自定义 IAM 权限

通过使用 IAM 基于身份的策略,您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。要了解可在 JSON 策略中使用的所有元素,请参阅《IAM 用户指南》中的 IAM JSON 策略元素引用

AWS Audit Manager 为审计经理管理员创建名AWSAuditManagerAdministratorAccess为的托管策略。此策略授予 Audit Manager 中的完全管理权限。管理员可以将此策略附加到任何现有角色或用户,也可以使用此策略创建新角色。

中针对用户角色的推荐政策 AWS Audit Manager

AWS Audit Manager 使您能够使用不同的 IAM 策略保持不同用户之间的职责分离以及不同的审计。Audit Manager 中的两个角色及其推荐的策略定义如下。

女神异闻录 描述和推荐的策略

审计负责人

  • 此角色必须具有必要的权限才能在中管理评估。 AWS Audit Manager

  • 用于此角色的推荐策略是名AWSAuditManagerAdministratorAccess为的托管策略。您可以使用此策略作为起点,根据您的要求缩小这些权限的范围。

委托人

  • 此角色可以访问评测中的委托控件集。他们可以更新控件状态、添加注释、提交控制集以供审查,以及向评测报告中添加证据。

  • 为此角色推荐使用的策略是以下示例策略:允许用户管理访问权限 AWS Audit Manager。您可以将此策略作为起点,并根据需要进行更改以满足您的要求。

Identity-based 的策略示例 AWS Audit Manager

要查看 Audit Manager 基于身份的策略示例,请参阅Identity-based 的策略示例 AWS Audit Manager

Resource-based 内部的政策 AWS Audit Manager

支持基于资源的策略:

Resource-based 策略是您附加到资源的 JSON 策略文档。基于资源的策略的示例包括 IAM 角色信任策略和 Amazon S3 存储桶策略。在支持基于资源的策略的服务中,服务管理员可以使用它们来控制对特定资源的访问。对于在其中附加策略的资源,策略定义指定主体可以对该资源执行哪些操作以及在什么条件下执行。您必须在基于资源的策略中指定主体。委托人可以包括账户、用户、角色、联合用户或 AWS 服务。

要启用跨账户访问,您可以将整个账户或其它账户中的 IAM 实体指定为基于资源的策略中的主体。有关更多信息,请参阅《IAM 用户指南》中的 IAM 中的跨账户资源访问

尽管 AWS Audit Manager 不允许您通过 IAM 管理基于资源的策略,但该服务在内部针对以下两种情况实施和管理基于资源的策略:

的政策行动 AWS Audit Manager

支持策略操作:

管理员可以使用 AWS JSON 策略来指定谁有权访问哪些内容。也就是说,哪个主体可以对什么资源执行操作,以及在什么条件下执行。

JSON 策略的 Action 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

要查看 AWS Audit Manager 操作列表,请参阅 AWS Audit Manager 在《服务授权参考》中定义的操作。

正在进行的策略操作在操作之前 AWS Audit Manager 使用以下前缀。

auditmanager

要在单个语句中指定多项操作,请使用逗号将它们隔开。

"Action": [ "auditmanager:GetEvidenceDetails", "auditmanager:GetEvidenceEventDetails" ]

您也可以使用通配符(*)指定多个操作。例如,要指定以单词 Get 开头的所有操作,请包括以下操作。

"Action": "auditmanager:Get*"

要查看 Audit Manager 基于身份的策略示例,请参阅Identity-based 的策略示例 AWS Audit Manager

的政策资源 AWS Audit Manager

支持策略资源:

管理员可以使用 AWS JSON 策略来指定谁有权访问哪些内容。也就是说,哪个主体可以对什么资源执行操作,以及在什么条件下执行。

Resource JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践,请使用其 Amazon 资源名称(ARN)指定资源。对于不支持资源级权限的操作,请使用通配符 (*) 指示语句应用于所有资源。

"Resource": "*"

要查看 AWS Audit Manager 资源类型及其 ARN 的列表,请参阅 AWS Audit Manager 服务授权参考中定义的资源。要了解您可以在哪些操作中指定每个资源的 ARN,请参阅 AWS Audit Manager 定义的操作

Audit Manager 评测具有以下 Amazon 资源名称(ARN)格式:

arn:${Partition}:auditmanager:${Region}:${Account}:assessment/${assessmentId}

Audit Manager 控件集具有以下 ARN 格式:

arn:${Partition}:auditmanager:${Region}:${Account}:assessment/${assessmentId}controlSet/${controlSetId}

Audit Manager 控件具有以下 ARN 格式:

arn:${Partition}:auditmanager:${Region}:${Account}:control/${controlId}

有关 ARN 格式的更多信息,请参阅 Amazon 资源名称(ARN)

例如,要在语句中指定 i-1234567890abcdef0 评测,请使用以下 ARN。

"Resource": "arn:aws:auditmanager:us-east-1:123456789012:assessment/i-1234567890abcdef0"

要指定属于特定账户的所有实例,请使用通配符 (*)。

"Resource": "arn:aws:auditmanager:us-east-1:123456789012:assessment/*"

无法对特定资源执行某些 Audit Manager 操作,例如,用于创建资源的操作。在这些情况下,您必须使用通配符(*)。

"Resource": "*"

许多 Audit Manager API 操作涉及多种资源。例如,ListAssessments返回当前登录者可以访问的评估元数据列表 AWS 账户。因此,用户必须具有查看评测的权限。要在单个语句中指定多个资源,请使用逗号分隔 ARN。

"Resource": [ "resource1", "resource2"

要查看 Audit Manager 资源类型及其 ARN 的列表,请参阅 IAM 用户指南中的 AWS Audit Manager定义的资源。要了解您可以在哪些操作中指定每个资源的 ARN,请参阅 AWS Audit Manager定义的操作

某些 Audit Manager API 操作支持多个资源。例如,GetChangeLogs 访问 assessmentIDcontrolIDcontrolSetId,因此主体必须具有访问这些资源的权限。要在单个语句中指定多个资源,请使用逗号分隔 ARN。

"Resource": [ "assessmentId", "controlId", "controlSetId"

的策略条件键 AWS Audit Manager

支持特定于服务的策略条件键:部分

管理员可以使用 AWS JSON 策略来指定谁有权访问哪些内容。也就是说,哪个主体可以对什么资源执行操作,以及在什么条件下执行。

Condition 元素(或 Condition )中,可以指定语句生效的条件。Condition 元素是可选的。您可以创建使用条件运算符(例如,等于或小于)的条件表达式,以使策略中的条件与请求中的值相匹配。

如果您在一个语句中指定多个 Condition 元素,或在单个 Condition 元素中指定多个键,则 AWS 使用逻辑 AND 运算评估它们。如果您为单个条件键指定多个值,则使用逻辑OR运算对条件进行 AWS 评估。在授予语句的权限之前必须满足所有的条件。

策略语句中的主体是 AWS 服务主体时,我们强烈建议您在策略中使用 aws:SourceArnaws:SourceAccount 全局条件键。您可以使用这些全局条件上下文键来帮助防止出现混淆代理场景。以下记录策略演示如何使用 Audit Manager 中的 aws:SourceArnaws:SourceAccount 全局条件上下文键来防范混淆代理问题。

在指定条件时,您也可以使用占位符变量。例如,仅当用户使用其用户名进行标记时,您才可为其授予访问资源的权限。有关更多信息,请参阅《IAM 用户指南》中的 IAM 策略元素:变量和标签

Audit Manager 不提供任何特定于服务的条件键,但支持使用某些全局条件键。要查看所有 AWS 全局条件密钥,请参阅 IAM 用户指南中的AWS 全局条件上下文密钥

中的访问控制列表 (ACL) AWS Audit Manager

支持 ACL:

访问控制列表(ACL)控制哪些主体(账户成员、用户或角色)有权访问资源。ACL 与基于资源的策略类似,但它们不使用 JSON 策略文档格式。

Attribute-based 访问控制 (ABAC) 和 AWS Audit Manager

支持 ABAC(策略中的标签):

Attribute-based 访问控制 (ABAC) 是一种授权策略,它根据称为标签的属性定义权限。您可以将标签附加到 IAM 实体和 AWS 资源,然后设计 ABAC 策略,允许在委托人的标签与资源上的标签匹配时进行操作。

要基于标签控制访问,您需要使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键,则对于该服务,该值为。如果某个服务仅对于部分资源类型支持所有这三个条件键,则该值为部分

有关 ABAC 的更多信息,请参阅《IAM 用户指南》中的使用 ABAC 授权定义权限。要查看设置 ABAC 步骤的教程,请参阅《IAM 用户指南》中的使用基于属性的访问权限控制(ABAC)

有关标记 AWS Audit Manager 资源的更多信息,请参阅为资源添加标签 AWS Audit Manager

使用临时证书 AWS Audit Manager

支持临时凭证:

临时证书提供对 AWS 资源的短期访问权限,并在您使用联合或切换角色时自动创建。 AWS 建议您动态生成临时证书,而不是使用长期访问密钥。有关更多信息,请参阅《IAM 用户指南》中的 IAM 中的临时安全凭证使用 IAM 的。AWS 服务

的转发访问会话 AWS Audit Manager

支持转发访问会话(FAS):

前向访问会话 (FAS) 使用调用主体的权限 AWS 服务,同时请求 AWS 服务 向下游服务发出请求。有关发出 FAS 请求时的策略详情,请参阅转发访问会话

的服务角色 AWS Audit Manager

支持服务角色:

服务角色是由一项服务担任、代表您执行操作的 IAM 角色。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息,请参阅《IAM 用户指南》中的创建向 AWS 服务委派权限的角色

警告

更改服务角色的权限可能会破坏 AWS Audit Manager 的功能。仅当 Audit Manager 提供相关指导时才编辑服务角色。

Service-linked 的角色 AWS Audit Manager

支持服务关联角色:

服务相关角色是一种链接到的服务角色。 AWS 服务该服务可以代替您执行操作。 Service-linked 角色显示在您的中 AWS 账户 且归服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

有关的服务相关角色的详细信息 AWS Audit Manager,请参阅将服务相关角色用于 AWS Audit Manager