Erstellen und Verwalten von Datenempfängern für Delta Sharing

In diesem Artikel wird erläutert, wie Sie Empfänger für Delta Sharing erstellen und verwalten.

Ein Empfänger ist ein benanntes Objekt, das die Identität eines Benutzers oder einer Benutzergruppe in der realen Welt darstellt, der bzw. die freigegebene Daten nutzt. Die Vorgehensweise bei der Erstellung von Empfängern hängt davon ab, ob der Empfänger Zugriff auf einen Databricks-Arbeitsbereich mit Unterstützung von Unity Catalog hat:

  • Für Empfänger mit Zugriff auf einen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung können Sie ein Empfängerobjekt mit einer sicheren Verbindung erstellen, die vollständig von Databricks verwaltet wird. Dieser Freigabemodus wird als Databricks-zu-Databricks-Freigabe bezeichnet.
  • Für Empfänger ohne Zugriff auf einen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung muss eine offene Freigabe mit einer sicheren Verbindung verwendet werden, die mittels tokenbasierter Authentifizierung verwaltet wird.

Weitere Informationen zu diesen beiden Freigabemodi und dazu, wann welcher Modus verwendet werden muss, finden Sie in der Gegenüberstellung von offener Freigabe und Databricks-zu-Databricks-Freigabe.

Anforderungen

So erstellen Sie einen Empfänger

  • Sie müssen ein Metastore-Administrator sein oder über die Berechtigung CREATE_RECIPIENT für den Unity Catalog-Metastore verfügen, in dem die freizugebenden Daten registriert sind.
  • Sie müssen den Empfänger mithilfe eines Azure Databricks-Arbeitsbereichs erstellen, in dem der Unity Catalog-Metastore angefügt ist.
  • Wenn Sie zum Erstellen des Empfängers ein Databricks-Notebook verwenden, muss Ihr Cluster mindestens über Databricks Runtime 11.3 LTS verfügen und einen entweder den gemeinsamen Clusterzugriffsmodus oder den Clusterzugriffsmodus für Einzelbenutzer verwenden.

Informationen zu anderen Empfängerverwaltungsvorgängen (z. B. Anzeigen, Löschen, Aktualisieren und Gewähren von Zugriff auf eine Freigabe) finden Sie in den Berechtigungsanforderungen, die in den vorgangsspezifischen Abschnitten dieses Artikels aufgeführt sind.

Erstellen eines Empfängerobjekts für Benutzer mit Zugriff auf Databricks (Databricks-zu-Databricks-Freigabe)

Wenn Ihr Datenempfänger Zugriff auf einen Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung hat, können Sie ein Empfängerobjekt mit dem Authentifizierungstyp DATABRICKS erstellen.

Ein Empfängerobjekt mit dem Authentifizierungstyp DATABRICKS stellt einen Datenempfänger in einem bestimmten Unity Catalog-Metastore dar, der in der Empfängerobjektdefinition durch einen Freigabebezeichner identifiziert wird. Hierbei handelt es sich um eine Zeichenfolge, die sich aus der Cloud, Region und UUID des Metastores zusammensetzt. Auf die für diesen Empfänger freigegebenen Daten kann nur in diesem Metastore zugegriffen werden.

Schritt 1: Anfordern des Freigabebezeichners des Empfängers

Bitten Sie einen Empfängerbenutzer, Ihnen den Freigabebezeichner für den Unity Catalog-Metastore zu senden, der an die Arbeitsbereiche angefügt ist, in denen der Empfängerbenutzer oder die Empfängerbenutzergruppe mit den freigegebenen Daten arbeitet.

Der Freigabebezeichner ist eine Zeichenfolge mit der Cloud, der Region und der UUID (eindeutiger Bezeichner für den Metastore) des Metastores im Format <cloud>:<region>:<uuid>.

Im folgenden Screenshot ist der vollständige Freigabebezeichner beispielsweise die Zeichenfolge aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

Beispiel für CURRENT_METASTORE

Der Empfänger kann den Bezeichner per Katalog-Explorer, über die Databricks Unity Catalog-Befehlszeilenschnittstelle oder mithilfe der SQL-Standardfunktion CURRENT_METASTORE in einem Databricks-Notebook oder in einer Databricks SQL-Abfrage ermitteln, die in einem Cluster mit Unity Catalog-Unterstützung für den zu verwendenden Arbeitsbereich ausgeführt wird.

