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

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

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

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

Console

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

  • 主體 – IAM使用者、角色、IAM身分中心使用者和群組、SAML使用者和群組、 AWS 帳戶、組織或組織單位以授予許可。

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

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

注意

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

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

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

    執行以下任意一項:

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

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

    注意

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

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

    主體區段包含四個以下列文字命名的動態磚。每個動態磚都包含選項按鈕和文字。已選取 IAM Identity Center 使用者和群組動態磚,且使用者和大量下拉式清單位於下列文字下方。
    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 支援 Lake Formation 與 Amazon 的整合。

    外部帳戶

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

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

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

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

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

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

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

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

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

  7. 選擇 Grant (授予)。

AWS CLI

您可以使用具名資源方法和 AWS Command Line Interface () 授予資料庫許可AWS CLI。

使用 授予資料庫許可 AWS CLI
  • 執行 grant-permissions 命令,並根據授予的許可,指定資料庫或資料目錄作為資源。

    在下列範例中,取代 <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或 後,請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊,請參閱授予資料位置許可