跨帳戶 CloudTrail 記錄 - AWS Lake Formation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

跨帳戶 CloudTrail 記錄

Lake Formation 提供資料湖中所有跨帳戶資料存取的集中稽核追蹤。當收件人 AWS 帳戶存取共用資料表中的資料時,Lake Formation 會將 CloudTrail 事件複製到擁有帳戶的 CloudTrail 日誌。複製的事件包括透過整合服務查詢資料,例如 Amazon Athena 和 Amazon Redshift Spectrum,以及透過 存取資料 AWS Glue 任務。

CloudTrail Data Catalog 資源上跨帳戶操作的事件也會類似地複製。

身為資源擁有者,如果您在 Amazon S3 中啟用物件層級記錄,您可以執行使用 Lake Formation CloudTrail 事件加入 S3 CloudTrail events 的查詢,以判斷存取 S3 儲存貯體的帳戶。

在跨帳戶 CloudTrail 日誌中包含主體身分

根據預設,新增至共用資源接收者日誌並複製到資源擁有者日誌的跨帳戶 CloudTrail 事件僅包含外部帳戶主體的主要 AWS ID,而不是主體 (主體 ARN) 的人工可讀取 Amazon Resource Name ()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 欄位代表透過 Amazon Athena 、Amazon Redshift Spectrum 或 執行查詢的最終角色或使用者 AWS 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 日誌ARNs中包含主體
  1. 在 開啟 Lake Formation 主控台https://console.aws.amazon.com/lakeformation/

    Administrator使用者身分登入,或使用 Administrator AccessIAM政策的使用者登入。

  2. 在導覽窗格中,選擇設定

  3. 資料目錄設定頁面上,在資源擁有者 的預設許可 AWS CloudTrail區段中,輸入一或多個 AWS 資源擁有者帳戶 IDs。

    在每個帳戶 ID 之後按 Enter

  4. 選擇 Save (儲存)。

    現在,共用資源接收者和資源擁有者的日誌中存放的跨帳戶 CloudTrail 事件都包含主體 ARN。

查詢 Amazon S3 跨帳戶存取的 CloudTrail 日誌

身為共用資源擁有者,您可以查詢 S3 CloudTrail logs 來判斷已存取 Amazon S3 儲存貯體的帳戶 (前提是您在 Amazon S3 中啟用物件層級記錄)。這僅適用於您在 Lake Formation 註冊的 S3 位置。如果共用資源取用者選擇在 Lake Formation CloudTrail 日誌ARNs中包含主體,您可以決定存取儲存貯體的角色或使用者。

使用 執行查詢時 Amazon Athena,您可以在工作階段名稱屬性上加入 Lake Formation CloudTrail 事件和 S3 CloudTrail events。查詢也可以篩選 上的 Lake Formation 事件eventName="GetDataAccess",以及在 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 索引鍵值 AWSLF-00-GL-111122223333-B8JSAjo5QA可與 S3 CloudTrail event 索引principalId鍵中的工作階段名稱聯結。以下是 S3 CloudTrail event 的摘錄。它會顯示工作階段名稱的位置。

{ "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 AWS Glue ETL 任務
AT Athena
RE Amazon Redshift Spectrum
account-id

向 Lake Formation 請求憑證 AWS 的帳戶 ID。

suffix

隨機產生的字串。