中繼資料許可 - AWS Lake Formation

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

中繼資料許可

Lake Formation 提供 Data Catalog 的授權和存取控制。當IAM角色從任何系統進行 Data Catalog API呼叫時,Data Catalog 會驗證使用者的資料許可,並僅傳回使用者有權存取的中繼資料。例如,如果IAM角色只能存取資料庫中的一個資料表,且擔任該角色的服務或使用者執行GetTables操作,則無論資料庫中的資料表數量為何,回應將僅包含一個資料表。

預設設定 - IAMAllowedPrincipal群組許可

AWS Lake Formation根據預設, 會將所有資料庫和資料表的許可設定為名為 的虛擬群組IAMAllowedPrincipal。此群組是唯一且僅在 Lake Formation 中可見。IAMAllowedPrincipal 群組包含所有可透過IAM主體政策和資源政策存取 Data Catalog AWS Glue 資源的IAM主體。如果此許可存在於資料庫或資料表上,則會授予所有主體存取資料庫或資料表的權限。

如果您想要在資料庫或資料表上提供更精細的許可,請移除IAMAllowedPrincipal許可,Lake Formation 會強制執行與該資料庫或資料表相關聯的所有其他政策。例如,如果有政策允許使用者 A 存取具有DESCRIBE許可的資料庫 A,且 IAMAllowedPrincipal 具有所有許可,則使用者 A 將繼續執行所有其他動作,直到撤銷IAMAllowedPrincipal許可為止。

此外,在預設情況下,IAMAllowedPrincipal群組在建立所有新資料庫和資料表時都有其許可。控制此行為的組態有兩種。第一個位於帳戶和區域層級,為新建立的資料庫啟用此功能,第二個位於資料庫層級。若要修改預設設定,請參閱 變更預設許可模型或使用混合存取模式

授予許可

Data lake 管理員可以將 Data Catalog 許可授予主體,以便主體可以建立和管理資料庫和資料表,以及存取基礎資料。

資料庫和資料表層級許可

當您在 Lake Formation 中授予許可時,授予者必須指定授予許可的委託人、授予許可的資源,以及授予者應有權執行的動作。對於 Lake Formation 中的大多數資源,授予許可的主要清單和資源類似,但受讓者可以執行的動作會因資源類型而有所不同。例如,資料表可讀取資料表的SELECT許可,但資料庫不允許SELECT許可。資料庫上允許此CREATE_TABLE許可,但資料表上不允許。

您可以使用兩種方法授予 AWS Lake Formation 許可:

  • 命名資源方法 – 可讓您在授予使用者許可時選擇資料庫和資料表名稱。

  • LF-Tag 型存取控制 (LF-TBAC) – 使用者建立 LF-Tags、將其與 Data Catalog 資源建立關聯、對 LF-Tags 授予Describe許可、將許可關聯至個別使用者,以及使用 LF-Tags 將 LF 許可政策寫入至不同使用者。此類以 LF 標籤為基礎的政策適用於與這些 LF 標籤值相關聯的所有資料型錄資源。

    注意

    LF 標籤是 Lake Formation 獨有的。它們僅在 Lake Formation 中可見,不應與 AWS 資源標籤混淆。

    LF-TBAC 是一項功能,可讓使用者將資源分組為使用者定義的 LF 標籤類別,並在這些資源群組上套用許可。因此,這是跨大量 Data Catalog 資源擴展許可的最佳方法。

    如需詳細資訊,請參閱基於 Lake Formation 標籤的訪問控制

當您將許可授予委託人時,Lake Formation 會將許可評估為該使用者所有政策的聯合。例如,如果您的委託人資料表上有兩個政策,其中一個政策透過具名資源方法授予資料欄 col1、col2 和 col3 的許可,而另一個政策將許可授予相同的資料表和委託人 col5,以及 col6 到 LF-Tags,則有效許可將是許可的聯合,而許可將為 col1、col2、col3、col5 和 col6。這還包括資料篩選條件和資料列。

資料位置許可

資料位置許可可讓非管理使用者在特定 Amazon S3 位置建立資料庫和資料表。如果使用者嘗試在其沒有建立許可的位置建立資料庫或資料表,則建立任務會失敗。這是為了防止使用者在資料湖內的任意位置建立資料表,並提供使用者可讀取和寫入資料的位置的控制。在建立資料表的Amazon S3資料庫中建立資料表時,會有隱含的許可。如需詳細資訊,請參閱授予資料位置許可

建立資料表和資料庫許可

根據預設,非管理使用者沒有在資料庫內建立資料庫或資料表的許可。使用 Lake Formation 設定在帳戶層級控制資料庫建立,因此只有授權的主體才能建立資料庫。如需詳細資訊,請參閱建立資料庫。若要建立資料表,主體需要建立資料表之資料庫的CREATE_TABLE許可。如需詳細資訊,請參閱建立資料表

隱含和明確許可

Lake Formation 會根據角色和角色執行的動作提供隱含許可。例如,Data Lake 管理員會自動取得 Data Catalog 內所有資源的DESCRIBE許可、所有位置的資料位置許可、在所有位置建立資料庫和資料表的許可,Grant以及任何資源的Revoke許可。資料庫建立者會自動取得其建立之資料庫上的所有資料庫許可,而資料表建立者則取得其建立之資料表上的所有許可。如需詳細資訊,請參閱隱含 Lake Formation 權限

准許許可

Data lake 管理員能夠透過提供可授予的許可,將許可的管理委派給非管理使用者。當主體在資源和一組許可上獲得可授予許可時,該主體將能夠授予該資源上的其他主體許可。