創建和管理數據接收者三角洲共享

這篇文章解釋了如何創建和管理接受者為三角洲共享。

收件人指定的對象代表一個用戶或一組用戶的身份在現實世界中使用共享數據。你創建收件人不同取決於收件人是否有支持訪問磚工作區統一目錄:

  • 收件人提供磚的工作空間,為統一啟用目錄,您可以創建一個接收方對象與一個安全的連接管理完全由磚。這種共享模式Databricks-to-Databricks分享

  • 收件人沒有磚的工作空間,為統一啟用目錄,您必須使用公開分享,一個安全的連接,使用基於令牌的身份驗證管理。

關於這兩個的更多信息共享模式,當選擇,明白了開放共享和Databricks-to-Databricks共享

需求

創建一個收件人:

  • 你必須metastore管理員或有CREATE_RECIPIENT特權的統一目錄metastore您想要分享的數據登記。

  • 您必須創建收件人使用磚工作區,統一編目metastore附呈。

  • 如果你使用一個磚筆記本創建收件人,您的集群必須使用磚運行時11.3 LTS以上和集群共享或單用戶訪問模式。

另一方管理操作(如查看、刪除、更新和格蘭特收件人訪問共享)看到的權限需求中列出本文的操作特定的部分。

為用戶創建一個接收方對象訪問磚(Databricks-to-Databricks共享)

如果您的數據接收方有權訪問一個磚工作區,為統一啟用目錄,您可以創建一個受助對象的驗證類型

受助對象的驗證類型代表一個數據接收方在一個特定的目錄metastore統一,確定在接收者對象定義共享標識符metastore字符串組成的雲、地區和UUID。與這隻接收方可以訪問共享的數據metastore。

步驟1:請求接收者的共享標識符

問你接收用戶發送的共享標識統一編目metastore附加到工作區,接收者用戶或組的用戶將使用共享數據。

共享metastore標識符是一個字符串組成的雲,區域,和UUID (metastore的惟一標識符)的格式<雲>:<地區>:< uuid >

例如,在以下截圖,完整的共享標識符字符串aws:美國-西方- 2:19a84bee - 54 - bc - 43 - a2 - 87 - de - 023 d0ec16016

CURRENT_METASTORE的例子

接收者可以使用數據瀏覽找到標識符,磚統一編目CLI或默認SQL函數CURRENT_METASTORE磚筆記本或磚的SQL查詢,在工作區中Unity-Catalog-capable集群上運行他們打算使用。

使用數據瀏覽的共享標識符:

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇和我分享

  3. 以上供應商選項卡,單擊共享標識符複製圖標。

運行以下命令在筆記本或磚的SQL查詢編輯器:

選擇CURRENT_METASTORE();

運行以下命令使用磚CLI。共享標識符的返回global_metastore_id

磚unity-catalog metastores得到概要

你可以幫助接收者發送你的聯係在這一步中,包含的信息或者你可以點獲得在Databricks-to-Databricks模型中

步驟2:創建收件人

創建一個收件人Databricks-to-Databricks共享,您可以使用數據瀏覽,磚統一目錄的CLI或創建收件人SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:Metastore管理員或用戶CREATE_RECIPIENT特權的統一目錄metastore您想要分享的數據登記。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 點擊新的收件人

  4. 輸入收件人的名字共享標識符

    使用整個共享標識符字符串的格式<雲>:<地區>:< uuid >。例如,aws:美國-西方- 2:19a84bee - 54 - bc - 43 - a2 - 87 - de - 023 d0ec16016

  5. (可選)輸入一個評論。

  6. 點擊創建

  7. (可選)創建自定義收件人屬性

    點擊編輯屬性> +添加屬性。然後添加一個屬性名(關鍵),價值。有關詳細信息,請參見管理收件人屬性

運行以下命令在筆記本或磚的SQL查詢編輯器:

創建收件人(如果存在]<收件人- - - - - -的名字>使用ID“< sharing-identifier >”(評論“< >評論”];

使用整個共享標識符字符串的格式<雲>:<地區>:< uuid >。例如,aws:一來:g0c979c8 - 3 - e68 - 4 -提供- 94 - af - d05c120ed1ef

您還可以為收件人添加自定義屬性。有關詳細信息,請參見管理收件人屬性

