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

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

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

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

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

您能够分配给资源的最大 LF 标签数量为 50。

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

要将 LF-Tag 分配给数据目录资源,您必须:

  • 有 Lake FormationASSOCIATE对 lf-Tag 的权限。

  • 有 IAMlakeformation:AddLFTagsToResource权限。

  • 成为资源所有者(创建者),拥有Super使用 “Lake Formation” 对资源的许可GRANT选项,或者具有以下权限。GRANT选项:

    • 对于同一个数据库Amazon账户:CREATE_TABLEALTER, 和DROP

    • 对于外部帐户中的数据库:CREATE_TABLEALTER

    • 对于表格(和列):ALTERDROPINSERTSELECT, 和DELETE

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

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

将 LF 标签分配给表格列

向表列分配 LF-Tags(控制台)

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

    以满足上述要求的用户身份登录。

  2. 在导航窗格中,选择

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

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

  5. 在存储库的Edit schema在页面上,选择一个或多个列,然后选择编辑标签.

    注意

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

    这些区域有:编辑 LF-标签此时将出现对话框,并显示从表中继承的所有 LF-Tags。

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

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

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

  9. 选择保存

将 LF 标签分配给数据目录资源

Console

将 LF-Tags 分配给数据目录数据库或表

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

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

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

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

    • 要将 LF 标签分配给表格,请选择.

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

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

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

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

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

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

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

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

  6. 选择保存

Amazon CLI

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

  • 运行 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-Tags 分配给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 标签(Amazon CLI)

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

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

    以下示例删除 LF-taglevel=director来自 的total的一栏sales表。这些区域有: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