本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Lake Formation 標籤型存取控制最佳實務和考量事項
您可以建立、維護和指派 LF 標籤,以控制對 Data Catalog 資料庫、資料表和資料欄的存取。
使用 Lake Formation 標籤型存取控制時,請考慮下列最佳實務:
-
所有 LF 標籤都必須預先定義,才能指派給 Data Catalog 資源或授予委託人。
資料湖管理員可以透過建立具有所需 IAM 許可的 LF-Tag 建立器來委派標籤管理任務。資料工程師和分析師決定 LF 標籤的特性和關係。然後,LF-Tag 建立者會在 Lake Formation 中建立和維護 LF-Tags。
-
您可以將多個 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 表達式的主體只能存取指派的 Data Catalog 資源 (資料庫、資料表和資料欄),
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 支援跨帳戶授予
DESCRIBE
和ASSOCIATE
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 標籤索引鍵和 LF 標籤值的長度不能超過 50 個字元。
-
可指派給 Data Catalog 資源的 LF 標籤數目上限為 50。
-
下列限制為軟性限制:
-
可建立的 LF 標籤數目上限為 1000。
-
可針對 LF-Tag 定義的值數目上限為 1000。
-
-
標籤索引鍵和值會在存放時轉換為所有小寫。
-
只有一個 LF-Tag 的值可以指派給特定資源。
-
如果將多個 LF 標籤授予單一授予的委託人,委託人只能存取具有所有 LF 標籤的資料目錄資源。
-
如果 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 資源上的委託人。