運行以下命令使用磚CLI。替換占位符的值:

  • < recipient-name >:收件人的名字。

  • < sharing-identifier >:整個共享標識符字符串的格式<雲>:<地區>:< uuid >。例如,aws:一來:g0c979c8 - 3 - e68 - 4 -提供- 94 - af - d05c120ed1ef

磚unity-catalog收件人創建名稱< recipient-name >——sharing-id < sharing-identifier >

您還可以為收件人添加自定義屬性。有關詳細信息,請參見管理收件人屬性

與創建收件人authentication_type

創建一個接收方對象為所有其他用戶(開放共享)

如果你想分享你的磚之外的數據與用戶工作空間,無論他們使用磚本身,您可以使用開放δ分享分享你的數據安全。它是如何工作的:

  1. 數據提供商,你創建收件人對象統一目錄metastore。

  2. 當您創建收件人對象,磚生成一個令牌,一個證書文件,包括令牌,一個激活鏈接分享給收件人。收件人對象的驗證類型令牌

  3. 收件人訪問激活鏈接,下載證書文件,並使用憑證文件進行身份驗證並獲得讀訪問表中包括股票你給他們訪問權。

步驟1:創建收件人

創建一個開放共享的收件人,您可以使用數據瀏覽,磚統一目錄的CLI或創建收件人SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:Metastore管理員或用戶CREATE_RECIPIENT特權的統一目錄metastore您想要分享的數據登記。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 點擊新的收件人

  4. 輸入收件人的名字

  5. (可選)輸入一個評論。

  6. 點擊創建

    你不使用共享開放共享的標識符。

  7. (可選)創建自定義收件人屬性

    點擊編輯屬性> +添加屬性。然後添加一個屬性名(關鍵),價值。有關詳細信息,請參見管理收件人屬性

運行以下命令在筆記本或磚的SQL查詢編輯器:

創建收件人(如果存在]<收件人- - - - - -的名字>(評論“< >評論”];

您還可以為收件人添加自定義屬性。有關詳細信息,請參見管理收件人屬性

運行以下命令使用磚CLI

磚unity-catalog收件人創建——名稱< recipient-name >

您還可以為收件人添加自定義屬性。有關詳細信息,請參見管理收件人屬性

輸出包括activation_url你與對方分享。

與創建收件人authentication_type令牌

請注意

當您創建收件人時,您可以選擇限製收件人訪問受限的IP地址。您還可以添加一個IP訪問列表到現有的接受者。看到使用IP訪問列表限製三角洲收件人共享訪問(開放共享)

授予接收者訪問份額

一旦您創建了收件人創建股票,您可以授予接收者訪問這些股票。

授予共享訪問收件人,您可以使用數據瀏覽,磚統一目錄的CLI或格蘭特分享SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:下列之一:

  • Metastore管理。

  • 委托權限或所有權份額和接收者對象(使用分享+分享許可)或分享所有者)和(使用收件人或接收方所有者)。

說明,請參閱授予和管理訪問三角洲共享數據的股票

把收件人的連接信息

你必須讓收件人知道如何訪問數據,你與他們分享。您與收件人的信息取決於你使用Databricks-to-Databricks共享和開放共享:

  • Databricks-to-Databricks共享,你發送的鏈接說明訪問的數據共享。

    提供者對象列表可用股票在收件人的metastore自動創建。收件人不需要做任何事情但使用視圖並選擇他們想要的股票。看到讀取數據共享使用Databricks-to-Databricks三角洲共享

  • 開放共享,您可以使用共享的安全通道激活鏈接和一個鏈接說明使用它

    你可以下載證書文件隻有一次。接受者應該把下載的證書作為一個秘密,不得組織外部的分享。如果你有擔心憑據可能是不可靠地處理,你可以旋轉接受者的憑據在任何時間。關於管理的更多信息憑證以確保安全接受訪問,看到的令牌安全注意事項

查看收件人

查看收件人的列表,您可以使用數據瀏覽,磚統一目錄的CLI或顯示收件人SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:你必須metastore管理員或有使用收件人查看所有接受者metastore特權。其他用戶可以訪問隻有接受者,他們自己的。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 打開收件人選項卡。

運行以下命令在筆記本或磚的SQL查詢編輯器。可選地,取代<模式>與一個“喜歡”謂詞

顯示收件人(就像<模式>];

運行以下命令使用磚CLI

磚unity-catalog接收人列表