Katalog-Explorer

So rufen Sie den Freigabebezeichner mithilfe des Katalog-Explorers ab

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Für mich freigegeben aus.
  3. Klicken Sie über der Registerkarte „Anbieter“ auf das Kopiersymbol für Freigabebezeichner.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:

SELECT CURRENT_METASTORE();

CLI

Führen Sie über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus. Der Freigabebezeichner wird als global_metastore_id zurückgegeben.

databricks unity-catalog metastores get-summary

Sie können den Empfänger unterstützen, indem Sie Ihrem Ansprechpartner die in diesem Schritt enthaltenen Informationen senden. Alternativ können Sie auf den Abschnitt Erhalten von Zugriff im Databricks-zu-Databricks-Modell verweisen.

Schritt 2: Erstellen des Empfängers

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl CREATE RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um einen Empfänger für die Databricks-zu-Databricks-Freigabe zu erstellen.

Erforderliche Berechtigungen: Sie müssen ein Metastore-Administrator oder ein Benutzer mit der Berechtigung CREATE_RECIPIENT für den Unity Catalog-Metastore sein, in dem die freizugebenden Daten registriert sind.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.

  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.

  3. Klicken Sie auf Neuer Empfänger.

  4. Geben Sie unter Name den Empfängernamen und unter Freigabebezeichner den Freigabebezeichner ein.

    Verwenden Sie die gesamte Zeichenfolge des Freigabebezeichners im Format <cloud>:<region>:<uuid>. Beispiel: aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

  5. (Optional) Geben Sie einen Kommentar ein.

  6. Klicken Sie auf Erstellen.

  7. (Optional) Erstellen Sie benutzerdefinierte Empfängereigenschaften.

    Klicken Sie auf Eigenschaften bearbeiten > +Eigenschaft hinzufügen. Fügen Sie dann einen Eigenschaftsnamen (Schlüssel) und einen Wert hinzu. Details finden Sie unter Verwalten von Empfängereigenschaften.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:

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

Verwenden Sie die gesamte Zeichenfolge des Freigabebezeichners im Format <cloud>:<region>:<uuid>. Beispiel: aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

Sie können auch benutzerdefinierte Eigenschaften für den Empfänger hinzufügen. Details finden Sie unter Verwalten von Empfängereigenschaften.

CLI

Führen Sie über die Databricks CLI den folgenden Befehl aus. Ersetzen Sie folgende Platzhalterwerte:

  • <recipient-name>: Name des Empfängers
  • <sharing-identifier>: Die gesamte Zeichenfolge des Freigabebezeichners im Format <cloud>:<region>:<uuid>. Beispiel: aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.
databricks unity-catalog recipients create --name <recipient-name> --sharing-id <sharing-identifier>

Sie können auch benutzerdefinierte Eigenschaften für den Empfänger hinzufügen. Details finden Sie unter Verwalten von Empfängereigenschaften.

Der Empfänger wird mit dem folgenden Authentifizierungstyp (authentication_type) erstellt: DATABRICKS

Erstellen eines Empfängerobjekts für alle anderen Benutzer (offene Freigabe)

Wenn Sie Daten für Benutzer außerhalb Ihres Azure Databricks-Arbeitsbereichs freigeben möchten (unabhängig davon, ob diese Benutzer Databricks verwenden), können Sie Ihre Daten mithilfe der offenen Freigabe von Delta Sharing sicher freigeben. So funktioniert es:

  1. Als Datenanbieter erstellen Sie das Empfängerobjekt in Ihrem Unity Catalog-Metastore.
  2. Wenn Sie das Empfängerobjekt erstellen, generiert Azure Databricks ein Token, eine Anmeldeinformationsdatei, die das Token enthält, und einen Aktivierungslink, den Sie an den Empfänger weitergeben. Das Empfängerobjekt hat den Authentifizierungstyp TOKEN.
  3. Der Empfänger greift auf den Aktivierungslink zu, lädt die Anmeldeinformationsdatei herunter und verwendet sie, um sich zu authentifizieren und Lesezugriff auf die Tabellen zu erhalten, die Sie in die Freigaben einschließen, auf die Sie dem Empfänger Zugriff gewähren.

Schritt 1: Erstellen des Empfängers

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl CREATE RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um einen Empfänger für die offene Freigabe zu erstellen.

