本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 LF-TBAC 方法授予資料湖許可
您可以將 DESCRIBE
和 ASSOCIATE
Lake Formation 的 LF-Tags 許可授予委託人,讓他們可以檢視 LF-Tags,並將其指派給 Data Catalog 資源 (資料庫、資料表、檢視和資料欄)。將 LF-Tags 指派給 Data Catalog 資源時,您可以使用 Lake Formation 標籤型存取控制 (LF-TBAC) 方法來保護這些資源。如需詳細資訊,請參閱Lake Formation 標籤型存取控制。
一開始,只有資料湖管理員可以授予這些許可。如果資料湖管理員透過授予選項授予這些許可,其他主體可以授予這些許可。DESCRIBE
和 ASSOCIATE
許可會在 中說明Lake Formation 標籤型存取控制最佳實務和考量事項。
您可以將 LF-Tag 上的 DESCRIBE
和 ASSOCIATE
許可授予外部 AWS 帳戶。然後,該帳戶中的資料湖管理員可以將這些許可授予帳戶中的其他主體。外部帳戶中資料湖管理員授予ASSOCIATE
許可的主體接著可以將 LF 標籤指派給您與其帳戶共用的資料目錄資源。
授予外部帳戶時,您必須包含授予選項。
您可以使用 AWS Lake Formation 主控台、 API或 AWS Command Line Interface () 授予 LF 標籤的許可AWS CLI。
授予 Data Catalog 許可
使用 Lake Formation 主控台或 AWS CLI ,使用 Lake Formation 標籤型存取控制 (LF-TBAC) 方法,授予資料目錄資料庫、資料表、檢視和資料欄的 Lake Formation 許可。
- Console
-
下列步驟說明如何使用 Lake Formation 標籤型存取控制 (LF-TBAC) 方法和 Lake Formation 主控台上的授予資料湖許可頁面來授予許可。頁面分為下列區段:
-
主體 – AWS 帳戶 要授予許可的使用者、角色和 。
-
LF 標籤或目錄資源 – 授予許可的資料庫、資料表或資源連結。
-
許可 – Lake Formation 授予許可。
-
開啟授予資料湖許可頁面。
在 開啟 AWS Lake Formation 主控台https://console.aws.amazon.com/lakeformation/,並以資料湖管理員或已透過 LF-TBAC 授予資料目錄資源 Lake Formation 許可的使用者身分登入,並使用授予選項。
在導覽窗格中的許可 下,選擇 Data lake 許可 。然後選擇授予 。
-
指定主體。
在主體區段中,選擇主體類型,然後指定要授予許可的主體。
- IAM 使用者和角色
-
從使用者和角色清單中選擇一或多個IAM使用者或角色。
- IAM 身分中心
-
從使用者和群組清單中選擇一或多個使用者或 。
- SAML 使用者和群組
-
對於 SAML 和 Amazon QuickSight 使用者和群組 ,輸入透過 聯合的使用者或群組的一或多個 Amazon Resource Names (ARNs)SAML,或ARNs輸入 Amazon QuickSight 使用者或群組的一或多個 Amazon Resource Names ()。在每個 之後按 EnterARN。
如需有關如何建構 的資訊ARNs,請參閱 Lake Formation 授予和撤銷 AWS CLI 命令。
Amazon QuickSight Enterprise Edition 僅 QuickSight 支援與 Amazon 的 Lake Formation 整合。
- 外部帳戶
-
針對 AWS 帳戶、 AWS organization 或IAM主體,輸入一或多個有效的 AWS 帳戶 IDs、 organization IDs、 IDsorganization unit 或 ARN IAM使用者或角色。在每個 ID 之後按 Enter。
組織 ID 包含「o-」,後面加上 10 到 32 個小寫字母或數字。
組織單位 ID 以「ou-」開頭,後面接著 4 到 32 個小寫字母或數字 (包含 OU 的根 ID)。此字串後面接著第二個「-」破折號和 8 到 32 個額外的小寫字母或數字。
-
指定 LF 標籤。
確定已選擇 LF-Tags 相符的資源選項。選擇新增 LF 標籤 。
-
選擇 LF-Tag 金鑰和值。
如果您選擇多個值,則您要使用OR
運算子建立 LF-Tag 表達式。這表示,如果任何 LF-Tag 值符合指派給 Data Catalog 資源的 LF-Tag,則會授予資源的許可。
-
(選用) 再次選擇新增 LF 標籤以指定另一個 LF 標籤。
如果您指定多個 LF-Tag,則您要使用AND
運算子建立 LF-Tag 表達式。只有在 LF-Tag 運算式中為每個 LF-Tag 指派相符的 LF-Tag 時,才會授予 Data Catalog 資源的主體許可。
-
指定許可。
指定您希望授予主體比對 Data Catalog 資源的許可。比對資源是指派的 LF-Tags 資源,其符合授予委託人的其中一個 LF-Tag 表達式。
您可以指定在相符的資料庫、相符的資料表和相符的檢視上授予 的許可。
在資料庫許可 下,選取要授予相符資料庫之主體的資料庫許可。
在資料表許可 下,選取資料表或檢視許可,以在比對資料表和檢視上授予委託人。
您也可以從資料表Drop
許可中選擇 Describe
、 Select
和 許可,以套用至檢視。
-
選擇 Grant (授予)。
- AWS CLI
-
您可以使用 AWS Command Line Interface (AWS CLI) 和 Lake Formation 標籤型存取控制 (LF-TBAC) 方法,授予 Data Catalog 資料庫、資料表和資料欄的 Lake Formation 許可。
使用 AWS CLI 和 LF TBAC方法授予資料湖許可
-
使用 grant-permissions
命令。
下列範例會將 LF-Tag 表達式 "module=*
" (LF-Tag 金鑰 的所有值module
) 授予使用者 datalake_user1
。該使用者將擁有所有相符資料庫的CREATE_TABLE
許可,這些資料庫已使用索引鍵 指定 LF-Tagmodule
,且具有任何值。
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["*"]}]}}'
下一個範例會將 LF-Tag 表達式 "(level=director) AND (region=west OR region=south)
" 授予使用者 datalake_user1
。該使用者將擁有 SELECT
、 和 DROP
許可ALTER
,並在相符的資料表上包含授予選項 — 已同時指派 level=director
和 (region=west
或 ) 的資料表region=south
。
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" "DROP" --permissions-with-grant-option "SELECT" "ALTER" "DROP" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"TABLE","Expression": [{"TagKey": "level","TagValues": ["director"]},{"TagKey": "region","TagValues": ["west", "south"]}]}}'
下一個範例會將 LF-Tag 表達式 "module=orders
" 授予 AWS 帳戶 1234-5678-9012。然後,該帳戶中的資料湖管理員可以將「module=orders
」表達式授予其帳戶中的主體。然後,這些委託人將擁有與帳戶 1111-2222-3333 擁有的資料庫相符的CREATE_TABLE
許可,並使用具名資源方法或 LF-TBAC 方法與帳戶 1234-5678-9012 共用。
aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["orders"]}]}}'