

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

# 使用基于标签的访问控制共享数据
<a name="cross-account-TBAC"></a>

AWS Lake Formation 基于标签的访问控制 (LF-TBAC) 是一种基于属性定义权限的授权策略。以下步骤说明如何使用 LF 标签授予跨账户权限。

**需要在 producer/grantor 账户上进行设置**

1. 添加 LF 标签。

   1. 以数据湖管理员或 LF 标签创建者身份登录 Lake Formation 控制台。

   1. 在左侧导航栏中选择**权限**，然后选择 **LF 标签和权限**。

   1. 选择**添加 LF 标签**。

      有关创建 LF 标签的详细说明，请参阅[创建 LF 标签](TBAC-creating-tags.md)。

1. **向您的账户或**外部** and/or 账户中的 IAM 委托人授予 Describe Associate 权限 **LF-Tag 键值**对。**

   对 **LF 标签键值**对授予权限，让主体可以查看 LF 标签并将其分配给 Data Catalog 资源（数据库、表和列）。

1. 接下来，数据湖管理员或具有 **Associate** 权限的 IAM 主体可以将 LF 标签分配给数据库、表或列。有关更多信息，请参阅 [将 LF 标签分配给数据目录资源](TBAC-assigning-tags.md)。

1. 接下来，使用 LF 标签表达式向外部账户授予数据权限。通过这种方式，被授权者或权限的接收者能够访问使用相同键和值标记的 Data Catalog 资源。

   1. 在导航窗格中，选择**权限**和**数据权限**。

   1. 选择**授权**。

   1. 如果是向外部主体进行直接的跨账户授予，则在**授予权限**页面上，对于**主体**，选择**外部账户**，然后输入被授权者 AWS 账户 ID 或主体的 IAM 角色或主体的 Amazon 资源名称（ARN）（主体 ARN）。输入账户 ID 后，您需要按 **Enter** 键。  
![\[指定了外部账户和 LF 标签键值对的授予权限屏幕。\]](http://docs.aws.amazon.com/zh_cn/lake-formation/latest/dg/images/cross-acct-grant-tags.png)

   1. 对于 **LF 标签或目录资源**，选择**通过 LF 标签匹配的资源（推荐）**。

      1. 选择选项 **LF 标签键值对**或**已保存的 LF 标签表达式**。

      1. **如果您选择 **LF 标签键值对**，请输入**与被授权者账户共享的 Data Catalog 资源关联的 **LF 标签**的键和值。

         被授权者将获得在 LF 标签表达式中分配了匹配 LF 标签的 Data Catalog 资源的权限。如果 LF 标签表达式为每个标签键指定多个值，则任何一个标签值都可以是匹配项。

   1. 选择要对与 LF 标签表达式匹配的资源授予的数据库级或表级权限。
**重要**  
由于数据湖管理员必须向被授权者账户中的主体授予对共享资源的权限，因此必须始终使用授予选项授予跨账户权限。

      有关更多信息，请参阅 [使用控制台授予 LF 标签权限](TBAC-granting-tags-console.md)。
**注意**  
对于获得直接跨账户授权的主体，将不提供**可授予的权限**选项。

**需要在 receiving/grantee 账户上进行设置**

1. 以使用者账户的数据湖管理员身份登录 Lake Formation 控制台。

1.  接下来，在使用者账户中接收资源共享。

   1.  打开控制 AWS RAM 台。

   1.  在导航窗格中的**与我共享**下面，选择**资源共享**。

   1.  选择资源共享，选择**接受资源共享**。

1. 当您与其他账户共享资源时，该资源仍属于制作者账户，并且在 Athena 控制台中不可见。要使资源在 Athena 控制台中可见，您需要创建一个指向共享资源的资源链接。有关创建资源链接的说明，请参阅[创建指向共享数据目录表的资源链接](create-resource-link-table.md)和[创建指向共享数据目录数据库的资源链接](create-resource-link-database.md)

   1.  选择 Data Catalog 下面的**数据库**或**表**。

   1. 在 Databases/Tables 页面上，选择**创建**，**资源链接**。

   1. 为数据库资源链接输入以下信息：
      + **资源链接名称**：资源链接的唯一名称。
      + **目标目录**：您要在其中创建资源链接的目录。
      + **共享数据库区域**：这是当您在另一个区域中创建资源链接时，要与您共享的数据库的区域。
      + **共享数据库**：选择共享数据库。
      + **共享数据库的目录 ID**：输入共享数据库的目录 ID。

   1.  选择**创建**。您可以在数据库列表中看到新创建的资源链接。

   同样，您可以创建指向共享表的资源链接。

1. 现在，向正在共享资源的 IAM 主体授予对资源链接的 **Describe** 权限。

   1. 在**数据库/表**页面上，选择资源链接，然后在**操作**菜单上选择**授予**。

   1. 在**授予权限**部分，选择 **IAM 用户和角色**。

   1. 选择用于向资源链接授予访问权限的 IAM 角色。

   1. 在**资源链接权限**部分，选择 **Describe**。

   1. 选择**授权**。

1. 接下来，向使用者账户中的主体授予 **LF 标签键值权限**。

   您应该能够在 Lake Formation 控制台的**权限**、**LF 标签和权限**下面，在使用者账户中找到与您共享的 LF 标签。您可以将授权人共享的标签关联到从授权人账户共享的资源上，这些资源包括：数据库、表和列。您可以进一步向其他主体授予对这些资源的权限。  
![\[显示了账户中 LF 标签的权限的屏幕。\]](http://docs.aws.amazon.com/zh_cn/lake-formation/latest/dg/images/lf-tag-permissions.png)

   1.  在导航窗格中**权限**下的**数据权限**中，选择**授予**。

   1.  在**授予权限**页面上，选择 **IAM 用户和角色**。

   1. 接下来，选择您账户中的 IAM 用户和角色以授予对共享数据库/表的访问权限。

   1. 接下来，在 **LF 标签或目录资源**中，选择**通过 LF 标签匹配的资源**。

   1.  接下来，选择与您共享的 LF 标签的键和值。

   1.  接下来，选择要向 IAM 用户和角色授予的数据库和表权限。您也可以选择**可授予的权限**，让 IAM 用户和角色可以向其他用户/角色授予权限。

   1.  选择**授权**。

   1. 您可以在 Lake Formation 控制台的**数据权限**下查看权限授予。