Erforderliche Berechtigungen: Sie müssen ein Metastore-Administrator oder ein Benutzer mit der Berechtigung CREATE_RECIPIENT für den Unity Catalog-Metastore sein, in dem die freizugebenden Daten registriert sind.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.

  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.

  3. Klicken Sie auf Neuer Empfänger.

  4. Geben Sie unter Name den Namen des Empfängers ein.

  5. (Optional) Geben Sie einen Kommentar ein.

  6. Klicken Sie auf Erstellen.

    Für Empfänger der offenen Freigabe wird der Freigabebezeichner nicht verwendet.

  7. (Optional) Erstellen Sie benutzerdefinierte Empfängereigenschaften.

    Klicken Sie auf Eigenschaften bearbeiten > +Eigenschaft hinzufügen. Fügen Sie dann einen Eigenschaftsnamen (Schlüssel) und einen Wert hinzu. Details finden Sie unter Verwalten von Empfängereigenschaften.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus:

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

Sie können auch benutzerdefinierte Eigenschaften für den Empfänger hinzufügen. Details finden Sie unter Verwalten von Empfängereigenschaften.

CLI

Führen Sie über die Databricks CLI den folgenden Befehl aus.

databricks unity-catalog recipients create --name <recipient-name>

Sie können auch benutzerdefinierte Eigenschaften für den Empfänger hinzufügen. Details finden Sie unter Verwalten von Empfängereigenschaften.

Die Ausgabe enthält die Aktivierungs-URL (activation_url), die Sie an den Empfänger weitergeben.

Der Empfänger wird mit dem folgenden Authentifizierungstyp (authentication_type) erstellt: TOKEN

Hinweis

Bei der Empfängererstellung kann der Empfängerzugriff auf eine eingeschränkte Gruppe von IP-Adressen beschränkt werden. Es ist auch möglich, einem vorhandenen Empfänger eine IP-Zugriffsliste hinzuzufügen. Weitere Informationen finden Sie unter Einschränken des Zugriffs von Delta Sharing-Empfangenden mithilfe von IP-Zugriffslisten (offene Freigabe).

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DESCRIBE RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um den Aktivierungslink für den neuen Empfänger abzurufen.

Wenn der Empfänger die Anmeldeinformationsdatei bereits heruntergeladen hat, wird der Aktivierungslink nicht zurückgegeben oder angezeigt.

Erforderliche Berechtigungen: Metastore-Administrator, Benutzer mit den USE RECIPIENT-Berechtigungen oder Empfängerobjektbesitzer.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Suchen Sie auf der Registerkarte Empfänger den Empfänger, und wählen Sie ihn aus.
  4. Kopieren Sie auf der Seite mit den Empfängerdetails den Aktivierungslink.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.

DESCRIBE RECIPIENT <recipient-name>;

Die Ausgabe enthält den Aktivierungslink (activation_link).

CLI

Führen Sie über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus:

databricks unity-catalog recipients get --name <recipient-name>

Die Ausgabe enthält die Aktivierungs-URL (activation_url).

Gewähren von Zugriff auf eine Freigabe für den Empfänger

Nachdem Sie den Empfänger erstellt und Freigaben erstellt haben, können Sie dem Empfänger Zugriff auf diese Freigaben gewähren.

Wenn Sie Empfängern Zugriff auf eine Freigabe gewähren möchten, können Sie hierzu den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl GRANT ON SHARE in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Eine der folgenden Berechtigungen:

  • Metastore-Administrator.
  • Delegierte Berechtigungen oder Besitz sowohl für die Freigabe als auch für die Empfängerobjekte ((USE SHARE + SET SHARE PERMISSION) oder Besitzer der Freigabe) UND (USE RECIPIENT oder Besitzer des Empfängers).

Anweisungen finden Sie unter Verwalten des Zugriffs auf Delta Sharing-Datenfreigaben (für Anbieter).

Senden der Verbindungsinformationen an den Empfänger

Sie müssen dem Empfänger mitteilen, wie er auf die für ihn freigegebenen Daten zugreifen kann. Welche Informationen Sie an den Empfänger weitergeben, hängt davon ab, ob Sie die Databricks-zu-Databricks-Freigabe oder die offene Freigabe verwenden:

  • Databricks-zu-Databricks-Freigabe: Senden Sie einen Link zu einer Anleitung für den Zugriff auf die freigegebenen Daten.

    Im Metastore des Empfängers wird automatisch ein Anbieterobjekt erstellt, das verfügbare Freigaben auflistet. Empfänger müssen sich lediglich die Freigaben ansehen und die gewünschten Freigaben auswählen. Weitere Informationen finden Sie unter Lesen von per Databricks-zu-Databricks Delta Sharing freigegebenen Daten (für Empfänger).

  • Offene Freigabe: Verwenden Sie einen sicheren Kanal, um den Aktivierungslink und einen Link zu einer Verwendungsanleitung weiterzugeben.

    Die Anmeldeinformationsdatei kann nur einmal heruntergeladen werden. Empfänger sollten die heruntergeladenen Anmeldeinformationen als Geheimnis behandeln und dürfen sie nicht außerhalb ihrer Organisation freigeben. Wenn Sie vermuten, dass Anmeldeinformationen nicht sicher behandelt wurden, können Sie jederzeit die Anmeldeinformationen eines Empfängers rotieren. Weitere Informationen zur Verwaltung von Anmeldeinformationen, um die Sicherheit des Empfängerzugriffs zu gewährleisten, finden Sie unter Sicherheitsüberlegungen für Token.

Anzeigen von Empfängern

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW RECIPIENTS in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um eine Empfängerliste anzuzeigen.

Erforderliche Berechtigungen: Sie müssen Metastore-Administrator sein oder über die USE RECIPIENT-Berechtigung, um alle Empfänger im Metastore anzuzeigen, verfügen. Andere Benutzer haben nur auf die Empfänger Zugriff, die sie besitzen.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Öffnen Sie die Registerkarte Empfänger.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus. Optional können Sie <pattern> durch ein LIKE-Prädikat ersetzen.

SHOW RECIPIENTS [LIKE <pattern>];

CLI

Führen Sie über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus:

databricks unity-catalog recipients list

Anzeigen von Empfängerdetails

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DESCRIBE RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um Details zu einem Empfänger anzuzeigen.

Erforderliche Berechtigungen: Metastore-Administrator, Benutzer mit den USE RECIPIENT-Berechtigungen oder Empfängerobjektbesitzer.

Zu den Details gehören:

  • Ersteller, Erstellungszeitstempel, Kommentare und Authentifizierungstyp des Empfängers (TOKEN oder DATABRICKS).
  • Wenn der Empfänger die offene Freigabe verwendet: Tokengültigkeitsdauer, Aktivierungslink, Aktivierungsstatus (Angabe, ob die Anmeldeinformationen heruntergeladen wurden) und IP-Zugriffslisten, sofern zugewiesen.
  • Wenn der Empfänger die Databricks-zu-Databricks-Freigabe verwendet: die Cloud, Region und Metastore-ID des Unity Catalog-Metastores des Empfängers sowie der Aktivierungsstatus.
  • Empfängereigenschaften, einschließlich benutzerdefinierter Eigenschaften. Siehe Verwalten von Empfängereigenschaften.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Suchen Sie auf der Registerkarte Empfänger den Empfänger, und wählen Sie ihn aus.
  4. Sehen Sie sich die Empfängerdetails auf der Registerkarte Details an.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.

DESCRIBE RECIPIENT <recipient-name>;

CLI

Führen Sie über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus:

databricks unity-catalog recipients get --name <recipient-name>

Anzeigen der Freigabeberechtigungen eines Empfängers

Zum Anzeigen einer Liste der Freigaben, auf die ein Empfänger zugreifen darf, können Sie den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl SHOW GRANTS TO RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Metastore-Administrator, Benutzer mit den USE RECIPIENT-Berechtigungen oder Empfängerobjektbesitzer.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Suchen Sie auf der Registerkarte Empfänger den Empfänger, und wählen Sie ihn aus.
  4. Navigieren Sie zur Registerkarte Freigaben, um die Liste mit den Freigaben anzuzeigen, die für den Empfänger freigegeben wurden.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.

SHOW GRANTS TO RECIPIENT <recipient-name>;

CLI

Führen Sie über die Databricks CLI den folgenden Befehl aus.

databricks unity-catalog recipients list-permissions --name <recipient-name>

Aktualisieren eines Empfängers

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl ALTER RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um einen Empfänger zu aktualisieren.

Zu den Eigenschaften, die Sie aktualisieren können, zählen Empfängername, Besitzer, Kommentar und benutzerdefinierte Eigenschaften. Der Empfängername kann nicht über den Katalog-Explorer aktualisiert werden.

Erforderliche Berechtigungen: Sie müssen ein Metastore-Administrator oder Besitzer des Empfängerobjekts sein, um den Besitzer aktualisieren zu können. Zum Aktualisieren des Namens müssen Sie ein Metastore-Administrator (oder ein Benutzer mit der Berechtigung CREATE_RECIPIENT) und der Besitzer sein. Zum Aktualisieren des Kommentars oder der benutzerdefinierten Eigenschaften müssen Sie der Besitzer sein.

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Suchen Sie auf der Registerkarte Empfänger den Empfänger, und wählen Sie ihn aus.
  4. Auf der Detailseite können Sie:
    • den Besitzer aktualisieren.

    • einen Kommentar bearbeiten oder hinzufügen.

    • benutzerdefinierte Empfängereigenschaften bearbeiten, entfernen oder hinzufügen.

      Klicken Sie auf Eigenschaften bearbeiten. Klicken Sie zum Hinzufügen einer Eigenschaft auf + Eigenschaft hinzufügen, und geben Sie einen Eigenschaftennamen (Schlüssel) und Wert ein. Details finden Sie unter Verwalten von Empfängereigenschaften.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor einen oder mehrere der folgenden Befehle aus:

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> [, ...] )

Weitere Informationen zu Eigenschaften finden Sie unter Verwalten von Empfängereigenschaften.

CLI

Erstellen Sie eine JSON-Datei, die eine Aktualisierung des Empfängernamens, des Kommentars, des Besitzers, der IP-Zugriffsliste oder von benutzerdefinierten Eigenschaften enthält.

{
    "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"
    }
}

Führen Sie dann über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus. Ersetzen Sie <recipient-name> durch den aktuellen Empfängernamen und update-recipient-settings.json durch den Dateinamen der JSON-Datei.

databricks unity-catalog recipients update --name <recipient-name> --json-file update-recipient-settings.json

Weitere Informationen zu Eigenschaften finden Sie unter Verwalten von Empfängereigenschaften.

Verwalten von Empfängertoken (offene Freigabe)

Wenn Sie Daten mithilfe der offenen Freigabe für einen Empfänger freigeben, müssen Sie möglicherweise das Token dieses Empfängers rotieren.

In folgenden Szenarien müssen Sie die Anmeldeinformationen eines Empfängers rotieren und einen neuen Aktivierungslink generieren:

  • Das vorhandene Empfängertoken läuft ab.
  • Ein Empfänger hat keinen Zugang zur Aktivierungs-URL, oder die Aktivierungs-URL ist kompromittiert.
  • Die Anmeldeinformationen sind beschädigt, verloren gegangen oder kompromittiert, nachdem sie von einem Empfänger heruntergeladen wurden.
  • Die Gültigkeitsdauer des Empfängertokens für einen Metastore wurde geändert. Weitere Informationen finden Sie unter Ändern der Gültigkeitsdauer des Empfängertokens.

Sicherheitsüberlegungen für Token

Ein Empfänger kann immer nur über maximal zwei Token gleichzeitig verfügen: ein aktives und ein rotiertes Token. Bis das rotierte Token abläuft, führt der Versuch, das Token erneut zu rotieren, zu einem Fehler.

Wenn Sie das Token eines Empfängers rotieren, können Sie optional mithilfe von --existing-token-expire-in-seconds festlegen, nach wie vielen Sekunden das vorhandene Empfängertoken ablaufen soll. Wenn Sie den Wert auf 0 festlegen, läuft das vorhandene Empfängertoken sofort ab.

Databricks empfiehlt, dass Sie --existing-token-expire-in-seconds auf einen relativ kurzen Zeitraum festlegen, in dem die Empfängerorganisation auf die neue Aktivierungs-URL zugreifen kann. Auf diese Weise wird auch die Zeitspanne verringert, in der der Empfänger über zwei aktive Token verfügt. Wenn Sie vermuten, dass das Empfängertoken kompromittiert ist, empfiehlt Databricks, dass Sie den sofortigen Ablauf des Empfängertokens erzwingen.

Wenn nie auf eine vorhandene Aktivierungs-URL eines Empfängers zugegriffen wurde und der Empfänger nicht rotiert wurde, führt das Rotieren des Empfängers dazu, dass die vorhandene Aktivierungs-URL ungültig wird und durch eine neue ersetzt wird.

