Lake Formation 標籤型存取控制最佳實務和考量事項 - AWS Lake Formation

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

Lake Formation 標籤型存取控制最佳實務和考量事項

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

使用 Lake Formation 標籤型存取控制時,請考慮下列最佳實務:

  • 所有 LF 標籤都必須預先定義,才能指派給 Data Catalog 資源或授予主體。

    資料湖管理員可以透過建立具有所需IAM許可的 LF-Tag 建立器來委派標籤管理任務。資料工程師和分析師決定 LF 標籤的特性和關係。然後,LF-Tag 建立器會在 Lake Formation 中建立和維護 LF-Tag。

  • 您可以將多個 LF 標籤指派給 Data Catalog 資源。只有一個特定金鑰的值可以指派給特定資源。

    例如,您可以將 module=Ordersdivision=Consumerregion=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-Tag,且 key=module 和 value=orders,customers,則使用者可以存取指派給 module=orders或 的資源module=customers

  • 您需要具有Grant with LF-Tag expressions許可,才能使用 LF-TBAC 方法授予 Data Catalog 資源的資料許可。資料湖管理員和 LF-Tag 建立器會隱含地接收此許可。具有 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 支援跨帳戶授予 DESCRIBEASSOCIATE LF 標籤,以及使用 LF-TBAC 方法跨帳戶授予 Data Catalog 資源的許可。在這兩種情況下,主體都是 AWS 帳戶 ID。

    注意

    Lake Formation 支援使用 LF TBAC方法對組織和組織單位進行跨帳戶授予。若要使用此功能,您需要將跨帳戶版本設定更新為第 3 版

    如需詳細資訊,請參閱Lake Formation 中的跨帳戶資料共用

  • 在一個帳戶中建立的資料型錄資源只能使用相同帳戶中建立的 LF 標籤進行標記。在一個帳戶中建立的 LF 標籤無法與來自另一個帳戶的共用資源建立關聯。

  • 使用 Lake Formation 標籤型存取控制 (LF-TBAC) 來授予 Data Catalog 資源的跨帳戶存取權,需要為 AWS 您的帳戶新增 Data Catalog 資源政策。如需詳細資訊,請參閱必要條件

  • LF-Tag 金鑰和 LF-Tag 值的長度不能超過 50 個字元。

  • 可指派給 Data Catalog 資源的 LF 標籤數目上限為 50。

  • 下列限制為軟限制:

    • 可以建立的 LF 標籤數目上限為 1000。

    • 可以為 LF-Tag 定義的值數目上限為 1000。

  • 標籤索引鍵和值會在儲存時轉換為所有小寫。

  • 只有一個 LF-Tag 的值可以指派給特定資源。

  • 如果將多個 LF-Tag 授予單一授予的主體,主體只能存取具有所有 LF-Tag 的資料目錄資源。

  • AWS Glue ETL 任務需要完整資料表存取。如果 AWS Glue ETL角色無法存取資料表中的所有資料欄,則任務會失敗。可以在資料欄層級套用 LF 標籤,但可能會導致 AWS Glue ETL角色失去完整資料表存取權,並使任務失敗。

  • 如果 LF-Tag 表達式評估僅導致存取資料表資料欄的子集,但當相符時授予的 Lake Formation 許可是需要完整資料欄存取的許可之一,即 AlterInsertDropDelete,則不會授予任何這些許可。相反地,只授予 Describe 。如果授予的許可為 AllSuper),則僅授予 Describe Select和 。

  • 萬用字元不會與 LF 標籤搭配使用。若要將 LF-Tag 指派給資料表的所有資料欄,您可以將 LF-Tag 指派給資料表,而資料表中的所有資料欄都會繼承 LF-Tag。若要將 LF-Tag 指派給資料庫中的所有資料表,您可以將 LF-Tag 指派給資料庫,並將資料庫中的所有資料表繼承該 LF-Tag。