選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Lake Formation 標籤型存取控制

焦點模式
Lake Formation 標籤型存取控制 - AWS Lake Formation

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

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

Lake Formation 標籤型存取控制 (LF-TBAC) 是一種授權策略,可根據屬性定義許可。在 Lake Formation 中,這些屬性稱為 LF 標籤。您可以將 LF-Tags 連接至 Data Catalog 資源,並使用這些 LF-Tags 將許可授予這些資源上的 Lake Formation 主體。當委託人的標籤值符合資源標籤值時,Lake Formation 允許對這些資源進行操作。LF-TBAC 有助於快速成長的環境,並有助於處理政策管理變得繁瑣的情況。

LF-TBAC 是建議的方法,可在有大量 Data Catalog 資源時,用來授予 Lake Formation 許可。LF-TBAC 比具名資源方法更具可擴展性,且需要較少的許可管理開銷。

注意

IAM 標籤與 LF 標籤不同。這些標籤不可互換。LF 標籤用於授予 Lake Formation 許可,而 IAM 標籤用於定義 IAM 政策。

Lake Formation 標籤型存取控制的運作方式

每個 LF 標籤都是索引鍵值對,例如 department=salesclassification=restricted。金鑰可以有多個定義的值,例如 department=sales,marketing,engineering,finance

若要使用 LF-TBAC 方法,資料湖管理員和資料工程師會執行下列任務。

任務 任務詳細資訊

1. 定義 LF 標籤的屬性和關係。

-

2. 在 Lake Formation 中建立 LF-Tag 建立者。

新增 LF 標籤建立者

3. 在 Lake Formation 中建立 LF-Tag。

建立 LF 標籤

4. 將 LF 標籤指派給 Data Catalog 資源。

將 LF 標籤指派給 Data Catalog 資源

5. 將許可授予其他主體,以將 LF 標籤指派給資源,選擇性使用授予選項。

管理 LF-Tag 值許可

6. 將 LF-Tag 表達式授予委託人,選擇性使用授予選項。

使用 LF-TBAC 方法授予資料湖許可

7. (建議) 驗證主體是否可透過 LF-TBAC 方法存取正確的資源後,請撤銷使用具名資源方法授予的許可。

-

請考慮您必須將許可授予三個資料庫和七個資料表上的三個主體的情況。

三個圖形的使用者位於左側,垂直排列。右側有三個資料庫,分別標記為 A、B 和 C,並垂直排列。資料庫 A 有兩個標記為 A.1 和 A.2 的資料表,資料庫 B 有標記為 B.1 和 B.2 的資料表,而資料庫 C 有三個標記為 C.1、C.2 和 C.3 的資料表。十七個箭頭將使用者連接到資料庫和資料表,表示對資料庫和資料表授予使用者。

若要使用具名資源方法達成上圖中指定的許可,您必須進行 17 次授予,如下所示 (虛擬程式碼)。

GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1 ... GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2 GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2 ... GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3

現在請考慮如何使用 LF-TBAC 授予許可。下圖指出您已將 LF 標籤指派給資料庫和資料表,並已將 LF 標籤的許可授予委託人。

在此範例中,LF 標籤代表資料湖的區域,其中包含企業資源規劃 (ERP) 應用程式套件不同模組的分析。您可以控制對各種模組分析資料的存取。所有 LF 標籤都有金鑰module和可能的值 SalesOrdersCustomers。範例 LF-Tag 如下所示:

module=Sales

圖表僅顯示 LF-Tag 值。

