共用方式為


建立和管理差異共享的數據收件者

本文說明如何建立和管理差異共用的收件者。

收件者是具名物件,代表真實世界中取用共用數據的使用者或使用者群組的身分識別。 您建立收件者的方式會根據收件者是否能夠存取針對 Unity 目錄啟用的 Databricks 工作區而有所不同:

  • 對於具有 Unity 目錄啟用之 Databricks 工作區存取權的收件者,您可以使用 Databricks 完全管理的安全連線來建立收件者物件。 此共用模式稱為 Databricks-to-Databricks 共用
  • 對於沒有針對 Unity 目錄啟用之 Databricks 工作區存取權的收件者,您必須使用 開放式共用,並使用令牌型驗證管理的安全連線。

如需這兩種共用模式和選擇時機的詳細資訊,請參閱 開啟共用與 Databricks 對 Databricks 共用

需求

若要建立收件者:

  • 您必須是中繼存放區管理員,或擁有 CREATE_RECIPIENT 您要共享數據的 Unity 目錄中繼存放區的許可權。
  • 您必須使用已附加 Unity 目錄中繼存放區的 Azure Databricks 工作區來建立收件者。
  • 如果您使用 Databricks 筆記本來建立收件者,您的叢集必須使用 Databricks Runtime 11.3 LTS 或更新版本,以及共用或單一使用者叢集存取模式。

如需其他收件者管理作業(例如檢視、刪除、更新和授與收件者共用存取權),請參閱本文作業特定章節中列出的許可權需求。

為可存取 Databricks 的使用者建立收件者物件(Databricks-to-Databricks 共用)

如果您的數據收件者可以存取已 針對 Unity 目錄啟用的 Databricks 工作區,您可以建立驗證類型的 DATABRICKS收件者物件。

驗證類型的 DATABRICKS 收件者物件代表特定 Unity 目錄中繼存放區上的數據收件者,該物件定義是由 中繼存放區的雲端、區域和 UUID 所組成的共用識別符 字串所識別。 只有該中繼存放區可以存取與這個收件者共享的數據。

步驟 1:要求收件者的共享標識符

要求收件者使用者將 Unity 目錄中繼存放區的共用標識碼傳送至收件者使用者或使用者群組將處理共用數據的工作區。

共用識別碼是一個字串,其中包含中繼存放區的雲端、區域和 UUID(中繼存放區的唯一標識符),格式為 <cloud>:<region>:<uuid>

例如,在下列螢幕快照中,完整的共用識別符字串為 aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016

CURRENT_METASTORE範例

收件者可以使用目錄總管、Databricks Unity 目錄 CLI,或 Databricks 筆記本或 Databricks SQL 查詢中的預設 SQL CURRENT_METASTORE 函式,在想要使用的工作區中,在 Unity-Catalog 功能叢集上執行標識符。

目錄總管

若要使用目錄總管取得共享識別碼:

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 與我 共用] 索引卷標上,按兩下右上方的 Databricks 共用組織名稱,然後選取 [ 複製共用標識符]。

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令:

SELECT CURRENT_METASTORE();

CLI

使用 Databricks CLI 執行下列命令。 共用標識碼會以 global_metastore_id傳回。

databricks metastores summary

您可以傳送您連絡此步驟中包含的信息來 協助收件者,或將他們指向 Databricks-to-Databricks 模型中的存取權。

步驟 2:建立收件者

若要建立 Databricks 到 Databricks 共用的收件者,您可以使用目錄總管、Databricks Unity 目錄 CLI,或 CREATE RECIPIENT Azure Databricks Notebook 或 Databricks SQL 查詢編輯器中的 SQL 命令。

需要許可權:中繼存放區管理員或具有 CREATE_RECIPIENT 您要共用之數據的 Unity 目錄中繼存放區許可權的使用者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引卷標上,按兩下 [ 新增收件者]。

  4. 輸入 [收件者名稱] 和 [共用標識符]。

    使用格式 <cloud>:<region>:<uuid>的整個共用識別符字串。 例如: aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016

  5. (選擇性)輸入批註。

  6. 按一下 [建立]。

  7. (選擇性)建立自定義 收件者屬性

    按兩下 [ 編輯屬性 > + 新增屬性]。 然後新增屬性名稱 (索引鍵) 和 [值]。 如需詳細資訊,請參閱 管理收件者屬性

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];

