

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

# 创建 LF 标签表达式
<a name="TBAC-creating-tag-expressions"></a>

您需要在 Lake Formation 中定义所有 LF 标签，并将其分配给 Data Catalog 资源，然后才可用于创建表达式。LF 标签表达式由一个或多个键以及每个键的一个或多个可能的值组成。

 数据湖管理员为 LF 标签表达式创建者角色设置所需的 IAM 权限和 Lake Formation 权限后，主体即可创建可重用的 LF 标签表达式。LF 标签表达式创建者获得隐式权限，可以更新表达式主体和删除 LF 标签表达式。

您可以使用 AWS Lake Formation 控制台、API 或 AWS Command Line Interface ()AWS CLI创建 LF-Tag 表达式。

------
#### [ Console ]

**创建 LF 标签表达式**

1. 打开 Lake Formation 控制台，网址为[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)。

   以具有 LF 标签表达式创建者权限的主体或数据湖管理员身份登录。

1. 在导航窗格的 “**权限**” 下**，选择 LF 标签和**权限。

1. 选择 **LF 标签表达式**。此时会出现**添加 LF 标签表达式**页面。  
![\[该页面包含用于添加名称、描述的字段，以及用于选择表达式主体的下拉列表。用户还可以选择授予权限。\]](http://docs.aws.amazon.com/zh_cn/lake-formation/latest/dg/images/add-tag-expression.png)

1. 输入以下信息：
   + 名称：输入表达式的唯一名称。您无法更新表达式名称。
   + 描述：为表达式提供可选的描述以及表达式的详细信息。
   + 表达式：通过指定标签键及其关联值来创建表达式。您最多可为每个表达式添加 50 个键。您必须对表达式主体中的所有标签具有 Lake Formation `Grant with LF-Tags` 权限。

      每个键必须具有至少一个值。要输入多个值，请输入逗号分隔的列表，然后按 **Enter**，或者一次输入一个值，然后在每个值后选择**添加**。每个键允许的值的最大数量为 1000。

      Lake Formation 使用该 AND/OR 逻辑在一个表达式中组合多个键和值。在单个（键 : 值列表）对中，使用逻辑 OR 运算符来组合值。例如，如果键值对是 (Department : [Sales, Marketing])，那么在资源的 Department 标签值为 Sales 或 Marketing 时，表示标签匹配。

      当您指定多个键时，将通过 AND 逻辑运算符来连接这些键。因此，如果完整表达式为“(Department : [Sales, Marketing]) AND (Location : [US, Canada])”，则资源的 Department 标签值为 Sales 或 Marketing，且 Location 标签值为 US 或 Canada 时，表示匹配。以下是另一个包含多个键和值的示例：

     LF-tag 表达式ContentType ：(: [视频、音频]) 和（地区：[欧洲、亚洲]）和（部门：[工程， ProductManagement]）。

     此表达式将匹配具有以下值的资源：-值为 Video OR Audio 的 ContentType 标签，以及-值为 Europe 或 Asia 的 Region 标签，以及-值为 Engineering OR 的 “部门” 标签 ProductManagement。

    使用 LF 标签授予数据湖权限时，还可以保存标签表达式。选择键和值对，然后选择**另存为新表达式**选项。输入描述表达式的名称。  
![\[该页面包含用于选择表达式主体的字段和用于输入名称的字段。\]](http://docs.aws.amazon.com/zh_cn/lake-formation/latest/dg/images/save-expression-grant.png)

1.  （可选）接下来，选择用户/角色，以及要在账户中向他们授予的表达式权限。您还可以选择允许用户向账户中的其他用户授予这些权限的可授予权限。您无法对标签表达式授予跨账户权限。  
![\[该页面显示的字段用于选择向其他主体授予的权限。\]](http://docs.aws.amazon.com/zh_cn/lake-formation/latest/dg/images/grant-expression-permissions.png)

1. 选择**添加**。

------
#### [ AWS CLI ]

**创建 LF 标签表达式**
+ 输入 `create-lf-tag-expression` 命令。

  以下示例创建一个 LF 标签表达式，其标签 `Department` 的值为 `Sales` 和 `Marketing`，且标签 `Location` 的值为 `US`。

  ```
  aws lakeformation create-lf-tag-expression \
  -- name "my-tag-expression" \
  -- catalog-id "123456789012" \
  -- expression '{"Expression":[{"TagKey":"Department","TagValues":["Sales","Marketing"]},{"TagKey":"Location","TagValues":["US"]}]}'
  ```

   此 CLI 命令在中创建了一个新的 LF-Tag 表达式。 AWS Glue Data Catalog该表达式可用于根据 Data Catalog 资源（例如数据库、表、视图或列）的关联标签向这些资源授予权限。在此示例中，表达式将匹配 `Department` 键的值为 `Sales` 或 `Marketing`，且 `Location` 键的值为 `US` 的资源。

------

 作为标签表达式创建者，主体会获得此 LF 标签表达式的 `Alter` 权限，并可以更新或移除该表达式。LF 标签表达式创建者主体还可以向另一个主体授予 `Alter` 权限，以便更新和删除此表达式。