

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Lake Formation 標籤型存取控制最佳實務和考量事項
<a name="lf-tag-considerations"></a>

您可以建立、維護和指派 LF 標籤，以控制對 Data Catalog 資料庫、資料表和資料欄的存取。

使用 Lake Formation 標籤型存取控制時，請考慮下列最佳實務：
+ 所有 LF 標籤都必須預先定義，才能指派給 Data Catalog 資源或授予委託人。

  資料湖管理員可以透過建立具有所需 IAM 許可的 *LF-Tag 建立*者來委派標籤管理任務。資料工程師和分析師決定 LF 標籤的特性和關係。然後，LF 標籤建立者會在 Lake Formation 中建立和維護 LF 標籤。
+ 您可以將多個 LF 標籤指派給 Data Catalog 資源。只能將特定金鑰的一個值指派給特定資源。

  例如，您可以將 `module=Orders`、`division=Consumer`、 `region=West`等指派給資料庫、資料表或資料欄。您無法指派 `module=Orders,Customers`。
+ 您無法在建立資源時將 LF 標籤指派給資源。您只能將 LF 標籤新增至現有資源。
+ 您可以授予 LF-Tag 表達式給委託人，而不只是單一 LF-Tag。

  LF-Tag 表達式看起來類似以下內容 （虛擬程式碼）。

  ```
  module=sales AND division=(consumer OR commercial)
  ```

  授予此 LF-Tag 表達式的主體只能存取已指派`module=sales`*和* `division=consumer`或 的資料目錄資源 （資料庫、資料表和資料欄）`division=commercial`。如果您希望委託人能夠存取具有 `module=sales`*或* 的資源`division=commercial`，請勿將兩者都包含在相同的授予中。進行兩個授與，一個用於 `module=sales` ，另一個用於 `division=commercial`。

  最簡單的 LF-Tag 表達式僅包含一個 LF-Tag，例如 `module=sales`。
+ 在具有多個值的 LF-Tag 上授予許可的主體可以使用其中一個值存取 Data Catalog 資源。例如，如果授予使用者 LF 標籤，且金鑰 =`module` 且值 =`orders,customers`，則使用者可以存取 `module=orders`或 指派的資源`module=customers`。
+ 您需要具有`Grant with LF-Tag expressions`許可，才能使用 LF-TBAC 方法授予 Data Catalog 資源的資料許可。資料湖管理員和 LF 標籤建立者會隱含地接收此許可。具有 `Grant with LFTag expressions`許可的主體可以使用下列方式授予資源的資料許可：
  + 具名資源方法
  + LF-TBAC 方法，但僅使用相同的 LF-Tag 表達式

    例如，假設資料湖管理員進行下列授予 （虛擬程式碼）。

    ```
    GRANT (SELECT ON TABLES) ON TAGS module=customers, region=west,south TO user1 WITH GRANT OPTION
    ```

    在此情況下， `user1`可以使用 LF-TBAC 方法將資料表`SELECT`上的 授予其他主體，但只能使用完整的 LF-Tag 表達式 `module=customers, region=west,south`。
+ 如果委託人獲得同時具有 LF-TBAC 方法和具名資源方法的資源許可，則委託人在資源上擁有的許可是兩種方法所授予許可的聯集。
+ Lake Formation 支援跨帳戶授予 `DESCRIBE` 和 `ASSOCIATE` LF 標籤，以及使用 LF-TBAC 方法跨帳戶授予 Data Catalog 資源的許可。在這兩種情況下，委託人都是 AWS 帳戶 ID。
**注意**  
Lake Formation 支援使用 LF-TBAC 方法跨帳戶授予組織和組織單位。若要使用此功能，您需要將**跨帳戶版本設定**更新為第 **3 版**。

  如需詳細資訊，請參閱[Lake Formation 中的跨帳戶資料共用](cross-account-permissions.md)。
+ 在一個帳戶中建立的資料目錄資源只能使用相同帳戶中建立的 LF 標籤進行標記。在一個帳戶中建立的 LF 標籤無法與另一個帳戶的共用資源建立關聯。
+ 使用 Lake Formation 標籤型存取控制 (LF-TBAC) 授予 Data Catalog 資源的跨帳戶存取權，需要為 AWS 您的帳戶新增 Data Catalog 資源政策。如需詳細資訊，請參閱[先決條件](cross-account-prereqs.md)。
+ LF 標籤索引鍵和 LF 標籤值的長度不能超過 50 個字元。
+ 可指派給 Data Catalog 資源的 LF 標籤數目上限為 50。
+ 下列限制為軟性限制：
  + 可建立的 LF 標籤數目上限為 10000。
  + LF 標籤可定義的值數目上限為 1000。
+ 儲存時，標籤索引鍵和值會轉換為所有小寫。
+ 只有一個 LF-Tag 的值可以指派給特定資源。
+ 如果以單一授權將多個 LF 標籤授予委託人，委託人只能存取具有所有 LF 標籤的 Data Catalog 資源。
+ 如果 LF-Tag 表達式評估僅導致存取一部分的資料表資料欄，但符合時授予的 Lake Formation 許可是需要完整資料欄存取的許可之一，即 `Alter`、`Insert`、 `Drop`或 `Delete`，則不會授予任何這些許可。反`Describe`之，只會授予 。如果授予的許可是 `All`(`Super`)，則只會授予 `Describe` `Select`和 。
+ 萬用字元不會與 LF 標籤搭配使用。若要將 LF-Tag 指派給資料表的所有資料欄，您可以將 LF-Tag 指派給資料表，而資料表中的所有資料欄都會繼承 LF-Tag。若要將 LF-Tag 指派給資料庫中的所有資料表，請將 LF-Tag 指派給資料庫，而資料庫中的所有資料表都會繼承該 LF-Tag。
+  您可以在帳戶中建立最多 1000 個 LF-Tag 表達式。
+  您可以使用最多 50 個 LF-Tag 表達式，將許可授予 Data Catalog 資源上的委託人。
+  在內嵌 LF-Tag 表達式上授予或撤銷許可時，LF-Tag 表達式的大小不得超過 900 個位元組。若要授予較大 LF-Tag 表達式的許可，請使用儲存的 LF-Tag 表達式。如需詳細資訊，請參閱[建立 LF-Tag 表達式](TBAC-creating-tag-expressions.md)。
+ 若要將 LF-Tag 新增至聯合目錄的一般 LF-Tag 支援發行之前建立的現有 Redshift 聯合目錄，您需要聯絡 AWS 支援團隊尋求協助。