AWS Lake Formation 托管式数据共享 - Amazon Redshift

AWS Lake Formation 托管式数据共享

使用 AWS Lake Formation,您可以集中定义和强制执行 Amazon Redshift 数据共享的数据库、表、列和行级访问权限,并限制用户对数据共享内对象的访问。通过 Lake Formation 共享数据,您可以在 Lake Formation 中定义权限,并将这些权限应用于任何数据共享及其对象。例如,如果您有一个包含员工信息的表,则可以使用 Lake Formation 的列级筛选条件,防止非人力资源部门的员工查看社会保险号等个人身份信息(PII)。有关数据筛选条件的更多信息,请参阅《AWS Lake Formation 开发人员指南》中的 Lake Formation 中的数据筛选和单元格级安全性

您还可以在 Lake Formation 中使用标签来配置 Lake Formation 上资源的权限。有关更多信息,请参阅 Lake Formation 基于标签的访问控制

Amazon Redshift 目前支持在同一账户内或不同账户间共享时通过 Lake Formation 共享数据。目前不支持跨区域共享。

以下是有关如何使用 Lake Formation 控制数据共享权限的简要概述:

  1. 在 Amazon Redshift 中,创建者集群或工作组管理员在创建者集群或工作组上创建数据共享,并向 Lake Formation 账户授予使用权限。

  2. 创建者集群或工作组管理员授权 Lake Formation 账户访问数据共享。

  3. Lake Formation 管理员发现并注册数据共享。他们还必须发现他们有权访问的 AWS Glue ARN,并将数据共享与 AWS Glue Data Catalog ARN 关联起来。如果您使用 AWS CLI,则可以通过 Redshift CLI 操作 describe-data-sharesassociate-data-share-consumer 发现和接受数据共享。要注册数据共享,请使用 Lake Formation CLI 操作 register-resource

  4. Lake Formation 管理员在 AWS Glue Data Catalog 中创建联合数据库,并配置 Lake Formation 权限以控制用户对数据共享中对象的访问。有关 AWS Glue 中的联合数据库的更多信息,请参阅管理 Amazon Redshift 数据共享中数据的权限

  5. Lake Formation 管理员发现他们有权访问的 AWS Glue 数据库,并将数据共享与 AWS Glue Data Catalog ARN 关联起来。

  6. Redshift 管理员发现他们有权访问的 AWS Glue 数据库 ARN,使用 AWS Glue 数据库 ARN 在 Amazon Redshift 使用者集群中创建外部数据库,并将使用权限授予使用 IAM 凭证进行身份验证的数据库用户,以便开始查询 Amazon Redshift 数据库。

  7. 数据库用户可以使用视图 SVV_EXTERNAL_TABLES 和 SVV_EXTERNAL_COLUMNS 来查找 AWS Glue 数据库中他们有权访问的所有表或列,然后他们可以查询 AWS Glue 数据库的表。

  8. 当生产者集群或工作组管理员决定不再与使用者集群共享数据时,生产者集群管理员可以撤销使用权限、取消授权或者从 Redshift 中删除数据共享。系统不会自动删除 Lake Formation 中的关联权限和对象。

有关以生产者集群或工作组管理员身份与 AWS Lake Formation 共享数据共享的更多信息,请参阅以创建者身份使用 Lake Formation 托管的数据共享。要使用生产者集群或工作组中的共享数据,请参阅以使用者身份使用 Lake Formation 托管的数据共享

将 AWS Lake Formation 与 Amazon Redshift 一起使用时的注意事项和限制

以下是通过 Lake Formation 共享 Amazon Redshift 数据时的注意事项和限制。有关数据共享注意事项和限制的信息,请参阅在 Amazon Redshift 中使用数据共享时的注意事项。有关 Lake Formation 限制的信息,请参阅关于在 Lake Formation 中使用 Amazon Redshift 数据共享的说明

  • 目前不支持跨区域与 Lake Formation 共享数据共享。

  • 如果为共享关系上的用户定义了列级别筛选条件,则执行 SELECT * 操作将仅返回用户有权访问的列。

  • 不支持 Lake Formation 中单元级别的筛选条件。

  • 如果您创建了视图及其表并与 Lake Formation 共享,则可以配置筛选条件来管理表的访问权限,在使用者集群用户访问共享对象时,Amazon Redshift 会强制执行 Lake Formation 定义的策略。当用户访问与 Lake Formation 共享的视图时,Redshift 仅强制执行在视图上定义的 Lake Formation 策略,而不是视图中包含的表上定义的策略。但是,当用户直接访问表时,Redshift 会在表上强制执行已定义的 Lake Formation 策略。

  • 如果某个共享表配置了 Lake Formation 筛选条件,则无法基于该表对使用者创建实体化视图。

  • Lake Formation 管理员必须具有数据湖管理员权限和接受数据共享所需的权限

  • 生产者使用者集群必须为使用最新 Amazon Redshift 集群版本或无服务器工作组的 RA3 集群,才能通过 Lake Formation 共享数据共享。

  • 必须对创建者和使用者集群进行加密。

  • 将数据共享内容共享给 Lake Formation 时,忽略生产者集群或工作组中实现的 Redshift 行级和列级访问控制策略。Lake Formation 管理员必须在 Lake Formation 中配置这些策略。生产者集群或工作组管理员可以使用 ALTER TABLE 命令关闭表的 RLS。

  • 只有同时有权访问 Redshift 和 Lake Formation 的用户才能通过 Lake Formation 共享数据共享。