AWS CloudTrail 和 AWS Organizations - AWS Organizations

AWS CloudTrail 和 AWS Organizations

AWS CloudTrail 是一项AWS服务,可帮助对您的AWS 账户进行监管、合规性检查、操作审核和风险审核。使用 AWS CloudTrail,管理账户中的用户可以创建组织跟踪,记录该组织中所有AWS 账户的所有事件。组织跟踪自动应用到组织中的所有成员账户。成员账户可以查看组织跟踪,但无法修改或删除它。默认情况下,成员账户没有权限访问 Amazon S3 存储桶中组织跟踪的日志文件。这有助于您在组织的账户中统一应用和实施事件日志记录策略。

有关更多信息,请参阅《AWS CloudTrail 用户指南》中的为组织创建跟踪

以下信息可帮助您将 AWS CloudTrail 与 AWS Organizations 集成。

启用集成时,创建了一个服务相关角色

以下服务相关角色会在您启用信任访问权限时自动在组织的管理账户中创建。此角色允许 CloudTrail 在您组织中的组织账户内执行支持的操作。

只有在禁用 CloudTrail 和 Organizations 之间的信任访问权限,或者如果您从组织中删除成员账户,您才能删除或修改此角色。

  • AWSServiceRoleForCloudTrail

服务相关角色使用的服务委托人

上一部分中的服务相关角色只能由为角色定义的信任关系授权的服务委托人担任。CloudTrail 使用的服务相关角色为以下服务委托人授予访问权限:

  • cloudtrail.amazonaws.com

使用 CloudTrail 启用信任访问权限

有关启用信任访问权限所需权限的信息,请参阅允许可信访问所需的权限

如果您通过从 AWS CloudTrail 控制台创建跟踪来启用可信访问,则系统会自动为您配置可信访问(推荐)。您还可以使用 AWS Organizations 控制台启用可信访问。您必须使用 AWS Organizations 管理账户登录以创建组织跟踪。

如果您选择使用 AWS CLI 或 AWS API 创建组织跟踪,则必须手动配置可信访问。有关更多信息,请参阅《AWS CloudTrail 用户指南》中的将 CloudTrail 作为 AWS Organizations 中信任服务启用

重要

强烈建议您尽可能使用 AWS CloudTrail 控制台或工具来实现与 Organizations 的集成。

您可以通过运行 Organizations AWS CLI 命令,或者调用某个 AWS SDK 中的 Organizations API 操作来启用信任访问权限。

AWS CLI, AWS API
使用 Organizations CLI/SDK 启用信任服务访问权限

您可以使用以下 AWS CLI 命令或 API 操作启用信任服务访问权限:

  • AWS CLI:enable-aws-service-access

    您可以运行以下命令以启用 AWS CloudTrail 作为 Organizations 的信任服务。

    $ aws organizations enable-aws-service-access \ --service-principal cloudtrail.amazonaws.com

    如果成功,此命令不会产生任何输出。

  • AWS API:EnableAWSServiceAccess

使用 CloudTrail 禁用信任访问权限

有关禁用信任访问所需权限的信息,请参阅禁止可信访问所需的权限

AWS CloudTrail 需要与 AWS Organizations 建立可信访问才能使用组织跟踪和组织事件数据存储。如果您在使用 AWS CloudTrail 期间使用 AWS Organizations 禁用了可信访问,则将删除成员账户的所有组织跟踪,因为 CloudTrail 无法访问该组织。所有管理账户组织跟踪和组织事件数据存储都将转换为账户级别跟踪和事件数据存储。为了在 CloudTrail 与 AWS Organizations 之间建立集成而创建的 AWSServiceRoleForCloudTrail 角色将保留在账户中。如果您重新启用可信访问,CloudTrail 将不会对现有跟踪和事件数据存储执行任何操作。管理账户必须更新所有账户级别的跟踪和事件数据存储,才能将其应用于组织。

要将账户级别跟踪或事件数据存储转换为组织跟踪或组织事件数据存储,请执行以下操作:

  • 在 CloudTrail 控制台中,更新跟踪事件数据存储,然后选择为我组织中的所有账户启用选项。

  • 从 AWS CLI 执行以下操作:

    • 要更新跟踪,请运行 update-trail 命令并添加 --is-organization-trail 参数。

    • 要更新事件数据存储,请运行 update-event-data-store 命令并添加 --organization-enabled 参数。

只有 AWS Organizations 管理账户中的管理员可以禁用对 AWS CloudTrail 的信任访问权限。您可以使用 AWS Organizations 控制台、运行 Organizations AWS CLI 命令,或通过任何一种 AWS SDK 某个Organizations API 操作,从而禁用可信访问。

您可以使用AWS Organizations控制台,通过运行 Organizations AWS CLI 命令,或者通过调用某个 AWS SDK 中的 Organizations API 操作来禁用信任访问权限。

AWS Management Console
使用 Organizations 控制台禁用信任服务访问权限
  1. 登录 AWS Organizations 控制台。您必须以 IAM 用户的身份登录,担任 IAM 角色;或在组织的管理账户中以根用户的身份登录(不推荐)。

  2. 在导航窗格中,选择服务

  3. 在服务列表中选择 AWS CloudTrail

  4. 选择 Disable trusted access(禁用信任访问权限)

  5. 为 AWS CloudTrail 禁用可信访问对话框中,键入禁用进行确认,然后选择禁用可信访问

  6. 如果您只是 AWS Organizations 的管理员,请告诉 AWS CloudTrail 的管理员,他们现在可以使用其控制台或工具禁用该服务,使其无法处理 AWS Organizations。

AWS CLI, AWS API
使用 Organizations CLI/SDK 禁用信任服务访问权限

您可以使用以下 AWS CLI 命令或 API 操作禁用信任服务访问:

  • AWS CLI:disable-aws-service-access

    您可以运行以下命令以禁用 AWS CloudTrail 作为 Organizations 的信任服务。

    $ aws organizations disable-aws-service-access \ --service-principal cloudtrail.amazonaws.com

    如果成功,此命令不会产生任何输出。

  • AWS API:DisableAWSServiceAccess

为 CloudTrail 启用委托管理员账户

在 Organizations 中使用 CloudTrail 时,您可以注册组织内的任何账户,以充当 CloudTrail 委托管理员,代表组织管理组织的跟踪和事件数据存储。委托管理员是组织中的成员账户,可以在 CloudTrail 中执行与管理账户相同的管理任务。

最小权限

只有组织管理账户中的管理员才能为 CloudTrail 注册委托管理员。

您可以使用 CloudTrail 控制台,或者通过使用 Organizations RegisterDelegatedAdministrator CLI 或 SDK 操作,来注册委托管理员账户。要使用 CloudTrail 控制台注册委托管理员,请参阅 Add a CloudTrail delegated administrator(添加 CloudTrail 委托管理员)。

为 CloudTrail 禁用委托管理员

只有组织管理账户中的管理员才能为 CloudTrail 删除委托管理员。您可以使用 CloudTrail 控制台或者通过使用 Organizations DeregisterDelegatedAdministrator CLI 或 SDK 操作来删除委托管理员。有关如何使用 CloudTrail 控制台删除委托管理员的信息,请参阅 Remove a CloudTrail delegated administrator(删除 CloudTrail 委托管理员)。