View a markdown version of this page

將 LF 標籤指派給 Data Catalog 資源 - AWS Lake Formation

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

將 LF 標籤指派給 Data Catalog 資源

您可以將 LF 標籤指派給 Data Catalog 資源 (資料庫、資料表和欄),以控制對這些資源的存取。只有獲授予相符 LF 標籤的委託人 (以及獲授予具名資源方法存取權的委託人) 才能存取資源。

如果資料表從資料庫繼承 LF-Tag,或資料欄從資料表繼承 LF-Tag,您可以透過將新值指派給 LF-Tag 金鑰來覆寫繼承的值。

您可以指派給資源的 LF 標籤數目上限為 50。

管理指派給資源的標籤的需求

若要將 LF 標籤指派給 Data Catalog 資源,您必須:

  • 擁有 LF-Tag 上的 Lake Formation ASSOCIATE許可。

  • 擁有 IAM lakeformation:AddLFTagsToResource許可。

  • 在 Glue 資料庫上擁有 glue:GetDatabase 許可。

  • 成為資源擁有者 (建立者)、對具有 GRANT選項的資源具有 Super Lake Formation 許可,或具有具有 GRANT選項的下列許可:

    • 對於相同 AWS 帳戶中的資料庫:DESCRIBEALTERCREATE_TABLEDROP

    • 對於外部帳戶中的資料庫: DESCRIBECREATE_TABLEALTER

    • 對於資料表 (和資料欄):DESCRIBEALTERDROPINSERTSELECT、 和 DELETE

此外,LF-Tag 及其指派的資源必須位於相同的 AWS 帳戶中。

若要從 Data Catalog 資源中移除 LF 標籤,您必須符合這些要求,並具有 lakeformation:RemoveLFTagsFromResource IAM 許可。

將 LF 標籤指派給資料表資料欄

將 LF 標籤指派給資料表欄 (主控台)
  1. 開啟 Lake Formation 主控台,網址為 https://console.aws.amazon.com/lakeformation/

    以符合上述要求的使用者身分登入。

  2. 在導覽窗格中,選擇 Tables (資料表)。

  3. 選擇資料表名稱 (而非資料表名稱旁的選項按鈕)。

  4. 在資料表詳細資訊頁面的結構描述區段中,選擇編輯結構描述

  5. 編輯結構描述頁面上,選取一或多個資料欄,然後選擇編輯 LF 標籤

    注意

    如果您想要新增或刪除資料欄並儲存新版本,請先執行此操作。然後編輯 LF 標籤。

    編輯 LF 標籤對話方塊隨即出現,並顯示從資料表繼承的任何 LF 標籤。

    影像是編輯 LF 標籤對話方塊視窗的螢幕擷取畫面。視窗的頂端會顯示兩個繼承的金鑰。第一個繼承的索引鍵具有索引鍵 "level" 和值 "director (inherited)"。第二個繼承的金鑰具有金鑰「模組」和值「訂單 (繼承)」。這些欄位下方有一個「指派新的 LF 標籤」按鈕。下方和右側的是取消和儲存按鈕。
  6. (選用) 對於繼承索引鍵欄位旁的清單,選擇值以覆寫繼承的值。

  7. (選用) 選擇指派新的 LF 標籤。然後,對於指派的金鑰,選擇金鑰,對於,選擇金鑰的值。

    影像是編輯 LF 標籤對話方塊視窗的螢幕擷取畫面。視窗的頂端會顯示兩個繼承的金鑰。第一個繼承的索引鍵具有索引鍵 "level" 和值 "director (inherited)"。第二個繼承的金鑰具有金鑰「模組」和值「訂單 (繼承)」。在本節下方,水平對齊是這些欄位和控制項:「指派的金鑰」欄位、「值」欄位和「移除」按鈕。指派的金鑰欄位包含文字「環境」。值欄位是下拉式清單,其值為「生產」(反白顯示) 和「客戶」。「指派新的 LF-Tag」按鈕會顯示在指派的金鑰欄位下方。視窗右下角是取消和儲存按鈕。
  8. (選用) 再次選擇指派新的 LF 標籤以新增另一個 LF 標籤。

  9. 選擇儲存

將 LF 標籤指派給 Data Catalog 資源

