使用指定的資源方法授與資料表權限 - 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/,然後以資料湖管理員、表格建立者或已獲授與具有授與選項之資料表權限的使用者身分登入。

    執行以下任意一項:

    • 在功能窗格中,選擇 [權限] 下的 [資料湖權]。然後選擇授予

    • 在導覽窗格中,選擇 Tables (資料表)。然後,在 [表格] 頁面上選擇一個表格,然後在 [動作] 功能表的 [權限] 下選擇 [授與]。

    注意

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

  2. 接下來,在「主參與者」區段中,選擇主參與者類型並指定要授與權限的主參與者。

    「主參與者」區段包含以下文字命名的三個並排。每個瓷磚包含一個選項按鈕和文本。IAMIdentity Center 使用者和群組並排已選取,而IAM使用者和角色下拉式清單位於圖標下方。
    IAM使用者和角色

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

    IAM識別中心

    從 [使用者和群組] 清單中選擇一或多個使用者或群組

    SAML 使用者和群組

    對於SAML和 Amazon QuickSight 使用者和群組,請為透過聯合聯合的使用者或群組輸入一或多個 Amazon 資源名稱 (ARNs)SAML,或ARNs針對 Amazon QuickSight 使用者或群組。在每個之後按 Enter 鍵ARN。

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

    注意

    僅支持 Amazon QuickSight 企業版與 Amazon QuickSight 的 Lake Formation 整合。

    外部帳戶

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

    組織 ID 由「o-」後跟 10-32 個小寫字母或數字組成。

    組織單位 ID 以「ou-」開頭,後面接著 4—32 個小寫字母或數字 (包含 OU 的根目錄識別碼)。該字符串後跟第二個「-」字符和 8 到 32 個其他小寫字母或數字。

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

    LF 標籤或目錄資源區段包含水平排列的兩個圖塊,其中每個拼貼包含選項按鈕和描述性文字。這些選項包括 LF-標籤匹配的資源和具名的數據目錄資源。已選取具名資料目錄資源。下面的瓷磚有兩個下拉列表:數據庫和表。「資料庫」下拉式清單下方有一個圖塊,其中包含選取的資料庫名稱。[表格] 下拉式清單下方有一個包含所選表格名稱的拼貼。
  4. 指定沒有資料篩選的權限

    在「權限」段落中,選取要授與的表格權限,並選擇性地選取可授與的權限。

    資料表和資料行權限區段有兩個子區段:資料表權限和可授與權限。每個小節都有每個可能的 Lake Formation 權限的核取方塊:更改、插入、刪除、刪除、選取、描述和超級。「超級」權限設定在其他權限的右邊,並有一個描述:「此權限允許主體將任何權限授與左側,並取代這些可授予的權限。」

    如果您授與 [選取],[資料] 權限區段會顯示在 [資料表和資料行權限] 區段下方,預設會選取 [所有資料存取] 選項。接受預設值。

    該部分包含三個圖塊,水平排列,每個圖塊都有一個選項按鈕和一個描述。選項按鈕包括:「所有資料存取 (已選取)」、「簡易資料欄存取」和「進階」儲存格層級篩選器。
  5. 選擇 Grant (授予)。

  6. 使用資料篩選指定「選取」 權限

    選取 [選取] 權限。請勿選取任何其他權限。

    [資料權限] 區段會顯示在 [資料表和資料行權限] 區段下。

  7. 執行以下任意一項:

    • 僅應用簡單的列過濾。

      1. 選擇「簡單基於列的訪問」。

        上方區段是 [資料表和資料行權限] 區段。它是在前面的屏幕截圖中描述。它包含表權限和可授予權限的核取方塊。底部區段「資料權限」具有三個方塊水平排列,其中每個方塊都有一個選項按鈕和描述。選項包括 [所有資料存取]、[簡單的欄式存取] 和 [進階儲存格層級篩選器]。已選取「簡單欄式存取」選項。在圖塊下方是一個選項按鈕群組,其標籤為「選擇」權限篩選器。選項包括「包含欄」和「排除欄」。選項群組下方是「選取欄」下拉式清單,其下方是「可授與權限」子區段,其中包含標示為「選取」的單一核取方塊。
      2. 選擇是否要包含或排除資料欄,然後選擇要包含或排除的資料欄。

        授與外部 AWS 帳戶或組織權限時,僅支援包含清單。

      3. (選擇性) 在 [可授與的權限] 下,開啟 [選取] 權限的授與選項。

        如果您包含授與選項,授與收件者只能授與您授與他們的資料行的權限。

      注意

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

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

      1. 選擇進階儲存格層級篩選器。

        本節標題為「資料權限」,位於「資料表權限」區段之下。它有三個水平排列的瓷磚,其中每個瓷磚都有一個選項按鈕和描述。選項包括 [所有資料存取]、[簡單的欄式存取] 和 [進階儲存格層級篩選器]。已選取 [進階儲存格層級篩選條件] 選項。圖塊下方是標籤「檢視現有權限」,左側有一個曝光三角形。現有的權限不會公開。下面是一個題為授予數據過濾器的部分。標題右側有三個按鈕:「重新整理」、「管理篩選器」和「建立新篩選器」。標題和按鈕下方是一個帶有佔位符文本「查找過濾器」的文本字段。下面是現有過濾器的表。每一列的左側都有一個核取方塊。欄標題為「篩選名稱」、「表格」、「資料庫」和「表格目錄 ID」。有兩行。第一行中的過濾器名稱是限制藥公司。第二行中的名稱是沒有藥品。
      2. (選擇性) 展開「檢視現有權限」。

      3. (選擇性) 選擇 [建立新篩選器]。

      4. (選擇性) 若要檢視所列篩選器的詳細資訊,或建立新篩選或刪除現有篩選器,請選擇「管理篩選器」。

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

        完成 [資料篩選] 頁面後,返回 [授與權限] 頁面,如有必要,請重新整理頁面以檢視您建立的任何新資料篩選器。

      5. 選取要套用至授權的一或多個資料篩選器。

        注意

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

  8. 選擇 Grant (授予)。

AWS CLI

您可以使用指定的資源方法和 AWS Command Line Interface (AWS CLI) 授與資料表權限。

若要使用授與資料表權限 AWS CLI
  • 運行grant-permissions命令,並指定一個表作為資源。

範例 -授予單個表-沒有過濾

下列範例會授SELECT與使ALTERdatalake_user1用者 AWS 帳戶 1111-2222-3333 資料庫資料表上的使用者。inventory retail

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

如果您授與在ALTER已註冊位置中具有其基礎資料之表格的權限,請務必同時將該位置的資料位置權限授與主參與者。如需詳細資訊,請參閱授與資料位置權限

範例 -使用「授予」選項對所有表進行授予-無過濾

下一個例子授予SELECT與在數據庫中的所有表的 grant 選項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"]}}'
範例 — 使用數據過濾器授予

此範例會授與SELECT資料orders表並套用資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"] }