本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用具名資源方法授予資料庫許可
下列步驟說明如何使用具名資源方法授予資料庫許可。
- Console
-
使用 Lake Formation 主控台上的授予許可頁面。頁面分為以下部分:
-
委託人類型 – 委託人區段包含 IAM 使用者、角色、IAM Identity Center 使用者和群組、SAML 使用者和群組、 AWS 帳戶、組織或組織單位,以授予許可。在依屬性的主體區段中,您可以指定連接到 IAM 角色之屬性的索引鍵和值。
-
LF 標籤或目錄資源 – 授予許可的資料庫、資料表、檢視或資源連結。
-
許可 – 要授予的 Lake Formation 許可。
注意
若要授予資料庫資源連結的許可,請參閱 授予資源連結許可。
開啟授予許可頁面。
在 https://https://console.aws.amazon.com/lakeformation/
開啟 AWS Lake Formation 主控台,並以資料湖管理員、資料庫建立者或對資料庫具有可授予許可的 IAM 使用者身分登入。 執行以下任意一項:
-
在導覽窗格中的許可下,選擇資料許可。然後選擇授予。
-
在導覽窗格中,選擇 Data Catalog 下的資料庫。然後,在資料庫頁面上,選擇資料庫,然後從動作功能表的許可下,選擇授予。
注意
您可以透過資料庫的資源連結授予資料庫的許可。若要這樣做,請在資料庫頁面上,選擇資源連結,然後在動作功能表上,選擇對目標授予。如需詳細資訊,請參閱資源連結在 Lake Formation 中如何運作。
-
-
在委託人類型區段中,使用屬性指定委託人或授予許可給委託人。
- IAM 使用者和角色
-
從 IAM 使用者和角色清單中選擇一或多個使用者或角色。
- IAM Identity Center
-
從使用者和群組清單中選擇一或多個使用者或群組。選取新增以新增更多使用者或群組。
- SAML 使用者和群組
-
對於 SAML 和 Quick Suite 使用者和群組,為透過 SAML 聯合的使用者或群組輸入一或多個 Amazon Resource Name (ARNs),或為 Amazon Quick Suite 使用者或群組輸入 ARNs。在每個 ARN 後按下 Enter 鍵。
如需如何建構 ARNs 的資訊,請參閱 Lake Formation 授予和撤銷 AWS CLI 命令。
注意
只有 Quick Suite Enterprise Edition 支援 Lake Formation 與 Quick Suite 整合。
- 外部帳戶
-
針對 AWS 帳戶、 AWS organization 或 IAM Principal,輸入 IAM 使用者或角色的一或多個有效 AWS 帳戶 IDs、組織 IDs、組織單位 IDs 或 ARN。在每個 ID 之後按 Enter。
組織 ID 包含「o-」,後面接著 10-32 個小寫字母或數字。
組織單位 ID 以「ou-」開頭,後面接著 4-32 個小寫字母或數字 (包含 OU 的根 ID)。此字串後面接著第二個「-」破折號和 8 到 32 個額外的小寫字母或數字。
- 依屬性排列的委託人
指定屬性索引鍵和值 (s)。如果您選擇多個值,則會使用 OR 運算子建立屬性表達式。這表示如果指派給 IAM 角色或使用者配對的任何屬性標籤值,該角色/使用者會取得資源的存取許可。
指定您要將許可授予相同帳戶或其他帳戶中具有相符屬性的主體,以選擇許可範圍。
-
在 LF 標籤或目錄資源區段中,選擇具名資料目錄資源。
-
從資料庫清單中選擇一或多個資料庫。您也可以選擇一或多個資料表和/或資料篩選條件。
-
在許可區段中,選取權限和可授予的權限。在資料庫許可下,選取要授予的一或多個許可。
注意
在具有指向已註冊位置之位置屬性的資料庫
Alter上授予Create Table或 之後,請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊,請參閱授予資料位置許可。 -
(選用) 在可授予許可下,選取授予收件人可以授予其 AWS 帳戶中其他委託人的許可。當您從外部帳戶授予 IAM 主體權限時,此選項不受支援。
-
選擇 Grant (授予)。
-
- AWS CLI
-
您可以使用具名資源方法和 AWS Command Line Interface () 授予資料庫許可AWS CLI。
使用 授予資料庫許可 AWS CLI
-
執行
grant-permissions命令,並指定資料庫或 Data Catalog 做為資源,視授予的許可而定。在下列範例中,將
<account-id>取代為有效的 AWS 帳戶 ID。範例 – 授予 以建立資料庫
此範例
CREATE_DATABASE會授予使用者datalake_user1。由於授予此許可的資源是 Data Catalog,因此 命令會指定空CatalogResource結構做為resource參數。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'範例 – 授予以在指定的資料庫中建立資料表
下一個範例會將資料庫
CREATE_TABLE上的 授予retail使用者datalake_user1。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'範例 – 使用授予選項授予外部 AWS 帳戶
下一個範例
CREATE_TABLE會將 資料庫上的授予選項retail授予外部帳戶 1111-2222-3333。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'範例 – 授予組織
下一個範例
ALTER會將資料庫上的授予選項issues授予組織o-abcdefghijkl。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "Database": {"Name":"issues"}}'範例 - 授予相同帳戶中
ALLIAMPrincipals的下一個範例會將資料庫的
CREATE_TABLE許可授予相同帳戶中retail的所有主體。此選項可讓帳戶中的每個主體在資料庫中建立資料表,並建立資料表資源連結,允許整合式查詢引擎存取共用資料庫和資料表。當委託人收到跨帳戶授予,而且沒有建立資源連結的許可時,此選項特別有用。在此案例中,資料湖管理員可以建立預留位置資料庫,並將CREATE_TABLE許可授予ALLIAMPrincipal群組,讓帳戶中的每個 IAM 主體都能在預留位置資料庫中建立資源連結。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"temp","CatalogId":"111122223333"}}'範例 - 授予外部帳戶中
ALLIAMPrincipals的下一個範例會將資料庫
CREATE_TABLE上的 授予外部帳戶retail中的所有主體。此選項可讓帳戶中的每個主體在資料庫中建立資料表。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail","CatalogId":"123456789012"}}'
注意
在具有指向已註冊位置之位置屬性的資料庫
ALTER上授予CREATE_TABLE或 之後,請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊,請參閱授予資料位置許可。 -