Wenn alle Empfängertoken abgelaufen sind, ersetzt das Rotieren des Empfängers die vorhandene Aktivierungs-URL durch eine neue. Databricks empfiehlt, einen Empfänger, dessen Token abgelaufen ist, sofort zu rotieren oder zu löschen.

Wenn der Aktivierungslink eines Empfängers versehentlich an die falsche Person oder über einen unsicheren Kanal gesendet wird, empfiehlt Databricks Folgendes:

  1. Widerrufen Sie die Zugriffsberechtigung des Empfängers auf die Freigabe.
  2. Rotieren Sie den Empfänger, und legen Sie --existing-token-expire-in-seconds auf 0 fest.
  3. Teilen Sie den neuen Aktivierungslink über einen sicheren Kanal mit dem dafür vorgesehenen Empfänger.
  4. Nachdem auf die Aktivierungs-URL zugegriffen wurde, gewähren Sie dem Empfänger erneut Zugriff auf die Freigabe.

In Extremsituationen können Sie den Empfänger löschen und neu erstellen, anstatt das Token des Empfängers zu rotieren.

Drehen des Empfängertokens

Sie können den Katalog-Explorer oder die Databricks Unity Catalog-Befehlszeilenschnittstelle verwenden, um das Token eines Empfängers zu rotieren.

Erforderliche Berechtigungen: Besitzer des Empfängerobjekts

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Suchen Sie auf der Registerkarte Empfänger den Empfänger, und wählen Sie ihn aus.
  4. Klicken Sie auf der Registerkarte Details unter Tokenablauf auf Rotieren.
  5. Legen Sie im Dialogfeld Token rotieren fest, ob das Token sofort oder nach einem bestimmten Zeitraum ablaufen soll. Informationen zum Ablaufen vorhandener Token finden Sie unter Sicherheitsüberlegungen für Token.
  6. Klicken Sie auf Rotieren.
  7. Kopieren Sie auf der Registerkarte Details den neuen Aktivierungslink, und geben Sie ihn über einen sicheren Kanal an den Empfänger weiter. Weitere Informationen finden Sie unter Schritt 2: Abrufen des Aktivierungslinks.

CLI

  1. Führen Sie den folgenden Befehl mithilfe der Unity Catalog-CLI aus. Die Argumente in Klammern sind optional. Ersetzen Sie folgende Platzhalterwerte:

    • <recipient-name>: Name des Empfängers
    • <expiration-seconds>: Optional. Anzahl von Sekunden, bis das vorhandene Empfängertoken ablaufen soll. Während dieses Zeitraums funktioniert das vorhandene Token weiterhin. Der Wert 0 bedeutet, dass das vorhandene Token sofort abläuft. Informationen zum Ablaufen vorhandener Token finden Sie unter Sicherheitsüberlegungen für Token.
    databricks unity-catalog rotate-recipient-token \
      --name <recipient-name> \
      [--existing-token-expire-in-seconds <expiration-seconds>]
    
  2. Rufen Sie den neuen Aktivierungslink des Empfängers ab, und geben Sie ihn über einen sicheren Kanal an den Empfänger weiter. Weitere Informationen finden Sie unter Schritt 2: Abrufen des Aktivierungslinks.

Ändern der Gültigkeitsdauer des Empfängertokens

Die Standardgültigkeitsdauer des Empfängertokens für Ihren Unity Catalog-Metastore kann bei Bedarf über den Katalog-Explorer oder über die Databricks Unity Catalog-Befehlszeilenschnittstelle geändert werden.

Hinweis

Wenn Sie die Standardgültigkeitsdauer eines Empfängertokens für einen Metastore ändern, wird die Gültigkeitsdauer des Empfängertokens für bereits vorhandene Empfänger nicht automatisch aktualisiert. Um die neue Tokengültigkeitsdauer auf einen bestimmten Empfänger anzuwenden, müssen Sie dessen Token rotieren. Weitere Informationen finden Sie unter Verwalten von Empfängertoken (offene Freigabe).

Erforderliche Berechtigungen: Kontoadministrator.

Katalog-Explorer

  1. Melden Sie sich bei der Kontokonsole an.
  2. Klicken Sie in der Seitenleiste auf KatalogsymbolKatalog.
  3. Klicken Sie auf den Namen des Metastores.
  4. Aktivieren Sie Ablaufdatum festlegen.
  5. Geben Sie die Anzahl der Sekunden, Minuten, Stunden oder Tage ein, und wählen Sie eine Maßeinheit aus.
  6. Klicken Sie auf Aktivieren.

