本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
联合事件数据存储
联合事件数据存储允许您在数据目录中查看与事件数据存储相关的元数据,向注册 AWS Glue 数据目录 AWS Lake Formation,并允许您使用 Amazon Athena 对事件数据运行SQL查询。存储在 AWS Glue 数据目录中的表元数据让 Athena 查询引擎知道如何查找、读取和处理您要查询的数据。
您可以使用 CloudTrail 控制台启用联合 AWS CLI、或 EnableFederationAPI操作。启用 Lake 查询联合后, CloudTrail将在 AWS Glue 数据目录中创建一个名为aws:cloudtrail
(如果该数据库尚不存在)的托管数据库和一个托管联合表。事件数据存储 ID 用于表名。 CloudTrail 在中注册联合角色ARN和事件数据存储 AWS Lake Formation,该服务负责允许对 AWS Glue 数据目录中的联合资源进行精细的访问控制。
要启用 Lake 查询联合,必须创建新IAM角色或选择现有角色。Lake Formation 使用此角色管理联合事件数据存储的权限。使用 CloudTrail 控制台创建新角色时, CloudTrail 会自动为该角色创建所需的权限。如果您选择现有角色,请确保该角色提供最低权限。
您可以使用 CloudTrail 控制台禁用联合 AWS CLI、或 DisableFederationAPI操作。当您禁用联合身份验证时,会禁 CloudTrail用与 AWS Glue AWS Lake Formation、和 Amazon Athena 的集成。禁用 Lake 查询联合身份验证后,您将无法再在 Athena 中查询事件数据。禁用联合后,不会删除任何 CloudTrail Lake 数据,并且您可以继续在 CloudTrail Lake 中运行查询。
联合 L CloudTrail ake 事件数据存储不 CloudTrail 收取任何费用。在 Amazon Athena 中运行查询将会产生费用。有关 Athena 定价的更多信息,请参阅 Amazon Athena 定价
注意事项
联合事件数据存储时,请考虑以下因素:
-
联合 L CloudTrail ake 事件数据存储不 CloudTrail 收取任何费用。在 Amazon Athena 中运行查询将会产生费用。有关 Athena 定价的更多信息,请参阅 Amazon Athena 定价
。 -
Lake Formation 用于管理联合资源的权限。如果您删除了联合角色,或者从 Lake Formation 中撤消了对资源的权限 AWS Glue,或者,则无法从 Athena 运行查询。有关使用 Lake Formation 的更多信息,请参阅 使用管理 CloudTrail 湖联盟资源 AWS Lake Formation。
-
任何使用 Amazon Athena 查询在 Lake Formation 中注册的数据的人都必须IAM拥有允许该操作的权限策略。
lakeformation:GetDataAccess
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 解密使用密钥加密的事件数据存储的数据。KMSReplace(替换) key-region
, account-id
,以及 key-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 数据目录中的托管联合表,以及 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
" } ] }