聯合事件資料存放區 - AWS CloudTrail

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

聯合事件資料存放區

聯合事件資料存放區可讓您在 Data Catalog 中 AWS Glue 檢視與事件資料存放區相關聯的中繼資料、向 註冊 Data Catalog AWS Lake Formation,以及可讓您使用 Amazon Athena 對事件資料執行SQL查詢。儲存在 AWS Glue Data Catalog 中的資料表中繼資料可讓 Athena 查詢引擎了解如何尋找、讀取和處理您要查詢的資料。

您可以使用 CloudTrail 主控台來啟用聯合 AWS CLI,或 EnableFederation API 操作。當您啟用 Lake 查詢聯合時, CloudTrail 會在 AWS Glue Data Catalog 中建立名為 的受管資料庫 aws:cloudtrail(如果資料庫不存在) 和受管聯合資料表。事件資料存放區 ID 用於資料表名稱。 會在 中 CloudTrail 註冊聯合角色ARN和事件資料存放區AWS Lake Formation,該服務負責允許對 AWS Glue 資料目錄中的聯合資源進行精細存取控制。

若要啟用 Lake 查詢聯合,您必須建立新的IAM角色或選擇現有角色。Lake Formation 會使用此角色來管理聯合事件資料存放區的許可。當您使用 CloudTrail 主控台建立新角色時, CloudTrail 會自動為角色建立所需的許可。如果您選擇現有角色,請確認該角色可提供最低許可

您可以使用 CloudTrail 主控台停用聯合 AWS CLI,或 DisableFederation API 操作。當您停用聯合時, CloudTrail 會停用與 AWS Glue AWS Lake Formation、 和 Amazon Athena 的整合。停用 Lake 查詢聯合後,您將無法再於 Athena 中查詢事件資料。當您停用聯合時,不會刪除 CloudTrail Lake 資料,而且您可以繼續在 CloudTrail Lake 中執行查詢。

聯合 CloudTrail Lake 事件資料存放區不收取任何 CloudTrail 費用。在 Amazon Athena 中執行查詢會產生費用。如需 Athena 定價的詳細資訊,請參閱 Amazon Athena 定價

考量事項

聯合事件資料存放區時,請考量下列因素:

  • 聯合 CloudTrail Lake 事件資料存放區不收取任何 CloudTrail 費用。在 Amazon Athena 中執行查詢會產生費用。如需 Athena 定價的詳細資訊,請參閱 Amazon Athena 定價

  • Lake Formation 可用來管理聯合資源的許可。如果您刪除聯合角色,或從 Lake Formation 或 撤銷資源的許可 AWS Glue,則無法從 Athena 執行查詢。如需有關使用 Lake Formation 的詳細資訊,請參閱使用 管理 CloudTrail Lake 聯合資源 AWS Lake Formation

  • 任何使用 Amazon Athena 查詢向 Lake Formation 註冊之資料的人,都必須具有允許 lakeformation:GetDataAccess動作的IAM許可政策。 AWS 受管政策: AmazonAthenaFullAccess 允許此動作。如果您使用內嵌政策,請務必更新許可政策來允許此動作。如需詳細資訊,請參閱管理 Lake Formation 和 Athena 使用者許可

  • 若要在 Athena 中建立聯合資料表的檢視,您需要 aws:cloudtrail 以外的目的地資料庫。這是因為aws:cloudtrail資料庫是由 管理 CloudTrail。

  • 若要在 Amazon 中建立資料集 QuickSight,您必須選擇使用自訂SQL選項。如需詳細資訊,請參閱使用 Amazon Athena 資料建立資料集

  • 如果已啟用聯合,則無法刪除事件資料存放區。若要刪除聯合事件資料存放區,您必須先停用聯合終止保護 (若已啟用)。

  • 下列考量適用於組織事件資料存放區:

    • 只有一個委派管理員帳戶或管理帳戶可以在組織事件資料存放區上啟用聯合。其他委派管理員帳戶仍可使用 Lake Formation 資料共用功能來查詢和共用資訊。

    • 任何委派管理員帳戶或組織的管理帳戶都能停用聯合。

