准备为您的组织创建跟踪 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

准备为您的组织创建跟踪

在为贵组织创建跟踪之前,请确保正确设置贵组织的管理账户或委托管理员账户,以便创建跟踪。

  • 您的组织必须先启用所有功能,然后才能为其创建跟踪。有关更多信息,请参阅启用组织中的所有功能

  • 管理账户或委托管理员账户必须具有 AWSServiceRoleForOrganizations 角色。此角色由 Organizations 在您创建组织时自动创建,并且是 CloudTrail 记录组织事件所必需的。有关更多信息,请参阅 Organizations 和服务相关角色

  • 将用于在管理账户或委托管理员账户中创建组织跟踪的 IAM 用户或角色必须拥有足够的权限才能创建组织跟踪。要创建组织跟踪,您至少必须应用 AWSCloudTrail_FullAccess 策略或等效权限。您还必须在 IAM 和 Organizations 中具有足够的权限,才能创建服务相关角色并启用可信访问。以下示例策略显示了所需的最低权限。

    注意

    未打算跨您的 Amazon 账户广泛共享 AWSCloudTrail_FullAccess 策略。相反,因为 CloudTrail 收集的信息高度敏感,所以它应仅限于 Amazon 账户管理员使用。拥有此角色的用户能够禁用或重新配置他们的 Amazon 账户中最敏感且最重要的审计功能。因此,访问此策略应紧密控制和监控。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "organizations:EnableAWSServiceAccess", "organizations:ListAccounts", "iam:CreateServiceLinkedRole", "organizations:DisableAWSServiceAccess", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ], "Resource": "*" } ] }
  • 要使用 Amazon CLI 或 CloudTrail API 来创建组织跟踪,必须在 Organizations 中为 CloudTrail 启用可信访问,且必须使用允许对组织跟踪进行日志记录的策略手动创建一个 Simple Storage Service(Amazon S3)存储桶。有关更多信息,请参阅使用 Amazon Command Line Interface 为组织创建跟踪

  • 要使用现有 IAM 角色将组织跟踪的监控功能添加到 Amazon CloudWatch Logs 中,您必须手动修改 IAM 角色,以允许将成员账户的 CloudWatch Logs 传送到管理账户或委托管理员账户的 CloudWatch Logs 组,如以下示例所示。

    注意

    您必须使用自己账户中存在的 IAM 角色和 CloudWatch Logs 日志组。您不能使用其他账户拥有的 IAM 角色或 CloudWatch Logs 日志组。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailCreateLogStream20141101", "Effect": "Allow", "Action": [ "logs:CreateLogStream" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*" ] }, { "Sid": "AWSCloudTrailPutLogEvents20141101", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:111111111111_CloudTrail_us-east-2*", "arn:aws:logs:us-east-2:111111111111:log-group:CloudTrail/DefaultLogGroupTest:log-stream:o-exampleorgid_*" ] } ] }

    您可以在 使用 Amazon CloudWatch Logs 监控 CloudTrail 日志文件 中了解关于 CloudTrail 和 Amazon CloudWatch Logs 的更多信息。此外,在决定启用组织跟踪的体验之前,请考虑对 CloudWatch Logs 的限制和服务的定价注意事项。有关更多信息,请参阅 CloudWatch Logs 限制Amazon CloudWatch 定价

  • 要在组织跟踪中记录成员账户中特定资源的数据事件,请为每项资源准备好 Amazon Resource Name(ARN)列表。创建跟踪时,成员账户资源不会显示在 CloudTrail 控制台中;您可以在支持数据事件收集的管理账户中浏览资源,例如 S3 存储桶。同样,如果要在命令行中创建或更新组织跟踪时添加特定成员资源,则需要这些资源的 ARN。

    注意

    记录数据事件将收取额外费用。有关 CloudTrail 定价的信息,请参阅 Amazon CloudTrail 定价

您还应该考虑在创建组织跟踪之前查看管理账户、委托管理员账户和成员账户中已经存在多少跟踪。CloudTrail 限制可在每个区域中创建的跟踪记录数量。您在管理账户或委托管理员账户中创建组织跟踪的区域内不能超出此限制。但是,即使成员账户已达到区域中的跟踪记录限制,也会在成员账户中创建跟踪记录。虽然任何区域中的管理事件的第一个跟踪记录都是免费的,但其他跟踪记录需要付费。要降低组织跟踪记录的潜在成本,请考虑删除管理账户和成员账户中任何不需要的跟踪记录。有关 CloudTrail 定价的更多信息,请参阅 Amazon CloudTrail 定价

企业跟踪记录安全最佳实践

作为安全最佳实践,建议您将 aws:SourceArn 条件密钥添加到用于企业跟踪记录的资源策略(例如 S3 存储桶、KMS 密钥或 SNS 主题的策略)。aws:SourceArn 的值是企业跟踪记录 ARN(或 ARN,如果您使用同一资源进行多个跟踪,例如用同一个 S3 存储桶存储多个跟踪记录的日志)。这可确保资源(例如 S3 存储桶)只接受与特定跟踪记录关联的数据。跟踪 ARN 必须使用管理账户的账户 ID。以下策略代码段显示有多个跟踪记录正在使用该资源的示例。

"Condition": { "StringEquals": { "AWS:SourceArn": ["Trail_ARN_1",..., "Trail_ARN_n"] } }

有关如何向资源策略添加条件密钥的信息,请参阅以下内容: