创建和管理数据接收者三角洲共享

这篇文章解释了如何创建和管理接受者为三角洲共享。

收件人指定的对象代表一个用户或一组用户的身份在现实世界中使用共享数据。你创建收件人不同取决于收件人是否有支持访问砖工作区统一目录:

  • 收件人提供砖的工作空间,为统一启用目录,您可以创建一个接收方对象与一个安全的连接管理完全由砖。这种共享模式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统一目录,您可以使用数据浏览或砖统一目录CLI。

请注意

收件人标记一生为现有的收件人不是自动更新当你改变默认收件人标记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 >