什么是 Amazon Lake Formation? - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

什么是 Amazon Lake Formation?

欢迎阅读《Amazon Lake Formation 开发人员指南》。

Amazon Lake Formation 可帮助您集中管理、保护和全球共享数据,以便进行分析和机器学习。您可以对 Amazon Simple Storage Service (Amazon S3) 上的数据湖数据及其在 Amazon Glue Data Catalog 中的元数据进行精细访问控制。

Lake Formation 提供了自己的权限模型,该模型增强了 IAM 权限模型。Lake Formation 权限模型支持通过简单的授予或撤销机制对存储在数据湖中的数据以及外部数据来源(例如 Amazon Redshift 数据仓库、Amazon DynamoDB 数据库和第三方数据来源)进行精细访问,这与关系数据库管理系统(RDBMS)非常相似。Lake Formation 权限是在 Amazon 分析和机器学习服务(包括 Amazon Athena、Amazon Quick Suite、Amazon Redshift Spectrum、Amazon EMR 和 Amazon Glue)的列、行和单元格级别使用精细控制来强制实施的。

借助适用于 Amazon Glue Data Catalog(Data Catalog)的 Lake Formation 混合访问模式,您可以使用适用于 Amazon S3 和 Amazon Glue 操作的 Lake Formation 权限和 IAM 权限策略来保护和访问已编目的数据。借助混合访问模式,数据管理员可以有选择地以增量方式加载 Lake Formation 权限,一次专注于一个数据湖用例。

Lake Formation 还允许您在多个 Amazon Web Services 账户、Amazon Organizations 内部及外部进行数据共享,或直接与另一个账户中的 IAM 主体共享数据,从而提供对 Data Catalog 元数据和基础数据的精细访问。

Lake Formation 特征

Lake Formation 可帮助您打破数据孤岛,并将不同类型的结构化和非结构化数据合并到一个集中式存储库中。首先,确定 Amazon S3 或关系数据库和 NoSQL 数据库中的现有数据存储,然后将数据移动到数据湖中。然后对数据进行抓取、编目和准备以供分析。接下来,通过用户选择的分析服务,为他们提供对数据的安全自助访问。

您可以使用 Lake Formation 控制台,在 Data Catalog 中创建多级联合目录,并统一 Amazon S3 数据湖和 Amazon Redshift 数据仓库中的数据。您还可以整合来自运营数据库(例如 Amazon DynamoDB)和第三方数据来源(例如 Google BigQuery、MySQL 等)的数据。数据目录提供了一个集中式元数据存储库,使管理和发现不同系统中的数据变得更加容易。

有关更多信息,请参阅将数据引入 Amazon Glue Data Catalog

数据摄取和管理

从 Amazon 中已有的数据库导入数据

指定现有数据库的位置并提供访问凭证后,Lake Formation 就会读取数据及其元数据(架构)以了解数据来源的内容。然后,它会将数据导入您的新数据湖,并将元数据记录在中央目录中。借助 Lake Formation,您可以从在 Amazon RDS 中运行或托管在 Amazon EC2 中的 MySQL、PostgreSQL、SQL Server、MariaDB 和 Oracle 数据库导入数据。支持批量和增量数据加载。

从其他外部来源导入数据

您可以使用 Lake Formation 通过与 Java Database Connectivity (JDBC) 连接来从本地数据库移动数据。确定您的目标来源并在控制台中提供访问凭证,然后 Lake Formation 会读取您的数据并将其加载到数据湖中 要从上述数据库以外的数据库导入数据,您可以使用 Amazon Glue 创建自定义 ETL 作业。

对数据进行编目和标记

您可以使用 Amazon Glue 爬网程序读取您在 Amazon S3 中的数据,提取数据库和表架构,并将这些数据存储在可搜索的 Data Catalog 中。然后,使用 Lake Formation Lake Formation 基于标签的访问控制 (TBAC) 管理对数据库、表和列的权限。有关将表添加到数据目录的更多信息,请参阅在 Amazon Glue Data Catalog 中创建对象

安全管理

定义和管理访问控制

Lake Formation 提供了一个位置来管理数据湖中数据的访问控制。您可以定义安全策略,以限制对数据库、表、列、行和单元格级别的数据的访问。这些策略适用于 IAM 用户和角色,也适用于通过外部身份提供商进行联合身份验证时的用户和组。您可以使用精细控制来访问 Amazon Redshift Spectrum、Athena、Amazon Glue ETL 和 Amazon EMR for Apache Spark 中受 Lake Formation 保护的数据。每当您创建 IAM 身份时,请确保遵循 IAM 最佳实践。有关更多信息,请参阅《IAM 用户指南》中的安全最佳实践

混合访问模式

Lake Formation 混合访问模式让您能够灵活地选择为 Data Catalog 中的数据库和表启用 Lake Formation 权限。在混合访问模式下,您现在有了增量路径,可您为一组特定的用户设置 Lake Formation 权限,而不会中断其他现有用户或工作负载的权限策略。有关更多信息,请参阅混合访问模式

实施审计日志记录

Lake Formation 通过 CloudTrail 提供全面的审计日志,以监控访问情况并显示是否符合集中定义的策略。您可以跨分析和机器学习服务审核数据访问历史记录,这些服务通过 Lake Formation 读取数据湖中的数据。这使您可以查看哪些用户或角色尝试访问了哪些数据、使用了哪些服务以及何时访问了数据和使用了服务。您可以像使用 CloudTrail API 和控制台访问任何其他 CloudTrail 日志一样访问审计日志。有关 CloudFront 日志的更多信息,请参阅使用 Amazon CloudTrail 记录 Amazon Lake Formation API 调用

