本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Security Lake 订阅用户的查询访问权限
具有查询权限的订阅用户可以查询 Security Lake 收集的数据。这些订阅者使用诸如 Amazon Athena 之类的服务直接查询您的 S3 存储桶中的 AWS Lake Formation 表。尽管 Security Lake 的主要查询引擎是 Athena,但您也可以使用与 AWS Glue Data Catalog集成的其他服务,例如 Amazon Redshift Spectrum 和 Spark SQL。
注意
本部分介绍了如何向第三方订阅用户授予查询访问权限。有关针对自己的数据湖运行查询的信息,请参阅第 4 步:查看和查询您自己的数据。
创建具有查询访问权限的订阅用户的先决条件
您必须实现以下先决条件才能在 Security Lake 中创建具有数据访问权限的订阅用户。
验证权限
在创建具有查询访问权限的订阅用户之前,请确认您有权执行下列操作。
要验证您的权限,请使用 IAM 查看附加到 IAM 身份的 IAM 策略。然后,将这些策略中的信息与以下操作列表(您必须有权执行这些操作才能创建具有查询访问权限的订阅用户)进行比较。
-
iam:CreateRole
-
iam:DeleteRolePolicy
-
iam:GetRole
-
iam:PutRolePolicy
-
lakeformation:GrantPermissions
-
lakeformation:ListPermissions
-
lakeformation:RegisterResource
-
lakeformation:RevokePermissions
-
ram:GetResourceShareAssociations
-
ram:GetResourceShares
-
ram:UpdateResourceShare
重要
验证权限后:
如果您打算使用 Security Lake 控制台添加订阅用户,可以跳过下一步,继续执行授予 Lake Formation 管理员权限。Security Lake 会为您创建所有必要的 IAM 角色或使用现有角色。
如果您准备使用 Security Lake API 或 CLI 添加具有查询访问权限的订阅用户,请继续执行下一步,创建 IAM 角色来查询 Security Lake 数据。
创建 IAM 角色以查询 Security Lake 数据( AWS CLI仅限 API 和步骤)
在使用 Security Lake API 或 AWS CLI 向订阅者授予查询访问权限时,您需要创建一个名为的角色AmazonSecurityLakeMetaStoreManager
。Security Lake 使用此角色注册 AWS Glue 分区和更新 AWS Glue 表。您可能已经在创建必要的 IAM 角色时创建了此角色。
授予 Lake Formation 管理员权限
您还需要向用于访问 Security Lake 控制台和添加订阅用户的 IAM 角色添加 Lake Formation 管理员权限。
您可以按照以下步骤为您的角色授予 Lake Formation 管理员权限:
打开 Lake Formation 控制台:https://console.aws.amazon.com/lakeformation/
。 -
以管理用户的身份登录。
-
如果显示欢迎使用 Lake Formation 窗口,请选择您在步骤 1 中创建或选择的用户,然后选择“开始”。
-
如果没有看到欢迎使用 Lake Formation 窗口,请执行以下步骤来配置 Lake Formation 管理员。
-
在导航窗格的权限下,选择管理角色和任务。在数据湖管理员部分,选择选择管理员。
-
在管理数据湖管理员对话框中,对于 IAM 用户和角色,选择访问 Security Lake 控制台时使用的管理员角色,然后选择保存。
-
有关更改数据湖管理员权限的更多信息,请参阅 AWS Lake Formation 开发人员指南中的创建数据湖管理员。
IAM 角色必须拥有对您想要向订阅用户授予访问权限的数据库和表的 SELECT
权限。有关如何执行此操作的说明,请参阅 AWS Lake Formation 开发人员指南中的使用命名资源方法授予数据目录权限。
创建具有查询访问权限的订阅用户
选择您的首选方法来创建当前具有查询访问权限的订阅者 AWS 区域。订阅者只能从中 AWS 区域 创建的数据中查询数据。要创建订阅者,您需要拥有订阅者的 AWS 账户 ID 和外部 ID。外部 ID 是订阅用户提供给您的唯一标识符。有关外部 ID 的更多信息,请参阅 IAM 用户指南中的如何在向第三方授予 AWS 资源访问权限时使用外部 ID。
注意
Security Lake 不支持 Lake Formation 跨账户数据共享版本 1。您必须将 Lake Formation 跨账户数据共享更新到版本 2 或版本 3。有关通过 AWS Lake Formation 控制台或 AWS CLI 更新跨账户版本设置的步骤,请参阅AWS Lake Formation 开发者指南中的启用新版本。
设置跨账户表共享(订阅用户步骤)
Security Lake 使用 Lake Formation 跨账户表共享来支持订阅用户的查询访问权限。当您在 Security Lake 控制台、API 或 AWS CLI中创建具有查询权限的订阅者时,Security Lake 会通过在 AWS Resource Access Manager (AWS RAM) 中创建资源共享来与订阅者共享有关相关 Lake Formation 表的信息。
当您对具有查询访问权限的订阅用户进行某些类型的编辑时,Security Lake 会创建一个新的资源共享。有关更多信息,请参阅 编辑具有查询访问权限的订阅用户。
订阅用户应按照以下步骤使用您的 Lake Formation 表中的数据:
-
接受资源共享 – 订阅用户必须接受在您创建或编辑订阅用户时生成的
resourceShareArn
和resourceShareName
资源共享。选择以下访问方法之一:有关控制台和 AWS CLI,请参阅接受来自的资源共享邀请 AWS RAM。
-
对于 API,请调用 GetResourceShareInvitationsAPI。按
resourceShareArn
和resourceShareName
进行筛选,以找到正确的资源共享。AcceptResourceShareInvitation通过 API 接受邀请。
资源共享邀请会在 12 小时后过期,因此您必须在 12 小时内验证并接受邀请。如果邀请过期,您会看到它处于
PENDING
状态,但此时即使您接受邀请也无法访问共享资源。超过 12 小时后,请删除 Lake Formation 订阅用户并重新创建订阅用户,以获得新的资源共享邀请。 -
创建指向共享表的资源链接 – 订阅用户必须在 AWS Lake Formation (如果使用控制台)或 AWS Glue (如果使用 API/AWS CLI)中创建指向共享 Lake Formation 表的资源链接。此资源链接将订阅用户的账户指向共享表。选择以下访问方法之一:
-
对于控制台和 AWS CLI,请参阅《AWS Lake Formation 开发人员指南》中的创建指向共享数据目录表的资源链接。
-
对于 API,请调用 AWS Glue CreateTableAPI。我们建议订阅者还使用 CreateDatabaseAPI 创建唯一的数据库,用于存储资源链接表。
-
-
查询共享表 – Amazon Athena 等服务可以直接引用这些表,而 Security Lake 收集的新数据将自动可供查询。查询在订阅者处运行 AWS 账户,查询产生的费用由订阅者计费。您可以在自己的 Security Lake 账户中控制对资源的读取权限。
有关授予跨账户权限的更多信息,请参阅 AWS Lake Formation 开发人员指南中的 Lake Formation 中的跨账户数据共享。
编辑具有查询访问权限的订阅用户
Security Lake 支持对具有查询访问权限的订阅用户进行编辑。您可以编辑订阅者的姓名、描述、外部 ID、主AWS 账户 体 (ID) 以及订阅者能够使用的日志源。请选择您的首选方法,然后按照步骤编辑在当前 AWS 区域中具有查询访问权限的订阅用户。
注意
Security Lake 不支持 Lake Formation 跨账户数据共享版本 1。您必须将 Lake Formation 跨账户数据共享更新到版本 2 或版本 3。有关通过 AWS Lake Formation 控制台或 AWS CLI 更新跨账户版本设置的步骤,请参阅AWS Lake Formation 开发者指南中的启用新版本。