为数据目录资源分配 LF 标签 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为数据目录资源分配 LF 标签

您可以分配给数据目录资源(数据库、表和列),以控制对这些资源的访问。只有被授予匹配 LF 标签的委托人(以及使用命名资源方法被授予访问权限的委托人)才能访问资源。

如果表继承了数据库的 LF-tag,或者某列继承了表中的 LF-tag,则可以通过为 LF-tag 键分配新值来覆盖继承的值。

您可以分配给资源的最大 LF-tag。

管理分配给资源的标签的要求

要为数据目录资源分配 LF-tag,您必须:

  • Lake FormationASSOCIATELF-tag 的权限。

  • 有 IAMlakeformation:AddLFTagsToResource权限。

  • 有胶水:GetDatabase Glue 数据库的权限。

  • 成为资源所有者(创建者),拥有Super使用 Lake Formation 获得资源许可GRANT选项,或者拥有以下权限GRANT选项:

    • 对于相同的数据库Amazon账户:DESCRIBECREATE_TABLEALTER, 和DROP

    • 对于外部账户中的数据库:DESCRIBECREATE_TABLEALTER

    • 对于表(和列):DESCRIBEALTERDROPINSERTSELECT, 和DELETE

此外,LF-tag 和分配给它的资源必须相同Amazonaccount.

要从数据目录资源中删除 LF-tag,您必须满足这些要求,并具有lakeformation:RemoveLFTagsFromResourceIAM 权限。

为表列分配 LF 标签

为表列分配 LF 标签(控制台)

  1. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。

    以符合上述要求的用户身份登录。

  2. 在导航窗格中,选择

  3. 选择表名称(不是表名称旁边的选项按钮)。

  4. 在表详细信息页面上的下,架构部分,选择编辑架构.

  5. 在存储库的编辑架构页面,选择一列或多列,然后选择编辑标签.

    注意

    如果您打算添加或删除列并保存新版本,请先执行此操作。然后编辑 LF 标签。

    这些区域有:编辑 LF 标签出现对话框,显示从表中继承的所有 LF 标记。

    
              该图像是 “编辑 LF-Tags” 对话框窗口的屏幕截图。窗口的顶部显示了两个继承的密钥。第一个继承的密钥的键为 “level”,值为 “director(继承)”。第二个继承的密钥具有 “模块” 键和值 “Orders(继承)”。这些字段下方是 “分配新的 LF-tag” 按钮。下方和右侧是 “取消” 和 “保存” 按钮。
  6. (可选)对于旁边的列表继承的键字段中,选择一个值来覆盖继承的值。

  7. (可选)分配新的 LF-tag. 然后对于分配的密钥,选择一个键,对于,为键选择一个值。

    
              该图像是 “编辑 LF-Tags” 对话框窗口的屏幕截图。窗口的顶部显示了两个继承的密钥。第一个继承的密钥的键为 “level”,值为 “director(继承)”。第二个继承的密钥具有 “模块” 键和值 “Orders(继承)”。在本部分下方,水平对齐,是以下字段和控件:“分配的密钥” 字段、“值” 字段和删除按钮。分配的密钥字段包含文本 “环境”。值字段是一个下拉列表,值为 “生产”(突出显示)和 “客户”。“分配新的 LF-tag” 按钮出现在 “分配密钥” 字段下方。窗口右下角有 “取消” 和 “保存” 按钮。
  8. (可选)分配新的 LF-tag再次添加另一个 LF-tag。

  9. 选择Save(保存)。

分配给数据目录资源 LF-tag 分配给数据目录资源

Console