使用格式 <cloud>:<region>:<uuid>的整個共用識別符字串。 例如: aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef

您也可以為收件者新增自訂屬性。 如需詳細資訊,請參閱 管理收件者屬性

CLI

使用 Databricks CLI 執行下列命令。 取代佔位元值:

  • <recipient-name>:收件者的名稱。
  • <sharing-identifier>:格式 <cloud>:<region>:<uuid>為 的整個共用識別符字串。 例如: aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
  • <authentication-type>:當 提供 格式<cloud>:<region>:<uuid>的共享識別符字串時,設定DATABRICKS<sharing-identifier>
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>

您也可以為收件者新增自訂屬性。 如需詳細資訊,請參閱 管理收件者屬性

收件者是使用 authentication_type 的建立。DATABRICKS

為所有其他使用者建立收件者物件 (開啟共用)

如果您想要與 Azure Databricks 工作區外部的使用者共用數據,無論他們是否使用 Databricks 本身,都可以使用開啟的 Delta Sharing 安全地共用您的數據。 以下是其運作方式:

  1. 身為數據提供者,您會在 Unity 目錄中繼存放區中建立收件者物件。
  2. 當您建立收件者物件時,Azure Databricks 會產生令牌、包含令牌的認證檔案,以及可供您與收件者共用的啟用連結。 收件者物件具有的 TOKEN驗證類型。
  3. 收件者會存取啟用鏈接、下載認證檔案,並使用認證檔案來驗證和取得您提供給他們存取之共用中所含數據表的讀取許可權。

步驟 1:建立收件者

若要建立要開啟共用的收件者,您可以使用目錄總管、Databricks Unity 目錄 CLI,或 CREATE RECIPIENT Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中的 SQL 命令。

需要許可權:中繼存放區管理員或具有 CREATE_RECIPIENT 您要共用之數據的 Unity 目錄中繼存放區許可權的使用者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引卷標上,按兩下 [ 新增收件者]。

  4. 輸入收件者 名稱

  5. (選擇性)輸入批註。

  6. 按一下 [建立]。

    您不使用共用識別碼來開啟共用收件者。

  7. 複製啟用連結。

    或者,您可以稍後取得啟用連結。 請參閱 步驟 2:取得啟用連結

  8. (選擇性)建立自定義 收件者屬性

    在 [收件者 詳細數據] 索引標籤上,按兩下 [ 編輯屬性 > + 新增屬性]。 然後新增屬性名稱 (索引鍵) 和 [值]。 如需詳細資訊,請參閱 管理收件者屬性

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];

您也可以為收件者新增自訂屬性。 如需詳細資訊,請參閱 管理收件者屬性

CLI

使用 Databricks CLI 執行下列命令。

databricks recipients create <recipient-name>

您也可以為收件者新增自訂屬性。 如需詳細資訊,請參閱 管理收件者屬性

輸出包含 activation_url 您與收件者共用的 。

收件者是使用 authentication_type 的建立。TOKEN

注意

當您建立收件者時,您可以選擇將收件者存取限制為一組受限制的IP位址。 您也可以將IP存取清單新增至現有的收件者。 請參閱使用IP存取清單限制差異共用收件者存取權(開啟共用)。

若要取得新收件者的啟用連結,您可以使用目錄總管、Databricks Unity 目錄 CLI,或 DESCRIBE RECIPIENT Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中的 SQL 命令。

如果收件者已經下載認證檔案,則不會傳回或顯示啟用連結。

需要的許可權:中繼存放區管理員、具有 USE RECIPIENT 許可權的使用者或收件者對象擁有者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引標籤上,按兩下 [ 收件者],然後選取收件者。

  4. 在收件者詳細數據頁面上,複製 [ 啟用] 連結

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令。

DESCRIBE RECIPIENT <recipient-name>;

輸出包含 activation_link

CLI

使用 Databricks CLI 執行下列命令。

databricks recipients get <recipient-name>

輸出包含 activation_url

將共用的存取權授與收件者

建立收件者並 建立共享之後,您可以將這些共用的存取權授與收件者。

若要授與收件者的共用存取權,您可以使用目錄總管、Databricks Unity 目錄 CLI,或 GRANT ON SHARE Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中的 SQL 命令。

需要的許可權:下列其中一項:

  • 中繼存放區管理員。
  • 共用和收件者物件 ((USE SHARE + SET SHARE PERMISSION) 或共用擁有者) ANDUSE RECIPIENT (或收件者擁有者) 的委派許可權或擁有權。

如需指示,請參閱管理對 Delta Sharing 數據共用的存取權(適用於提供者)。

傳送收件者其連線資訊

您必須讓收件者知道如何存取您與其共享的數據。 您與收件者共享的信息取決於您是使用 Databricks-to-Databricks 共用還是開啟共用:

  • 針對 Databricks 對 Databricks 共用,您會傳送連結來存取您共享的數據。

    列出可用共用的提供者對象會自動在收件者的中繼存放區中建立。 收件者不需要執行任何動作,但必須檢視並選取他們要使用的共用。 請參閱使用 Databricks-to-Databricks Delta Sharing 讀取共用的數據(適用於收件者)。

  • 針對開啟共用,您可以使用安全通道來共用啟用連結,以及使用該連結的指示連結

    您只能下載認證檔案一次。 收件者應將下載的認證視為秘密,且不得在組織外部共用。 如果您擔心認證可能已不安全地處理,您可以隨時 輪替收件者的認證 。 如需管理認證以確保安全收件者存取的詳細資訊,請參閱 令牌的安全性考慮。

檢視收件者

若要檢視收件者清單,您可以使用目錄總管、Databricks Unity 目錄 CLI,或 SHOW RECIPIENTS Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中的 SQL 命令。

需要許可權:您必須是中繼存放區管理員,或具有 USE RECIPIENT 檢視中繼存放區中所有收件者的許可權。 其他使用者只能存取他們擁有的收件者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引卷標上,按兩下 [ 收件者]。

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令。 或者,將 取代 <pattern>LIKE 述詞

SHOW RECIPIENTS [LIKE <pattern>];

CLI

使用 Databricks CLI 執行下列命令。

databricks recipients list

檢視收件者詳細數據

若要檢視收件者的詳細數據,您可以使用目錄總管、Databricks Unity 目錄 CLI,或 DESCRIBE RECIPIENT Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中的 SQL 命令。

需要的許可權:中繼存放區管理員、具有 USE RECIPIENT 許可權的使用者或收件者對象擁有者。

詳細資料包括:

  • 收件者的建立者、建立時間戳、批注和驗證類型(TOKENDATABRICKS)。
  • 如果收件者使用開啟共用:令牌存留期、啟用鏈接、啟用狀態(是否已下載認證),以及已指派的IP存取清單。
  • 如果收件者使用 Databricks 對 Databricks 共用:收件者 Unity 目錄中繼存放區的雲端、區域和中繼存放區標識碼,以及啟用狀態。
  • 收件者屬性,包括自定義屬性。 請參閱 管理收件者屬性

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引標籤上,按兩下 [ 收件者],然後選取收件者。

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令。

DESCRIBE RECIPIENT <recipient-name>;

CLI

使用 Databricks CLI 執行下列命令。

databricks recipients get <recipient-name>

檢視收件者的共享許可權

若要檢視收件者已獲授與存取權的共用清單,您可以使用目錄總管、Databricks CLI 或 SHOW GRANTS TO RECIPIENT Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中的 SQL 命令。

需要的許可權:中繼存放區管理員、具有 USE RECIPIENT 許可權的使用者或收件者對象擁有者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引標籤上,按兩下 [ 收件者],然後選取收件者。

  4. 移至 [ 共用] 索引標籤,以檢視與收件者共用的共享清單。

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令。

SHOW GRANTS TO RECIPIENT <recipient-name>;

CLI

使用 Databricks CLI 執行下列命令。

databricks recipients share-permissions <recipient-name>

更新收件者

若要更新收件者,您可以使用目錄總管、Databricks Unity 目錄 CLI 或 ALTER RECIPIENT Azure Databricks Notebook 或 Databricks SQL 查詢編輯器中的 SQL 命令。

您可以更新的屬性包括收件者名稱、擁有者、批注和自定義屬性。

需要許可權:您必須是收件者物件的中繼存放區管理員或擁有者,才能更新擁有者。 您必須是中繼存放區管理員(或具有 CREATE_RECIPIENT 許可權的使用者) 擁有者,才能更新名稱。 您必須是擁有者,才能更新批注或自定義屬性。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引標籤上,按兩下 [ 收件者],然後選取收件者。

  4. 在收件者詳細資料頁面上:

    • 更新擁有者。

    • 編輯或新增批注。

    • 重新命名收件者。

      Kebab 功能表單擊kebab功能表,然後選取 [重新命名]。

    • 編輯、移除或新增自定義 收件者屬性

      按兩下 [ 編輯屬性]。 若要新增屬性,請按兩下 [+新增屬性],然後輸入屬性 名稱 (索引鍵) 和 [值]。 如需詳細資訊,請參閱 管理收件者屬性

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列一或多個命令。

ALTER RECIPIENT <recipient-name> RENAME TO <new-recipient-name>;

ALTER RECIPIENT <recipient-name> OWNER TO <new-owner>;

COMMENT ON RECIPIENT <recipient-name> IS "<new-comment>";

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( <property-key>  =  property_value [, ...] )

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( <property-key> [, ...] )

如需屬性的詳細資訊,請參閱 管理收件者屬性

CLI

建立 JSON 檔案,其中包含收件者名稱、批注、擁有者、IP 存取清單或自定義屬性的更新。

{
    "name": "new-recipient-name",
    "owner": "someone-else@example.com",
    "comment": "something new",
    "ip_access_list": {
            "allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
    },
    "property": {
            "country": "us",
            "id": "001"
    }
}

然後使用 Databricks CLI 執行下列命令<recipient-name>取代為目前的收件者名稱,並以 JSON 檔案的檔案名稱取代 update-recipient-settings.json

databricks recipients update --json-file update-recipient-settings.json

如需屬性的詳細資訊,請參閱 管理收件者屬性

管理收件者令牌 (開啟共用)

如果您要使用 開啟共用與收件者共享數據,您可能需要輪替該收件者的令牌。 輪替令牌包含將現有令牌設定為過期,並以新的令牌和啟用URL取代令牌。

您應該輪替收件者的權杖,並在下列情況下產生新的啟用 URL:

  • 當現有的收件者令牌即將到期時。
  • 如果收件者遺失其啟用 URL,或遭到入侵則為 。
  • 如果認證在收件者下載認證之後損毀、遺失或遭入侵。
  • 當您修改中繼存放區的收件者令牌存留期時。 請參閱 修改收件者令牌存留期

令牌的安全性考慮

在任何指定時間,收件者最多可以有兩個令牌:作用中的令牌和輪替的令牌。 輪替令牌是已設定為到期且由作用中令牌取代的令牌。 在輪替令牌過期之前,嘗試再次輪替令牌會導致錯誤。

當您輪替收件者的令牌時,可以選擇性地設定 --existing-token-expire-in-seconds 為現有收件者令牌之前的秒數,也就是要輪替的令牌到期。 如果您將值設定為 0,則現有的收件者令牌會立即到期。

Databricks 建議您設定 --existing-token-expire-in-seconds 為相對較短的期間,讓收件者組織有時間存取新的啟用 URL,同時將收件者有兩個使用中令牌的時間量降到最低。 如果您懷疑現有的收件者令牌遭到入侵,Databricks 建議您強制它立即到期。

如果從未存取收件者的現有啟用 URL,輪替現有的令牌會使該啟用 URL 失效,並將它取代為新的 URL。

如果所有收件者令牌都已過期,輪替令牌會以新的 URL 取代現有的啟用 URL。 Databricks 建議您立即輪替或卸除令牌已過期的收件者。

如果收件者啟用 URL 不小心傳送到錯誤的人員,或透過不安全的通道傳送,Databricks 建議您:

  1. 撤銷收件者的共用存取權。
  2. 旋轉收件者,並將設定 --existing-token-expire-in-seconds0
  3. 透過安全通道與預定收件者共用新的啟用URL。
  4. 存取啟用 URL 之後,請再次將共用的存取權授與收件者。

在極端情況下,您可以 卸除 並重新建立收件者,而不是輪替收件者的令牌。

輪替收件者的令牌

若要輪替收件者的令牌,您可以使用目錄總管或 Databricks Unity 目錄 CLI。

需要的許可權:Recipient 對象擁有者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在左窗格中,展開 [ 差異共用 ] 功能表,然後選取 [由我共用]。

  3. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  4. 在 [ 由我 共用] 索引標籤上,按兩下 [ 收件者],然後選取收件者。

  5. 在 [詳細數據] 索引標籤的 [令牌到期] 底下,按兩下 [輪替]。

  6. 在 [ 輪替令牌] 對話框中,將令牌 設定為立即到期,或設定一段時間。 如需何時到期現有令牌的建議,請參閱 令牌的安全性考慮。

  7. 按兩下 [ 旋轉]。

  8. 在 [ 詳細數據] 索引標籤上,複製新的 [啟用] 連結 ,並透過安全通道與收件者共用。 請參閱 步驟 2:取得啟用連結

CLI

  1. 使用 Databricks CLI 執行下列命令。 取代佔位元值:

    • <recipient-name>:收件者的名稱。
    • <expiration-seconds>:現有收件者令牌到期之前的秒數。 在此期間,現有的令牌將會繼續運作。 值 0 表示現有的令牌會立即到期。 如需何時到期現有令牌的建議,請參閱 令牌的安全性考慮。
    databricks recipients rotate-token \
    <recipient-name> \
    <expiration-seconds>
    
  2. 取得收件者的新啟用連結,並透過安全通道與收件者共用。 請參閱 步驟 2:取得啟用連結

修改收件者令牌存留期

如果您需要修改 Unity 目錄中繼存放區的預設收件者令牌存留期,您可以使用目錄總管或 Databricks Unity 目錄 CLI。

注意

當您變更中繼存放區的預設收件者令牌存留期時,現有收件者的收件者令牌存留期不會自動更新。 若要將新的令牌存留期套用至指定的收件者,您必須輪替其令牌。 請參閱管理收件者令牌(開啟共用)。

需要的許可權:帳戶管理員。

目錄總管

  1. 登入 帳戶主控台
  2. 在提要欄位中,按兩下 目錄圖示 [目錄]。
  3. 按兩下中繼存放區名稱。
  4. 在 [差異共用收件者令牌存留期] 下,按兩下 [編輯]。
  5. 啟用 [ 設定到期日]。
  6. 輸入秒數、分鐘、小時或天數,然後選取量值單位。
  7. 按一下 [檔案] 。

如果您停用 [ 設定到期日],收件者令牌就不會過期。 Databricks 建議您設定令牌到期。

CLI

使用 Databricks CLI 執行下列命令。 12a345b6-7890-1cd2-3456-e789f0a12b34取代為中繼存放區 UUID,並以收件者令牌到期之前的秒數取代 86400 。 如果您將此值設定為 0,收件者令牌不會過期。 Databricks 建議您設定令牌到期。

databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400

(選擇性)使用存取清單限制收件者存取

當您設定收件者物件時,您可以限制收件者對一組受限IP位址的存取。 請參閱使用IP存取清單限制差異共用收件者存取權(開啟共用)。

管理收件者屬性

收件者物件包含預先定義的屬性,可用來精簡數據共享存取。 例如,您可以使用它們來執行下列動作:

  • 與不同的收件者共用不同的數據表分割區,讓您能夠與多個收件者使用相同的共用,同時維護兩者之間的數據界限。
  • 根據收件者屬性,共用動態檢視,以限制收件者存取數據列或數據行層級的數據表數據。

您也可以建立自訂屬性。

預先定義的屬性開頭為 databricks. ,並包含下列內容:

  • databricks.accountId:數據收件者所屬的 Azure Databricks 帳戶(僅限 Databricks-to-Databricks 共用)。
  • databricks.metastoreId:數據收件者所屬的 Unity 目錄中繼存放區(僅限 Databricks-to-Databricks 共用)。
  • databricks.name:數據收件者的名稱。

可能值為 的自訂屬性可能包括 , country例如 。 例如,如果您將自定義屬性 'country' = 'us' 附加至收件者,您可以依國家/地區分割數據表數據,並且只與已指派該屬性的收件者共用具有美國數據的數據列。 您也可以共用動態檢視,以根據收件者屬性限制數據列或數據行存取。 如需更詳細的範例,請參閱 使用收件者屬性執行數據分割篩選將動態檢視新增至共用以篩選數據列和數據行

需求

Databricks Runtime 12.2 和更新版本支援收件者屬性。

建立或更新收件者時新增屬性

您可以在建立收件者或更新現有收件者時新增屬性。 您可以在 Azure Databricks 筆記本或 Databricks SQL 查詢編輯器中使用目錄總管、Databricks Unity 目錄 CLI 或 SQL 命令。

需要的許可權:具有 CREATE RECIPIENT Unity 目錄中繼存放區許可權的中繼存放區管理員或使用者。

目錄總管

當您 使用目錄總管建立更新 收件者時,請執行下列動作來新增或更新自定義屬性:

  1. 移至 [收件者詳細數據] 頁面。

    如果您要建立新的收件者,請在按兩下 [建立] 之後,登入此頁面。 如果您要更新現有的收件者,請按下齒輪圖示齒輪圖示 > Delta Sharing > shared by me > Recipients 並選取收件者,以移至此頁面。

  2. 按兩下 [ 編輯屬性 > + 新增屬性]。

  3. 輸入屬性名稱 (索引鍵) 和 [值]。

    例如,如果您想要依國家/地區篩選共享數據,並只與這個收件者共用美國數據,您可以建立名為 「country」 且值為 「US」 的索引鍵。

  4. 按一下 [檔案] 。

SQL

若要在建立收件者時新增自定義屬性,請在筆記本或 Databricks SQL 查詢編輯器中執行下列命令:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[USING ID '<sharing-identifier>'] /* Skip this if you are using open sharing */
[COMMENT "<comment>"]
PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

<property-key> 可以是字串常值或標識碼。 <property-value> 必須是字串常值。

例如:

CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');

若要新增、編輯或刪除現有收件者的自訂屬性,請執行下列其中一項:

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );

CLI

若要在建立收件者時新增自定義屬性,請使用 Databricks CLI 執行下列命令。 取代佔位元值:

  • <recipient-name>:收件者的名稱。
  • <property-key> 可以是字串常值或標識碼。
  • <property-value> 必須是字串常值。
databricks recipients create \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "<property-key>": "<property-value>",
    }
  }
}'

例如:

databricks recipients create \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "country": "us",
      "partner_id":"001"
    }
  }
}'

若要新增或編輯現有收件者的自訂屬性,請使用 update ,而不是 create

databricks recipients update \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "country": "us",
      "partner_id":"001"
    }
  }
}'

檢視收件者屬性

若要檢視收件者屬性,請遵循檢視收件者詳細數據中的指示。

刪除收件者

若要刪除收件者,您可以使用目錄總管、Databricks Unity 目錄 CLI 或 DROP RECIPIENT Azure Databricks Notebook 或 Databricks SQL 查詢編輯器中的 SQL 命令。 您必須是收件者對象擁有者,才能刪除收件者。

當您刪除收件者時,收件者所代表的使用者就無法再存取共享數據。 收件者在開啟共用案例中使用的令牌已失效。

需要的許可權:Recipient 對象擁有者。

目錄總管

  1. 在您的 Azure Databricks 工作區中,按兩下 目錄圖示 [目錄]。

  2. 在 [目錄] 窗格頂端,按兩下齒輪圖示齒輪圖示,然後選取 [差異共用]。

    或者,從 [ 快速存取] 頁面,按兩下 [ 差異共用 > ] 按鈕。

  3. 在 [ 由我 共用] 索引標籤上,按兩下 [ 收件者],然後選取收件者。

  4. 在 [ 收件者] 索引 標籤上,尋找並選取收件者。

  5. Kebab 功能表按兩下 kebab 選單,然後選取 [刪除]。

  6. 在確認對話框中,按兩下 [ 刪除]。

SQL

在筆記本或 Databricks SQL 查詢編輯器中執行下列命令。

DROP RECIPIENT [IF EXISTS] <recipient-name>;

CLI

使用 Databricks CLI 執行下列命令。

databricks recipients delete <recipient-name>