查看收件人詳細信息

查看收件人的詳細信息,您可以使用數據瀏覽,磚統一目錄的CLI或描述收件人SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:Metastore管理員、用戶使用收件人特權,或收件人對象的所有者。

細節包括:

  • 收件人的創建者、創建時間戳、注釋和身份驗證類型(令牌)。

  • 如果收件人使用開放共享:令牌一生,激活鏈接,激活狀態(證書是否已經被下載)和IP訪問列表,如果分配。

  • 如果收件人使用Databricks-to-Databricks共享:雲中,區域,和收件人的統一目錄metastore metastore ID,以及激活狀態。

  • 收件人屬性,包括自定義屬性。看到管理收件人屬性

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 收件人選項卡,找到並選擇收件人。

  4. 查看收件人的詳細信息細節選項卡。

運行以下命令在筆記本或磚的SQL查詢編輯器。

描述收件人<收件人- - - - - -的名字>;

運行以下命令使用磚CLI

磚unity-catalog接受者——名字< recipient-name >

查看收件人的共享權限

查看股票列表,接收方被授權訪問,您可以使用數據瀏覽,磚統一目錄的CLI或顯示獎助金收件人SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:Metastore管理員、用戶使用收件人特權,或收件人對象的所有者。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 收件人選項卡,找到並選擇收件人。

  4. 股票選項卡查看股票與收件人的列表。

運行以下命令在筆記本或磚的SQL查詢編輯器。

顯示獎助金收件人<收件人- - - - - -的名字>;

運行以下命令使用磚CLI

磚unity-catalog接受者list-permissions——名稱< recipient-name >

更新一個收件人

更新收件人,您可以使用數據瀏覽,磚統一目錄的CLI或改變收件人SQL命令在磚磚筆記本或SQL查詢編輯器。

屬性可以更新包括收件人名稱、所有者和評論。你不能使用數據瀏覽器更新收件人的名字。

權限要求:你必須是一個metastore管理員或受助對象的更新。你必須是一個metastore管理員(或用戶CREATE_RECIPIENT特權)業主更新這個名字。你一定是業主更新發表評論。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 收件人選項卡,找到並選擇收件人。

  4. 在詳細信息頁麵上,您可以:

    • 更新的所有者。

    • 編輯或添加一個評論。

    • 編輯、刪除或添加自定義收件人屬性

      點擊編輯屬性。要添加一個屬性,單擊+添加屬性並輸入屬性名稱(關鍵),價值。有關詳細信息,請參見管理收件人屬性

運行一個或多個以下命令在筆記本或磚的SQL查詢編輯器。

改變收件人<收件人- - - - - -的名字>重命名<- - - - - -收件人- - - - - -的名字>;改變收件人<收件人- - - - - -的名字>老板<- - - - - -老板>;評論收件人<收件人- - - - - -的名字>“<新的評論>”;改變收件人<收件人- - - - - -的名字>屬性(<財產- - - - - -關鍵>=property_value(,…])改變收件人<收件人- - - - - -的名字>設置屬性(<財產- - - - - -關鍵>(,…])

關於屬性的更多信息,請參閱管理收件人屬性

創建一個JSON文件,包括一個更新收件人名字,評論,所有者,IP訪問列表,或自定義屬性。

{“名稱”:“new-recipient-name”,“所有者”:“someone-else@example.com”,“評論”:“新的東西”,“ip_access_list”:{“allowed_ip_addresses”:(“8.8.8.8”,“8.8.8.4/10”]},“財產”:{“國家”:“我們”,“id”:“001”}}

然後運行以下命令使用磚CLI。取代< recipient-name >與當前的收件人名字和替換update-recipient-settings.jsonJSON文件的文件名。

磚unity-catalog收件人更新——名稱< recipient-name > json文件update-recipient-settings.json

關於屬性的更多信息,請參閱管理收件人屬性

管理接受者令牌(開放共享)

如果你是收件人使用共享數據公開分享,你可能需要旋轉,收件人的令牌。

你應該旋轉接受者的憑據和生成一個新的激活鏈接在下列情形之一:

  • 當現有的接受者牌即將到期。

  • 如果收件人失去他們的激活URL或如果它是損害。

  • 憑證是否損壞、丟失,或妥協後由收件人下載。

  • 當你修改收件人標記metastore一生。看到修改收件人的令牌