行和单元格级别安全功能

Lake Formation 提供了数据筛选条件,允许您限制对列和行组合的访问。使用行和单元格级别安全功能来保护敏感数据,例如个人身份信息 (PII)。有关行级别安全功能的更多信息,请参阅Lake Formation 中的数据筛选和单元格级别安全性

基于标签的访问控制

使用 Lake Formation 基于属性的访问控制,通过创建称为 LF 标签的自定义标签来管理数百甚至数千个数据权限。您现在可以定义 LF 标签并将其附加到数据库、表或列。然后,跨分析、机器学习 (ML) 和提取、转换、加载 (ETL) 服务共享受控访问权限以供使用。LF 标签通过将数千个资源的策略定义替换为几个逻辑标签,确保可以轻松扩展数据治理。Lake Formation 提供了对这些元数据的基于文本的搜索,因此您的用户可以快速找到他们需要分析的数据。

基于属性的访问控制

使用基于属性的访问控制来授予对 Data Catalog 对象的访问权限。基于属性的访问权限控制(ABAC)是一种授权策略,该策略基于属性来定义权限。Amazon 将这些属性称为标签。您可以使用 ABAC 向同一账户或另一个账户中的主体授予对 Data Catalog 资源的访问权限。具有匹配 IAM 标签或会话标签键和值的任何 IAM 主体都可以获得资源的访问权限。您必须对资源拥有可授予的权限才能进行这些授予。

跨账户访问

Lake Formation 权限管理功能通过集中式方法简化了跨多个 Amazon 账户的分布式数据湖的保护和管理,从而提供了对数据目录和 Amazon S3 位置的精细访问控制。有关更多信息,请参阅Lake Formation 中的跨账户数据共享

将数据引入 Data Catalog

联合身份验证功能使您能够对存储在不同数据来源(如 Amazon Redshift)中的数据集创建联合目录和设置权限,而无需将数据或元数据迁移到 Amazon S3 或 Amazon Glue Data Catalog。您可以使用以下方法在 Lake Formation 中引入数据并管理对外部数据集的权限:

有关更多信息,请参阅将数据引入 Amazon Glue Data Catalog

  • 将 Amazon Redshift 数据仓库中的数据引入 Amazon Glue Data Catalog:向 Data Catalog 注册现有的 Amazon Redshift 命名空间或集群,然后在 Data Catalog 中创建多级联合目录。

    您可以使用任何与 Apache Iceberg REST 目录 OpenAPI 规格兼容的查询引擎(例如,Amazon EMR Serverless 和 Amazon Athena)访问您的数据。

    有关更多信息,请参阅将 Amazon Redshift 数据引入 Amazon Glue Data Catalog

  • 从外部数据来源联合身份到 Data Catalog:使用 Amazon Glue 连接将 Data Catalog 连接到外部数据来源,并使用 Lake Formation 创建联合目录来集中管理数据集的访问权限。无需将元数据迁移到 Data Catalog。

    有关更多信息,请参阅在 Amazon Glue Data Catalog 中联合到外部数据来源

  • 将 Amazon S3 表类数据存储服务存储桶与 Data Catalog 集成:您可以通过 Lake Formation 控制台或使用 Amazon Glue API 将 Amazon S3 表类数据存储服务作为 Data Catalog 对象来发布和编目,并将该目录注册为 Lake Formation 数据位置。

    有关更多信息,请参阅在 Amazon Glue Data Catalog 中创建 Amazon S3 表类数据存储服务目录

  • 创建目录来管理 Data Catalog 中的 Amazon Redshift 表:您现在可能没有可用的 Amazon Redshift 创建器集群或 Amazon Redshift 数据共享,但想使用 Data Catalog 来创建和管理 Amazon Redshift 表。首先,您可以使用 glue:CreateCatalog API 创建 Amazon Glue 托管目录,也可以将目录类型设置为 Managed 并将 Catalog source 设置为 Redshift,然后通过 Amazon Lake Formation 控制台来创建托管目录。

    有关更多信息,请参阅在 Amazon Glue Data Catalog 中创建 Amazon Redshift 托管目录

  • 将 Lake Formation 与 Amazon Redshift 数据共享集成 – 使用 Lake Formation 集中管理 Amazon Redshift 数据共享的数据库、表、列和行级别访问权限,并限制用户对数据共享内对象的访问。

  • 将 Data Catalog 连接到外部元存储:使用 Lake Formation 将 Amazon Glue Data Catalog 连接到外部元存储以管理对 Amazon S3 中数据集的访问权限。无需将元数据迁移到 Data Catalog。

    有关更多信息,请参阅管理对使用外部元存储的数据集的权限

  • 将 Lake Formation 和 Amazon Data Exchange 集成 – Lake Formation 支持许可通过 Amazon Web Services Data Exchange 对您的数据进行访问。如果您有兴趣获得 Lake Formation 数据的许可,请参阅《Amazon Web Services Data Exchange 用户指南》中的什么是 Amazon Web Services Data Exchange?

Lake Formation 入门

我们建议您首先阅读以下部分: