元數據訪問控制 - AWS Lake Formation

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

元數據訪問控制

對於資料目錄資源的存取控制,以下討論假設使用 Lake Formation 許可進行精細的存取控制,以及使用 IAM 政策進行粗略的存取控制。

有兩種不同的方法可授與資料目錄資源的 Lake Formation 權限:

  • 具名資源存取控制 — 使用此方法,您可以透過指定資料庫或表格名稱來授與特定資料庫或表格的權限。補助金有這種形式:

    權限授與資源上的主參與者 [使用授與選項]。

    使用授與選項,您可以允許受權者將權限授與其他主參與者。

  • 以標籤為基礎的存取控制 — 使用此方法,您可以將一或多個 LF 標籤指派給資料目錄資料庫、資料表和欄,並將一或多個 LF 標籤的權限授與主體。每個 LF 標籤是一個鍵值對,例如。department=sales具有 LF 標籤且符合資料目錄資源上 LF 標籤的主參與者可以存取該資源。對於具有大量資料庫和表格的資料湖,建議使用此方法。它在中詳細說明基於 Lake Formation 標籤的訪問控制

主參與者對資源所擁有的權限是這兩種方法所授與之權限的聯集。

下表摘要說明「資料目錄」資源的可用「Lake Formation」權限。欄標題指出授與權限的資源。

目錄 資料庫 資料表
CREATE_DATABASE CREATE_TABLE ALTER
ALTER DROP
DROP DESCRIBE
DESCRIBE SELECT*
INSERT*
DELETE*

例如,授與資料庫的CREATE_TABLE權限。這表示主體可以在該資料庫中建立資料表。

帶有星號 (*) 的權限已授與資料目錄資源,但它們適用於基礎資料。例如,中繼資料表的DROP權限可讓您從「資料目錄」刪除表格。不過,在相同資料表上授與的DELETE權限可讓您使用 SQL DELETE 陳述式,在 Amazon S3 中刪除資料表的基礎資料。透過這些權限,您也可以在 Lake Formation 主控台上檢視資料表,並使用 AWS Glue API 擷取有關資料表的資訊。因此、SELECTINSERT、和都DELETE是資料目錄權限和資料存取權限。

授與SELECT資料表時,您可以新增包含或排除一或多個資料行的篩選器。這允許對中繼資料表資料行進行精細的存取控制,從而限制整合式服務的使用者在執行查詢時可以看到的資料行。僅使用 IAM 政策時,無法使用此功能。

還有一個名為的特殊權限Super。此Super權限可讓主體在授與該作業的資料庫或表格上執行每個受支援的 Lake Formation 作業。此權限可與其他 Lake Formation 權限共存。例如,您可以在中繼資料表INSERT上授SuperSELECT、和。主參與者可以在表格上執行所有支援的動作,而當您撤銷時SuperSELECTINSERT權限仍會保留。

如需每個權限的詳細資訊,請參閱Lake Formation 權限參考

重要

若要查看由其他使用者建立的「資料目錄」表格,您必須至少獲得一個表格的 Lake Formation 權限。如果您在資料表上獲得至少一個權限,您也可以看到資料表包含的資料庫。

您可以使用 Lake Formation 主控台、API 或 AWS Command Line Interface (AWS CLI) 授與或撤銷資料目錄權限。以下是授與使用者在retail資料庫中建立資料表之datalake_user1權限的 AWS CLI 命令範例。

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'

以下是粗粒度存取控制 IAM 政策的範例,該政策可透過 Lake Formation 權限補充精細的存取控制。它允許在任何元數據庫或表上的所有操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*Database*", "glue:*Table*", "glue:*Partition*" ], "Resource": "*" } ] }

下一個例子也是粗粒度,但更嚴格。它允許對指定帳戶和區域中「資料目錄」中的所有中繼資料資料庫和表格執行唯讀作業。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": "arn:aws:glue:us-east-1:111122223333:*" } ] }

將這些原則與下列原則進行比較,這些原則會實作以 IAM 為基礎的精細存取控制。它只會授與指定帳戶和區域中客戶關係管理 (CRM) 中繼資料資料庫中資料表子集的權限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/CRM", "arn:aws:glue:us-east-1:111122223333:table/CRM/P*" ] } ] }

如需粗略存取控制原則的更多範例,請參閱。Lake Formation 角色和 IAM 許可參考