令牌安全注意事項

在任何給定的時間,收件人可以有最多兩個標記:一個活躍的令牌和一個旋轉的令牌。旋轉令牌過期前,試圖再次旋轉令牌會導致錯誤。

當你旋轉一個收件人的令牌,你可以選擇設置——existing-token-expire-in-seconds之前的秒數現有接受者令牌到期。如果你設置的值0,現有的接受者立即令牌到期。

磚建議您設置——existing-token-expire-in-seconds一個相對較短的時間,讓收件人組織訪問新激活的URL而減少的時間收件人有兩個活躍的令牌。如果你懷疑對方令牌是妥協的,磚建議你立即迫使現有的接受者令牌到期。

如果接收方現有的激活URL從未被訪問和收件人沒有旋轉,旋轉收件人無效激活現有的URL並替換一個新的。

如果所有收件人令牌已經過期,旋轉收件人取代現有的激活與一個新的URL。磚建議你立即旋轉或刪除一個收件人的令牌已經過期。

如果無意中受體激活鏈接發送到錯誤的人或在一個不安全的通道上發送,磚建議你:

  1. 撤銷收件人的訪問

  2. 收件人和設置旋轉——existing-token-expire-in-seconds0

  3. 與預期的接收者分享新激活鏈接在一個安全的通道。

  4. 激活的URL訪問後,格蘭特接收者訪問再次分享。

在極端情況下,而不是旋轉收件人的令牌,你可以下降並重新創建收件人。

旋轉一個收件人的令牌

旋轉一個收件人的令牌,你可以使用數據瀏覽或磚統一目錄CLI。

權限要求:接收方對象所有者。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 收件人選項卡,找到並選擇收件人。

  4. 細節選項卡,在令牌過期,點擊旋轉

  5. 旋轉的令牌對話框中,設置令牌到期立即或一組一段時間。建議現有的令牌到期時,看到令牌安全注意事項

  6. 點擊旋轉

  7. 細節選項卡,新副本激活鏈接並與接收者分享了一條安全通道。看到步驟2:獲得激活鏈接

  1. 運行以下命令使用統一目錄CLI。括號裏的參數是可選的。替換占位符的值:

    • < recipient-name >:收件人的名字。

    • < expiration-seconds >:可選的。現有的秒數,直到接收方令牌到期。在此期間,現有的令牌將繼續工作。的值0意味著現有的令牌馬上到期。建議現有的令牌到期時,看到令牌安全注意事項

    磚unity-catalog rotate-recipient-token\——名稱< recipient-name >\(——existing-token-expire-in-seconds < expiration-seconds >]
  2. 收件人的新激活鏈接,與對方分享一條安全通道。看到步驟2:獲得激活鏈接

修改收件人的令牌

如果您需要修改默認收件人標記一生metastore統一目錄,您可以使用數據瀏覽。

請注意

收件人標記一生為現有的收件人不是自動更新當你改變默認收件人標記metastore一生。為了應用新令牌一生給定的收件人,你必須旋轉他們的令牌。看到管理接受者令牌(開放共享)

權限要求:Metastore admin。

  1. 登錄到賬戶控製台

  2. 在側邊欄中,單擊數據圖標數據

  3. 單擊metastore名字。

  4. 啟用設置過期

  5. 輸入的秒數分鍾,小時或幾天,並選擇度量單位。

  6. 點擊啟用

如果禁用設置過期,收件人標記不到期。磚建議您配置的令牌到期。

創建一個JSON文件,包括metastore的更新delta_sharing_recipient_token_lifetime_in_seconds價值。如果你將這個值設置為0,收件人標記不到期。磚建議您配置的令牌到期。

{“delta_sharing_recipient_token_lifetime_in_seconds”:86400年,}

然後運行以下命令使用磚CLI。取代12 a345b6張cd - 7890 - 1 - 3456 e789f0a12b34metastore UUID,替換update-metastore.jsonJSON文件的文件名。

磚unity-catalog metastores更新——id 12 a345b6張cd - 7890 - 1 - 3456 e789f0a12b34\——json文件update-metastore.json

使用訪問列表(可選)限製接受訪問

您可以限製收件人訪問限製的IP地址配置接收者對象時。看到使用IP訪問列表限製三角洲收件人共享訪問(開放共享)

管理收件人屬性