Wenn Sie Ablaufdatum festlegen deaktivieren, laufen Empfängertoken nicht ab. Databricks empfiehlt, Token so zu konfigurieren, dass sie ablaufen.

CLI

Erstellen Sie eine JSON-Datei, die eine Aktualisierung des Metastore-Werts delta_sharing_recipient_token_lifetime_in_seconds enthält. Wenn Sie diesen Wert auf 0 festlegen, laufen Empfängertoken nicht ab. Databricks empfiehlt, Token so zu konfigurieren, dass sie ablaufen.

{
  "delta_sharing_recipient_token_lifetime_in_seconds": 86400,
}

Führen Sie dann über die Databricks-Befehlszeilenschnittstelle den folgenden Befehl aus. Ersetzen Sie 12a345b6-7890-1cd2-3456-e789f0a12b34 durch die Metastore-UUID und update-metastore.json durch den Dateinamen der JSON-Datei.

databricks unity-catalog metastores update --id 12a345b6-7890-1cd2-3456-e789f0a12b34 \
  --json-file update-metastore.json

(Optional) Einschränken des Empfängerzugriffs mithilfe von Zugriffslisten

Beim Konfigurieren des Empfängerobjekts kann der Empfängerzugriff auf eine eingeschränkte Gruppe von IP-Adressen beschränkt werden. Weitere Informationen finden Sie unter Einschränken des Zugriffs von Delta Sharing-Empfangenden mithilfe von IP-Zugriffslisten (offene Freigabe).

Verwalten von Empfängereigenschaften

Empfängerobjekte enthalten vordefinierte Eigenschaften, mit denen Sie den Zugriff auf die Datenfreigabe verfeinern können. Sie können sie beispielsweise verwenden, um folgendes zu tun:

  • Geben Sie unterschiedliche Tabellenpartitionen für unterschiedliche Empfänger frei, sodass Sie dieselben Freigaben für mehrere Empfänger verwenden können, und trotzdem Datengrenzen zwischen ihnen beibehalten werden.
  • Geben Sie dynamische Ansichten frei, die den Empfängerzugriff auf Tabellendaten auf Zeilen- oder Spaltenebene auf der Grundlage von Empfängereigenschaften einschränken.

Sie können auch benutzerdefinierte Eigenschaften erstellen.

Die vordefinierten Eigenschaften beginnen mit „databricks.“ und enthalten Folgendes:

  • databricks.accountId: Das Azure Databricks-Konto, zu dem ein Datenempfänger gehört (nur Databricks-zu-Databricks-Freigabe).
  • databricks.metastoreId: Der Unity Catalog-Metastore, zu dem ein Datenempfänger gehört (nur Databricks-zu-Databricks-Freigabe).
  • databricks.name: Der Name des Datenempfängers.

Möglicherweise nützliche benutzerdefinierte Eigenschaften sind z. B country. Wenn Sie beispielsweise die benutzerdefinierte Eigenschaft „'country' = 'us'“ an einen Empfänger anfügen, können Sie Tabellendaten nach Land partitionieren und nur Zeilen mit US-Daten für die Empfänger freigeben, denen diese Eigenschaft zugewiesen ist. Sie können auch eine dynamische Ansicht freigeben, die den Zeilen- oder Spaltenzugriff basierend auf den Empfängereigenschaften einschränkt. Ausführlichere Beispiele finden Sie unter Verwenden von Empfängereigenschaften zum Ausführen der Partitionsfilterung und Hinzufügen dynamischer Ansichten zu einer Freigabe zum Filtern von Zeilen und Spalten.

Anforderungen

Empfängereigenschaften werden in Databricks Runtime 12.2 und höher unterstützt.

Hinzufügen von Eigenschaften beim Erstellen oder Aktualisieren eines Empfängers

Sie können Eigenschaften hinzufügen, wenn Sie einen Empfänger erstellen oder sie für einen vorhandenen Empfänger aktualisieren. Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder SQL-Befehle in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden.

Erforderliche Berechtigungen: Metastore-Administrator oder Benutzer mit der CREATE RECIPIENT-Berechtigung für den Unity Catalog-Metastore.

Katalog-Explorer