如同上圖,三個使用者圖形位於左側,垂直排列,右側有三個資料庫,分別標記為 A、B 和 C,垂直排列。資料庫 A 有兩個標記為 A.1 和 A.2 的資料表,資料庫 B 有標記為 B.1 和 B.2 的資料表,而資料庫 C 有三個標記為 C.1、C.2 和 C.3 的資料表。使用者與資料庫和資料表之間沒有箭頭。反之,使用者旁邊的標記「標記」表示 user1 已授予 LF-Tags 銷售和客戶、使用者 2 已授予 LF-Tag 訂單,而使用者 3 已授予 LF-Tag 客戶。資料庫和資料表旁的旗標表示資料庫和資料表的下列 ofLF 標籤指派:資料庫 A:銷售。資料表 A1:暗淡旗標表示銷售額繼承自資料庫 A。資料表 A2:訂單,但暗淡旗標表示銷售額繼承自資料庫 A。資料庫 B:訂單。資料表 B.1 和 B.2 繼承訂單,而資料表 B.2 有客戶。資料庫 C 有客戶,而資料表 C.1、C.2 和 C.3 繼承客戶。C 資料表沒有任何其他指派。
標記 Data Catalog 資源和繼承的指派

資料表從資料庫繼承 LF 標籤,資料欄從資料表繼承 LF 標籤。繼承的值可以覆寫。在上圖中,暗淡的 LF 標籤會繼承。

由於繼承,資料湖管理員只需要對資源進行下列五個 LF-Tag 指派 (虛擬程式碼)。

ASSIGN TAGS module=Sales TO database A ASSIGN TAGS module=Orders TO table A.2 ASSIGN TAGS module=Orders TO database B ASSIGN TAGS module=Customers TO table B.2 ASSIGN TAGS module=Customers TO database C
標記授予委託人

將 LF-Tag 指派給資料庫和資料表之後,資料湖管理員只能對主體授予四個 LF-Tag,如下所示 (虛擬程式碼)。

GRANT TAGS module=Sales TO Principal 1 GRANT TAGS module=Customers TO Principal 1 GRANT TAGS module=Orders TO Principal 2 GRANT TAGS module=Customers TO Principal 3

現在,具有 module=SalesLF-Tag 的委託人可以使用 LF-Tag module=Sales 存取 Data Catalog 資源 (例如,資料庫 A),具有 module=Customers LF-Tag 的委託人可以使用 LF-Tag module=Customers 存取資源,以此類推。

上述授予命令不完整。這是因為雖然它們透過 LF 標記資料型錄資源表示主體具有許可,但它們不會確切指出主體在這些資源上擁有哪些 Lake Formation 許可 (例如 SELECTALTER)。因此,下列虛擬程式碼命令會更精確地呈現如何透過 LF-Tags 在 Data Catalog 資源上授予 Lake Formation 許可。

GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Sales TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Orders TO Principal 2 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 3
將它放在一起 - 產生資源的許可

鑑於指派給上圖中資料庫和資料表的 LF 標籤,以及指派給圖表中主體的 LF 標籤,下表列出主體在資料庫和資料表上擁有的 Lake Formation 許可。

Principal 透過 LF 標籤授予的許可
委託人 1
  • CREATE_TABLE 資料庫 A 上的

  • SELECT,在資料表 A.1 INSERT

  • SELECT,在資料表 B.2 INSERT

  • CREATE_TABLE 在資料庫 C 上

  • SELECT,在資料表 C.1 INSERT

  • SELECT,在資料表 C.2 INSERT

  • SELECT,在資料表 C.3 INSERT

委託人 2
  • SELECT,在資料表 A.2 INSERT

  • CREATE_TABLE 資料庫 B 上的

  • SELECT,在資料表 B.1 INSERT

委託人 3
  • SELECT,在資料表 B.2 INSERT

  • CREATE_TABLE 在資料庫 C 上

  • SELECT,在資料表 C.1 INSERT

  • SELECT,在資料表 C.2 INSERT

  • SELECT,在資料表 C.3 INSERT

底線

在此簡單範例中,使用五個指派操作和八個授予操作,資料湖管理員能夠指定 17 個許可。當有數十個資料庫和數百個資料表時,LF-TBAC 方法相對於具名資源方法的優勢會變得明確。在假設需要授予每位主體對每個資源的存取權的情況下,其中 n(P) 是主體數量,而 n(R)是資源數量:

  • 使用具名資源方法時,所需的授予數量為 n(P)n(R)

  • 透過 LF-TBAC 方法,使用單一 LF-Tag,授予委託人和指派資源的總數為 n(P) + n(R)

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。