接收方對象包括預定義的屬性,您可以使用它們來改進數據共享訪問。例如,您可以使用它們來分享不同的表分區不同的接受者,使您能夠使用相同的股票有多個接收者同時保持數據之間的界限。

您還可以創建自定義屬性。

從預定義的屬性磚。包括以下:

  • databricks.accountId:數據接收方的磚賬戶屬於(僅Databricks-to-Databricks共享)。

  • databricks.metastoreId:數據接收方的統一目錄metastore屬於(僅Databricks-to-Databricks共享)。

  • databricks.name:數據接收方的名稱。

自定義屬性的可能值可能包括,例如,國家。例如,如果您將自定義屬性“國家”=“我們”收件人,您可以通過國家和分區表數據才行,我們分享數據和屬性指定的收件人。更詳細的例子,請參閱分區過濾使用收件人屬性

需求

收件人屬性在磚運行時支持12.2及以上。

當您創建或更新收件人添加屬性

您可以添加屬性,當你創建一個收件人或更新他們現有的接受者。Explorer,您可以使用數據磚統一目錄CLI或SQL命令磚筆記本或磚SQL查詢編輯器。

權限要求:Metastore管理員或用戶創建收件人統一目錄metastore特權。

當你創建更新收件人使用數據瀏覽、添加或更新自定義屬性通過以下:

  1. 收件人詳細信息頁麵。

    如果你創建一個新的收件人,你點擊後登陸這個頁麵創建。如果你是更新現有的接受者,通過點擊到這個頁麵三角洲分享> >接受者共享的我並選擇收件人。

  2. 點擊編輯屬性> +添加屬性

  3. 輸入屬性名(關鍵),價值

    舉個例子,如果你想過濾共享數據的國家,隻有我們分享數據接收者,您可以創建一個名為“國家”的關鍵價值的“我們”。

  4. 點擊保存

添加一個自定義屬性,當你創建一個收件人,運行以下命令在筆記本或磚的SQL查詢編輯器:

創建收件人(如果存在]<收件人- - - - - -的名字>(使用ID“< sharing-identifier >”]/ *跳過這個如果你是使用開放共享* /(評論“< >評論”]屬性(“<屬性鍵>”=“<屬性>”(,…]);

<屬性鍵>可以是一個字符串文字或標識符。<屬性>必須是一個字符串。

例如:

創建收件人acme屬性(“國家”=“我們”,“partner_id”=“001”);

添加、編輯或刪除自定義屬性為現有的收件人,運行下列之一:

改變收件人<收件人- - - - - -的名字>屬性(“<屬性鍵>”=“<屬性>”(,…]);改變收件人<收件人- - - - - -的名字>設置屬性(“<屬性鍵>”);

添加自定義屬性,當你創建一個收件人,運行以下命令使用磚CLI。替換占位符的值:

  • < recipient-name >:收件人的名字。

  • <屬性鍵>可以是一個字符串文字或標識符。

  • <屬性>必須是一個字符串。

磚unity-catalog收件人創建——名稱< recipient-name >屬性<屬性鍵>=<屬性>

例如:

磚unity-catalog收件人創建——acme名稱屬性國家=我們——屬性partner_id=001年

添加或編輯自定義屬性為現有的接受者,使用更新而不是創建:

磚unity-catalog收件人更新——acme名稱屬性國家=我們——屬性partner_id=001年

查看收件人的屬性

查看收件人屬性,遵循指令查看收件人詳細信息

刪除一個收件人

刪除一個收件人,您可以使用數據瀏覽,磚統一目錄的CLI或下降收件人SQL命令在磚磚筆記本或SQL查詢編輯器。你一定是接收者對象所有者刪除收件人。

當你刪除一個收件人,收件人所代表的用戶無法訪問共享數據。令牌,收件人使用在一個開放共享場景失效。

權限要求:接收方對象所有者。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開三角洲分享菜單並選擇我共享的

  3. 收件人選項卡,找到並選擇收件人。

  4. 單擊烤肉串菜單烤肉串菜單(也稱為菜單後按enter鍵)和選擇刪除

  5. 在確認對話框,單擊刪除

運行以下命令在筆記本或磚的SQL查詢編輯器。

下降收件人(如果存在]<收件人- - - - - -的名字>;

運行以下命令使用磚CLI

磚unity-catalog接受者刪除——名稱< recipient-name >