聯合的所需許可

聯合事件資料存放區之前,請確認您擁有聯合角色以及啟用和停用聯合所需的所有許可。只有在您選擇啟用聯合的現有角色時,才需要更新聯合IAM角色許可。如果您選擇使用 CloudTrail 主控台建立新IAM角色, CloudTrail 會提供角色的所有必要許可。

IAM 聯合事件資料存放區的許可

啟用聯合時,您可以選擇建立新的IAM角色,或使用現有IAM角色。當您選擇新IAM角色時, CloudTrail 會建立具有所需許可IAM的角色,而且不需要您採取進一步動作。

如果您選擇現有角色,請確保IAM角色的政策提供啟用聯合所需的許可。本節提供必要IAM角色許可和信任政策的範例。

下列範例提供聯合角色的許可政策。對於第一個陳述式,請提供 ARN的完整事件資料存放區Resource

本政策中的第二個陳述式允許 Lake Formation 解密使用KMS金鑰加密的事件資料存放區的資料。Replace (取代) key-region, account-idkey-id 包含您KMS金鑰的值。如果您的事件資料存放區不使用KMS金鑰進行加密,您可以省略此陳述式。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFederationEDSDataAccess", "Effect": "Allow", "Action": "cloudtrail:GetEventDataStoreData", "Resource": "arn:aws:cloudtrail:eds-region:account-id:eventdatastore/eds-id" }, { "Sid": "LakeFederationKMSDecryptAccess", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:key-region:account-id:key/key-id" } ] }

下列範例提供IAM信任政策, AWS Lake Formation 允許 擔任管理聯合事件資料存放區許可IAM的角色。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lakeformation.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

啟用聯合所需的許可

下列範例政策提供在事件資料存放區上啟用聯合所需的最低許可。此政策允許在事件資料存放區上 CloudTrail 啟用聯合、在 AWS Glue 資料目錄中 AWS Glue 建立聯合資源,以及 AWS Lake Formation 管理資源註冊。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudTrailEnableFederation", "Effect": "Allow", "Action": "cloudtrail:EnableFederation", "Resource": "arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id" }, { "Sid": "FederationRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole", "iam:GetRole" ], "Resource": "arn:aws:iam::region:role/federation-role-name" }, { "Sid": "GlueResourceCreation", "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection" ], "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/aws:cloudtrail", "arn:aws:glue:region:account-id:table/aws:cloudtrail/eds-id", "arn:aws:glue:region:account-id:connection/aws:cloudtrail" ] }, { "Sid": "LakeFormationRegistration", "Effect": "Allow", "Action": [ "lakeformation:RegisterResource", "lakeformation:DeregisterResource" ], "Resource": "arn:aws:lakeformation:region:account-id:catalog:account-id" } ] }

停用聯合所需的許可

下列範例政策提供在事件資料存放區上停用聯合所需的最少資源。此政策允許在事件資料存放區上 CloudTrail 停用聯合、 AWS Glue 刪除 AWS Glue Data Catalog 中的受管聯合資料表,以及 Lake Formation 取消註冊聯合資源。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudTrailDisableFederation", "Effect": "Allow", "Action": "cloudtrail:DisableFederation", "Resource": "arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id" }, { "Sid": "GlueTableDeletion", "Effect": "Allow", "Action": "glue:DeleteTable", "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/aws:cloudtrail", "arn:aws:glue:region:account-id:table/aws:cloudtrail/eds-id" ] }, { "Sid": "LakeFormationDeregistration", "Effect": "Allow", "Action": "lakeformation:DeregisterResource", "Resource": "arn:aws:lakeformation:region:account-id:catalog:account-id" } ] }