Wenn Sie einen Empfänger mithilfe des Katalog-Explorers erstellen oder aktualisieren, fügen Sie benutzerdefinierte Eigenschaften wie folgt hinzu oder aktualisieren sie:

  1. Wechseln Sie zur Seite „Empfängerdetails“.

    Wenn Sie einen neuen Empfänger erstellen, gelangen Sie auf diese Seite, nachdem Sie auf Erstellen geklickt haben. Wenn Sie einen vorhandenen Empfänger aktualisieren, wechseln Sie zu dieser Seite, indem Sie auf Delta-Freigaben > Von mir freigeben > Empfänger klicken und den Empfänger auswählen.

  2. Klicken Sie auf Eigenschaften bearbeiten > +Eigenschaft hinzufügen.

  3. Geben Sie einen Eigenschaftsnamen (Schlüssel) und einen Wert ein.

    Wenn Sie beispielsweise freigegebene Daten nach Land filtern und nur US-Daten für diesen Empfänger freigeben möchten, können Sie einen Schlüssel mit dem Namen „Land“ und mit dem Wert „US“ erstellen.

  4. Klicken Sie auf Speichern.

Sql

Um beim Erstellen eines Empfängers eine benutzerdefinierte Eigenschaft hinzuzufügen, führen Sie den folgenden Befehl in einem Notebook oder im Databricks SQL-Abfrage-Editor aus:

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> kann ein Zeichenfolgenliteral oder ein Bezeichner sein. <property-value> muss ein Zeichenfolgenliteral sein.

Beispiele:

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

Um benutzerdefinierte Eigenschaften für einen vorhandenen Empfänger hinzuzufügen, zu bearbeiten oder zu löschen, führen Sie einen der folgenden Befehle aus:

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

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

CLI

Um benutzerdefinierte Eigenschaften hinzuzufügen, wenn Sie einen Empfänger erstellen, führen Sie den folgenden Befehl mithilfe der Databricks-Befehlszeilenschnittstelle aus. Ersetzen Sie folgende Platzhalterwerte:

  • <recipient-name>: Name des Empfängers
  • <property-key> kann ein Zeichenfolgenliteral oder ein Bezeichner sein.
  • <property-value> muss ein Zeichenfolgenliteral sein.
databricks unity-catalog recipients create --name <recipient-name> --property <property-key>=<property-value>

Beispiele:

databricks unity-catalog recipients create --name acme --property country=us --property partner_id=001

Um benutzerdefinierte Eigenschaften für einen vorhandenen Empfänger hinzuzufügen oder zu bearbeiten, verwenden Sie update anstelle von create:

databricks unity-catalog recipients update --name acme --property country=us --property partner_id=001

Anzeigen von Empfängereigenschaften

Befolgen Sie zum Anzeigen der Empfängereigenschaften die Anweisungen unter Anzeigen von Empfängerdetails.

Löschen eines Empfängers

Sie können den Katalog-Explorer, die Databricks Unity Catalog-Befehlszeilenschnittstelle oder den SQL-Befehl DROP RECIPIENT in einem Azure Databricks-Notebook oder im Databricks SQL-Abfrage-Editor verwenden, um einen Empfänger zu löschen. Sie müssen der Besitzer des Empfängerobjekts sein, um den Empfänger löschen zu können.

Wenn Sie einen Empfänger löschen, können die durch den Empfänger dargestellten Benutzer nicht mehr auf die freigegebenen Daten zugreifen. Token, die von Empfängern in einem Szenario mit offener Freigabe verwendet werden, werden ungültig.

Erforderliche Berechtigungen: Besitzer des Empfängerobjekts

Katalog-Explorer

  1. Klicken Sie in Ihrem Azure Databricks-Arbeitsbereich auf Symbol „Katalog“Katalog.
  2. Erweitern Sie im linken Bereich das Menü Delta Sharing, und wählen Sie Von mir freigegeben aus.
  3. Suchen Sie auf der Registerkarte Empfänger den Empfänger, und wählen Sie ihn aus.
  4. Klicken Sie auf das Optionsmenü (auch Drei-Punkte-Menü), und wählen Sie Löschen aus.
  5. Klicken Sie im Bestätigungsdialogfeld auf Löschen.

Sql

Führen Sie in einem Notebook oder im Databricks SQL-Abfrage-Editor den folgenden Befehl aus.

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

CLI

Führen Sie über die Databricks-CLI den folgenden Befehl aus.

databricks unity-catalog recipients delete --name <recipient-name>