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

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

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

您可以使用 Lake Formation 主控台,或 AWS CLI 授予資料目錄資料表的 Lake Formation 許可。您可以授予個別資料表的許可,或使用單一授予操作,您可以授予資料庫中所有資料表的許可。

如果您授予資料庫中所有資料表的許可,則表示您隱含地授予資料庫的DESCRIBE許可。然後,資料庫會出現在主控台的資料庫頁面上,並由 GetDatabasesAPI操作傳回。

當您選擇 SELECT 作為授予許可時,您可以選擇套用資料欄篩選條件、資料列篩選條件或儲存格篩選條件。

Console

下列步驟說明如何使用 Lake Formation 主控台上的具名資源方法和授予資料湖許可頁面來授予資料表許可。頁面分為以下部分:

  • 主體 – 要授予許可的使用者、角色、 AWS 帳戶、組織或組織單位。

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

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

注意

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

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

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

    執行以下任意一項:

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

    • 在導覽窗格中,選擇 Tables (資料表)。然後,在 資料表 頁面上,選擇 資料表,然後在 動作 選單,在 許可 下,選擇 授予

    注意

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

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

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

    外部帳戶

    針對 AWS 帳戶 、 AWS organization IAM Principal,ARN輸入一或多個有效的 AWS 帳戶 IDs、 organization IDs、 IDsorganization unit 或 作為IAM使用者或角色。在每個 ID 之後按 Enter

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

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

  3. LF 標籤或目錄資源區段中,選擇資料庫。然後選擇一或多個資料表,或所有資料表

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

    許可區段中,選取要授予的資料表許可,然後選擇可授予許可。

    資料表和資料欄許可區段有兩個子區段:資料表許可和可授予許可。每個子節都有每個可能的 Lake Formation 許可的核取方塊: Alter、 Insert、 Drop、 Delete、 Select、 Describe 和 Super。Super 許可會設為其他許可的右側,並具有以下描述:「此許可允許委託人將左側的任何許可授予,並取代這些可授予許可。」

    如果您授予選取 資料許可區段會顯示在資料表和資料欄許可區段下方,並預設選取所有資料存取選項。接受預設值。

    本節包含三個水平排列的圖磚,每個圖磚都具有選項按鈕和描述。選項按鈕包括:所有資料存取 (已選取)、簡易資料欄型存取,以及進階儲存格層級篩選條件。
  5. 選擇 Grant (授予)。

  6. 使用資料篩選指定選取許可

    選取選取許可。請勿選取任何其他許可。

    資料許可區段會出現在資料表和資料欄許可區段下方。

  7. 執行以下任意一項:

    • 僅套用簡單的資料欄篩選。

      1. 選擇簡易的資料欄型存取

        頂端區段是資料表和資料欄許可區段。如上螢幕擷取畫面所述。它包含資料表許可和可授予許可的核取方塊。底部區段的資料許可具有三個水平排列的圖磚,其中每個圖磚都有選項按鈕和描述。選項包括所有資料存取、簡易資料欄型存取和進階儲存格層級篩選條件。已選取簡易資料欄型存取選項。圖磚下方是具有標籤選擇許可篩選條件的選項按鈕群組。選項包括資料欄和排除資料欄。選項群組下方是選取資料欄下拉式清單,下方是可授予許可子區段,其中包含一個名為選取的核取方塊。
      2. 選擇是否包含或排除資料欄,然後選擇要包含或排除的資料欄。

        授予外部 AWS 帳戶或組織許可時,僅支援包含清單。

      3. (選用) 在 可授予許可 下,開啟選取許可的授予選項。

        如果您包含授予選項,則授予收件人只能在您授予的欄上授予許可。

      注意

      您也可以透過建立資料篩選條件來套用資料欄篩選,以指定資料欄篩選條件,並將所有資料列指定為資料列篩選條件。不過,這需要更多步驟。

    • 套用資料欄、資料列或儲存格篩選。

      1. 選擇進階儲存格層級篩選條件

        本節標題為資料許可,位於資料表許可區段下方。它有三個水平排列的圖磚,其中每個圖磚都有選項按鈕和描述。選項包括所有資料存取、簡易資料欄型存取和進階儲存格層級篩選條件。已選取進階儲存格層級篩選條件選項。圖磚下方是標籤 檢視現有許可,其中左邊有一個曝光三角形。現有的許可不會公開。下方是標題為要授予之資料篩選條件的區段。標題右側有三個按鈕:重新整理、管理篩選條件和建立新篩選條件。標題和按鈕下方是具有預留位置文字「尋找篩選條件」的文字欄位。以下是現有篩選條件的資料表。每一列左側都有一個核取方塊。資料欄標題是篩選條件名稱、資料表、資料庫和資料表目錄 ID。有兩個資料列。第一列中的篩選條件名稱為 restrict-pharma。第二列中的名稱為非製藥。
      2. (選用) 展開 檢視現有許可

      3. (選用) 選擇建立新的篩選條件。

      4. (選用) 若要檢視列出的篩選條件的詳細資訊,或建立新的或刪除現有的篩選條件,請選擇管理篩選條件。

        資料篩選條件頁面會在新的瀏覽器視窗中開啟。

        當您在資料篩選條件頁面上完成時,請返回授予許可頁面,並視需要重新整理頁面以檢視您建立的任何新資料篩選條件。

      5. 選取要套用至授予的一或多個資料篩選條件。

        注意

        如果清單中沒有資料篩選條件,則表示未為選取的資料表建立資料篩選條件。

  8. 選擇 Grant (授予)。

AWS CLI

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

使用 授予資料表許可 AWS CLI
  • 執行 grant-permissions 命令,並將資料表指定為 資源。

範例 – 在單一資料表上授予 - 不篩選

下列範例ALTER會授予資料庫 datalake_user1 中資料表 上 AWS 帳戶 1111-2222-3333 inventory中的使用者 SELECTretail

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'
注意

如果您在已註冊位置中授予具有其基礎資料的資料表ALTER許可,請務必同時將位置上的資料位置許可授予委託人。如需詳細資訊,請參閱授予資料位置許可

範例 – 使用授予選項授予所有資料表 - 不篩選

下一個範例會在資料庫 中的所有資料表上SELECT授予 選項retail

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --permissions-with-grant-option "SELECT" --resource '{ "Table": { "DatabaseName": "retail", "TableWildcard": {} } }'
範例 – 使用簡單的資料欄篩選授予

下一個範例SELECT會授予資料表 中資料欄的子集persons。它使用簡單的資料欄篩選。

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"hr", "Name":"persons", "ColumnNames":["family_name", "given_name", "gender"]}}'
範例 – 使用資料篩選條件授予

此範例會在orders資料表SELECT上授予 並套用restrict-pharma資料篩選條件。

aws lakeformation grant-permissions --cli-input-json file://grant-params.json

以下是檔案 的內容grant-params.json

{ "Principal": {"DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"}, "Resource": { "DataCellsFilter": { "TableCatalogId": "111122223333", "DatabaseName": "sales", "TableName": "orders", "Name": "restrict-pharma" } }, "Permissions": ["SELECT"], "PermissionsWithGrantOption": ["SELECT"] }