为数据目录数据库或表分配 LF 标签

  1. 通过 https://console.aws.amazon.com/lakeformation/ 中打开 Lake Formation 控制台。

    以符合前面列出的要求的用户身份登录。

  2. 在导航窗格中的下Data Cat,请执行以下操作之一:

    • 要为数据库分配 LF 标签,请选择数据库.

    • 要为表分配 LF 标签,请选择.

  3. 选择一个数据库或表,然后在操作菜单,选择编辑标签.

    这些区域有:编辑 LF 标签:资源名称此时将显示对话框。

    如果表继承了其包含数据库的 LF-tags,则该窗口将显示继承的 LF 标签。否则,它会显示文本 “没有与资源关联的继承的 LF 标签”。

    
                    该图像是 “编辑 LF-Tags:库存” 对话框窗口的屏幕截图。顶部是 “继承的密钥”(变暗)和 “值” 字段。继承键字段的值为 “级别”,“值” 字段的值为 “director(继承)”。在本部分下方,水平对齐,是以下字段和控件:“分配的密钥” 字段、“值” 字段和删除按钮。分配的密钥字段包含文本 “模块”。值字段是一个下拉列表,值为 “订单”、“销售” 和 “客户”(突出显示)。“分配的密钥” 字段下方有一个 “分配新的 LF-Tag” 按钮。窗口的右下角有 “取消” 和 “保存” 按钮。
  4. (可选)如果表继承了 LF 标签,对于旁边的列表继承的键字段中,您可以选择一个值来覆盖继承的值。

  5. 要分配新的 LF 标签,请执行以下步骤:

    1. 选择分配新的 LF-tag.

    2. 分配的密钥字段中,选择一个 LF-tag 密钥,然后在字段中,选择一个值。

    3. (可选)分配新的 LF-tag再次分配一个额外的 LF-tag。

  6. 选择Save(保存)。

Amazon CLI

为数据目录资源分配 LF 标签

  • 运行 add-lf-tags-to-resource 命令。

    以下示例分配 LF-tagmodule=orders到桌子上orders在数据库中erp. 它使用快捷语法--lf-tags参数。这些区域有:CatalogID的财产--lf-tags为可选项。如果未提供,则假定为资源(在本例中为表)的目录 ID。

    aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"orders"}}' --lf-tags CatalogId=111122223333,TagKey=module,TagValues=orders

    如果此命令成功,则输出如下。

    {
        "Failures": []
    }
    

    下一个示例将两个 LF 标签分配给sales表,并使用 JSON 语法作为--lf-tags参数。

    aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"sales"}}' --lf-tags '[{"TagKey": "module","TagValues": ["sales"]},{"TagKey": "environment","TagValues": ["development"]}]'

    下一个示例分配 LF-taglevel=directortotal表中的列sales.

    aws lakeformation add-lf-tags-to-resource --resource '{ "TableWithColumns": {"DatabaseName":"erp", "Name":"sales", "ColumnNames":["total"]}}' --lf-tags TagKey=level,TagValues=director

更新资源的 LF 标签

要更新数据目录资源的 LF-tag,请执行以下操作,请执行以下操作:Amazon CLI)

  • 使用add-lf-tags-to-resource命令,如前面的步骤所述,如前面的步骤所述。

    添加具有与现有 LF-tag,以更新现有值。

从资源中删除 LF-tag

删除数据目录资源的 LF-tag,以删除数据目录资源的 LF-tagAmazon CLI)

  • 运行 remove-lf-tags-from-resource 命令。

    如果表的 LF-tag 值覆盖从父数据库继承的值,则从表中删除 thatLF-tag 将恢复继承的值。此行为也适用于覆盖从表继承的键值的列。

    以下示例删除了 LF-tag。level=director来自 的totalcolumnsales桌子。这些区域有:CatalogID的财产--lf-tags为可选项。如果未提供,则假定为资源(在本例中为表)的目录 ID。

    aws lakeformation remove-lf-tags-from-resource --resource ' { "TableWithColumns": { "DatabaseName": "erp", "Name": "sales", "ColumnNames":[ "total"]}}' --lf-tags CatalogId=111122223333,TagKey=level,TagValues=director