跨账户 CloudTrail 登录 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

跨账户 CloudTrail 登录

Lake Formation 提供对数据湖中所有跨账户访问数据的集中审计跟踪。当接收方Amazon账户访问共享表中的数据时,Lake Formation CloudTrail 会将事件复制到所属账户 CloudTrail 的日志中。复制的事件包括集成服务(例如Amazon Athena和 Amazon Redshift Spectrum)对数据的查询,以及Amazon Glue任务对数据的访问。

CloudTrail 对数据目录资源进行跨账户操作的事件也会被类似地复制。

作为资源所有者,如果您在 Amazon S3 中启用对象级日志记录,则可以运行将 S3 CloudTrail 事件与 Lake Formation CloudTrail 事件连接起来的查询,以确定访问您的 S3 存储桶的账户。

在跨账户 CloudTrail 日志中包含主体身份

默认情况下,添加到共享资源接收者日志并复制到资源所有者日志的跨账户 CloudTrail 事件仅包含外部账户委托人的Amazon委托人 ID,而不包含委托人(委托人 ARN)的人类可读的 Amazon 资源名称 (ARN)。在可信范围内(例如在同一个组织或团队内)共享资源时,您可以选择在 CloudTrail 活动中加入主要 ARN。然后,资源所有者帐户可以跟踪接收者账户中访问其自有资源的委托人。

重要

作为共享资源接收者,要在自己的 CloudTrail 日志中查看事件中的主要 ARN,您必须选择与所有者账户共享主体 ARN。

如果数据访问是通过资源链接进行的,则会在共享资源接收者帐户中记录两个事件:一个用于资源链接访问,另一个用于目标资源访问。资源链接访问事件确实包含主要 ARN。如果没有选择加入,目标资源访问事件不包括主要 ARN。资源链接访问事件不会复制到所有者账户。

以下是默认跨账户 CloudTrail 事件(未选择加入)的摘录。执行数据访问的账户为 1111-2222-3333。这是同时显示在调用帐户和资源所有者帐户中的日志。在跨账户案例中,Lake Formation 会在两个账户中填充日志。

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession", "accountId": "111122223333" }, "eventSource": "lakeformation.amazonaws.com", "eventName": "GetDataAccess", ... ... "additionalEventData": { "requesterService": "GLUE_JOB", "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2" }, ... }

作为共享资源使用者,当您选择包含主 ARN 时,摘录将变为以下内容。该lakeFormationPrincipal字段表示通过亚马逊 Athena、Amazon Redshift Spectrum 或Amazon Glue作业执行查询的最终角色或用户。

{ "eventVersion": "1.05", "userIdentity": { "type": "AWSAccount", "principalId": "AROAQGFTBBBGOBWV2EMZA:GlueJobRunnerSession", "accountId": "111122223333" }, "eventSource": "lakeformation.amazonaws.com", "eventName": "GetDataAccess", ... ... "additionalEventData": { "requesterService": "GLUE_JOB", "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role", "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-G13T0Rmng2" }, ... }
选择在跨账户 CloudTrail 日志中包含主要 Ran
  1. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。

    Administrator用户或具有Administrator Access IAM 策略的用户身份登录。

  2. 在导航窗格中,选择 Settings (设置)

  3. 数据目录设置页面的默认权限Amazon CloudTrail部分中,对于资源所有者,输入一个或多个Amazon资源所有者帐户 ID。

    在每个账户 ID 后按 Enter

  4. 选择 Save(保存)。

    现在,存储在共享资源接收者和资源所有者的日志中的跨账户 CloudTrail 事件都包含主要 ARN。

查询 Amazon S3 跨账户访问 CloudTrail 日志

作为共享资源所有者,您可以查询 S3 CloudTrail 日志以确定访问您的 Amazon S3 存储桶的账户(前提是您在 Amazon S3 中启用了对象级日志记录)。这仅适用于您在 Lake Formation 注册的 S3 地点。如果共享资源使用者选择在 Lake Formation CloudTrail 日志中包含主运行,则您可以确定访问存储桶的角色或用户。

使用运行查询时Amazon Athena,可以在会话名称属性上加入 Lake Formation CloudTrail CloudTrail 事件和 S3 事件。查询还可以筛选开启的 Lake FormeventName="GetDataAccess" ation 事件和eventName="Get Object"或上的 S3 事件eventName="Put Object"

以下是 Lake Formation 跨账户 CloudTrail 事件的摘录,在该事件中访问了注册 S3 位置的数据。

{ "eventSource": "lakeformation.amazonaws.com", "eventName": "GetDataAccess", .............. .............. "additionalEventData": { "requesterService": "GLUE_JOB", "lakeFormationPrincipal": "arn:aws:iam::111122223333:role/ETL-Glue-Role", "lakeFormationRoleSessionName": "AWSLF-00-GL-111122223333-B8JSAjo5QA" } }

可以将lakeFormationRoleSessionName密钥值与 S3 CloudTrail 事件principalId密钥中的会话名称连接起来。AWSLF-00-GL-111122223333-B8JSAjo5QA以下是 S3 CloudTrail 事件的摘录。它显示会话名称的位置。

{ "eventSource": "s3.amazonaws.com", "eventName": "Get Object" .............. .............. "principalId": "AROAQSOX5XXUR7D6RMYLR:AWSLF-00-GL-111122223333-B8JSAjo5QA", "arn": "arn:aws:sets::111122223333:assumed-role/Deformationally/AWSLF-00-GL-111122223333-B8JSAjo5QA", "session Context": { "session Issuer": { "type": "Role", "principalId": "AROAQSOX5XXUR7D6RMYLR", "arn": "arn:aws:iam::111122223333:role/aws-service-role/lakeformation.amazonaws.com/Deformationally", "accountId": "111122223333", "user Name": "Deformationally" }, .............. .............. }

会话名称的格式如下所示:

AWSLF-<version-number>-<query-engine-code>-<account-id->-<suffix>
version-number

目前该格式的版本00。如果会话名称格式发生变化,则下一个版本将是01

query-engine-code

表示访问数据的实体。当前值如下:

GL Amazon GlueETL 作业
AT Athena
RE Amazon Redshift Spectrum
account-id

向 Lake Formation 申请证书的Amazon账户 ID。

suffix

随机生成的字符串。