Console
將 LF 標籤指派給 Data Catalog 資料庫或資料表
  1. 開啟 Lake Formation 主控台,網址為 https://console.aws.amazon.com/lakeformation/

    以符合先前列出的要求的使用者身分登入。

  2. 在導覽窗格中的資料目錄下,執行下列其中一項操作:

    • 若要將 LF 標籤指派給資料庫,請選擇資料庫

    • 若要將 LF 標籤指派給資料表,請選擇資料表

  3. 選擇資料庫或資料表,然後在動作功能表中,選擇編輯 LF 標籤

    隨即出現編輯 LF-Tags: resource-name 對話方塊。

    如果資料表從包含的資料庫中繼承 LF 標籤,則視窗會顯示繼承的 LF 標籤。否則,它會顯示文字「沒有與資源相關聯的繼承 LF 標籤」。

    影像是「編輯 LF 標籤:庫存」對話視窗的螢幕擷取畫面。頂端是「繼承索引鍵」(已修剪) 和「值」欄位。繼承的索引鍵欄位具有值 "level",而值欄位具有值 "director (inherited)"。在本節下方,水平對齊是這些欄位和控制項:「指派的金鑰」欄位、「值」欄位和「移除」按鈕。指派的金鑰欄位包含文字 "module"。值欄位是下拉式清單,其值為「訂單」、「銷售」和「客戶」(反白)。「指派新的 LF-Tag」按鈕位於已指派金鑰欄位下方。視窗右下角是取消和儲存按鈕。
  4. (選用) 如果資料表繼承了 LF 標籤,則對於繼承索引鍵欄位旁的清單,您可以選擇值來覆寫繼承的值。

  5. 若要指派新的 LF 標籤,請執行下列步驟:

    1. 選擇指派新的 LF 標籤

    2. 指派的金鑰欄位中,選擇 LF-Tag 金鑰,然後在欄位中,選擇值。

    3. (選用) 再次選擇指派新的 LF 標籤,以指派額外的 LF 標籤。

  6. 選擇儲存

AWS CLI
將 LF 標籤指派給 Data Catalog 資源
  • 執行 add-lf-tags-to-resource 命令。

    下列範例會將 LF 標籤指派給資料庫 orders中的module=orders資料表erp。它使用 --lf-tags引數的捷徑語法。的 CatalogID 屬性--lf-tags是選用的。如果未提供,則會假設資源的目錄 ID (在此情況下為 資料表)。

    aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"orders"}}' --lf-tags CatalogId=111122223333,TagKey=module,TagValues=orders

    以下是命令成功時的輸出。

    {
        "Failures": []
    }
    

    下一個範例會將兩個 LF 標籤指派給sales資料表,並使用--lf-tags引數的 JSON 語法。

    aws lakeformation add-lf-tags-to-resource --resource '{ "Table": {"DatabaseName":"erp", "Name":"sales"}}' --lf-tags '[{"TagKey": "module","TagValues": ["sales"]},{"TagKey": "environment","TagValues": ["development"]}]'

    下一個範例會將 LF-Tag level=director 指派給資料表 的資料totalsales

    aws lakeformation add-lf-tags-to-resource --resource '{ "TableWithColumns": {"DatabaseName":"erp", "Name":"sales", "ColumnNames":["total"]}}' --lf-tags TagKey=level,TagValues=director

更新資源的 LF 標籤

更新 Data Catalog 資源的 LF 標籤 (AWS CLI)
  • 使用 add-lf-tags-to-resource命令,如先前程序所述。

    新增具有與現有 LF 標籤相同金鑰的 LF 標籤,但具有不同值的 LF 標籤會更新現有值。

從資源移除 LF-Tag

移除 Data Catalog 資源的 LF 標籤 (AWS CLI)
  • 執行 remove-lf-tags-from-resource 命令。

    如果資料表的 LF-Tag 值會覆寫從父資料庫繼承的值,則從資料表中移除該 LF-Tag 會還原繼承的值。此行為也適用於覆寫從資料表繼承之索引鍵值的資料欄。

    下列範例level=director會從sales資料表的 資料total欄移除 LF 標籤。的 CatalogID 屬性--lf-tags是選用的。如果未提供,則會假設資源的目錄 ID (在此情況下為 資料表)。

    aws lakeformation remove-lf-tags-from-resource --resource ' { "TableWithColumns": { "DatabaseName": "erp", "Name": "sales", "ColumnNames":[ "total"]}}' --lf-tags CatalogId=111122223333,TagKey=level,TagValues=director