使用具名資源方法授予資料庫許可 - AWS Lake Formation

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

使用具名資源方法授予資料庫許可

下列步驟說明如何使用具名資源方法授予資料庫許可。

Console

使用 Lake Formation 主控台上的授予資料湖許可頁面。頁面分為下列區段:

  • 委託人 – IAM 使用者、角色、IAM Identity Center 使用者和群組、SAML 使用者和群組、 AWS 帳戶、組織或組織單位以授予許可。

  • LF 標籤或目錄資源 – 授予許可的資料庫、資料表、檢視或資源連結。

  • 許可 – 要授予的 Lake Formation 許可。

注意

若要授予資料庫資源連結的許可,請參閱 授予資源連結許可

  1. 開啟授予資料湖許可頁面。

    在 https://https://console.aws.amazon.com/lakeformation/ 開啟 AWS Lake Formation 主控台,並以資料湖管理員、資料庫建立者或對資料庫具有可授予許可的 IAM 使用者身分登入。

    執行以下任意一項:

    • 在導覽窗格中的許可下,選擇 Data lake 許可。然後選擇 授予

    • 在導覽窗格中,選擇 Data Catalog 下的資料庫。然後,在資料庫頁面中,選擇資料庫,然後從動作功能表的許可下,選擇授予

    注意

    您可以透過資料庫的資源連結授予許可。若要這樣做,請在資料庫頁面上選擇資源連結,然後在動作功能表上選擇對目標授予。如需詳細資訊,請參閱資源連結在 Lake Formation 中如何運作

  2. 接下來,在主體區段中,選擇主體類型,然後指定要授予許可的主體。

    主體區段包含以下文字中命名的四個圖磚。每個圖磚都包含選項按鈕和文字。已選取 IAM Identity Center 使用者和群組圖磚,且使用者和群組下拉式清單位於下列文字下方。
    IAM 使用者和角色

    IAM 使用者和角色清單中選擇一或多個使用者或角色

    IAM Identity Center

    從使用者和群組清單中選擇一或多個使用者或群組。選取新增以新增更多使用者或群組。

    SAML 使用者和群組

    對於 SAML 和 Amazon QuickSight 使用者和群組,輸入透過 SAML 聯合的使用者或群組的一或多個 Amazon Resource Name (ARNs),或 Amazon QuickSight 使用者或群組ARNs。在每個 ARN 之後按 Enter。

    如需如何建構 ARNs 的資訊,請參閱 Lake Formation 授予和撤銷 AWS CLI 命令

    注意

    Lake Formation 與 Amazon QuickSight 的整合僅支援 Amazon QuickSight Enterprise Edition。

    外部帳戶

    針對 AWS 帳戶、 AWS organizationIAM Principal,輸入一或多個有效的 AWS 帳戶 IDs、組織 IDs、組織單位 IDs 或 IAM 使用者或角色的 ARN。在每個 ID 之後按 Enter

    組織 ID 包含「o-」,後面接著 10–32 個小寫字母或數字。

    組織單位 ID 以「ou-」開頭,後面接著 4-32 個小寫字母或數字 (包含 OU 的根 ID)。此字串後面接著第二個「-」破折號和 8 到 32 個額外的小寫字母或數字。

  3. LF 標籤或目錄資源區段中,選擇具名資料目錄資源

    LF 標籤或目錄資源區段包含兩個水平排列的圖磚,其中每個圖磚都包含選項按鈕和描述性文字。這些選項是 LF 標籤比對的資源,以及具名資料目錄資源。圖磚下方有兩個下拉式清單:資料庫和資料表。資料庫下拉式清單下方有一個圖磚,其中包含選取的資料庫名稱。
  4. 從資料庫清單中選擇一或多個資料庫。您也可以選擇一或多個資料表和/或資料篩選條件

  5. 許可區段中,選取許可和可授予的許可。在資料庫許可下,選取要授予的一或多個許可。

    許可區段包含兩個水平排列的圖磚。每個圖磚都包含選項按鈕和文字。已選取資料庫許可圖磚。另一個以資料欄為基礎的並排許可會停用,因為它與資料表許可相關。圖磚下方是一組核取方塊,用於授予資料庫許可。核取方塊包括建立資料表、更改、捨棄、描述和超級。該群組下方是另一個相同核取方塊的群組,用於授予許可。
    注意

    在具有指向已註冊位置之位置屬性的資料庫Alter上授予 Create Table或 之後,請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊,請參閱授予資料位置許可

  6. (選用) 在可授予許可下,選取授予收件人可以授予其 AWS 帳戶中其他主體的許可。當您從外部帳戶將許可授予 IAM 主體時,不支援此選項。

  7. 選擇 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或 之後,請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊,請參閱授予資料位置許可