Erstellen von Speicheranmeldeinformationen zum Herstellen einer Verbindung mit Azure Data Lake Storage Gen2

In diesem Artikel wird beschrieben, wie Sie Speicheranmeldeinformationen in Unity Catalog erstellen, um eine Verbindung mit Azure Data Lake Storage Gen2 herzustellen.

Um den Zugriff auf den zugrunde liegenden Cloudspeicher zu verwalten, der Tabellen und Volumes enthält, verwendet Unity Catalog die folgenden Objekttypen:

  • Speicheranmeldeinformationen kapseln langfristige Cloudanmeldeinformationen, die Zugriff auf Cloudspeicher ermöglichen.
  • Externe Speicherorte enthalten einen Verweis auf Speicheranmeldeinformationen und einen Cloudspeicherpfad.

Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Cloudspeicher mithilfe des Unity-Katalogs.

Hinweis

Wenn Sie den Unity-Katalog verwenden möchten, um den Zugriff auf einen externen Dienst anstelle von Cloudspeicher zu steuern, lesen Sie " Verwalten des Zugriffs auf externe Clouddienste mithilfe von Dienstanmeldeinformationen".

Unity Catalog unterstützt zwei Cloudspeicheroptionen für Azure Databricks: Azure Data Lake Storage Gen2-Container und Cloudflare R2-Buckets. Cloudflare R2 ist in erster Linie für Delta Sharing-Anwendungsfälle vorgesehen, in denen Sie Datenausgangsgebühren vermeiden möchten. Azure Data Lake Storage Gen2 eignet sich für die meisten anderen Anwendungsfälle. Dieser Artikel konzentriert sich auf das Erstellen von Speicheranmeldeinformationen für Azure Data Lake Storage Gen2-Container. Informationen zu Cloudflare R2 finden Sie unter Erstellen von Speicheranmeldeinformationen zum Herstellen einer Verbindung mit Cloudflare R2.

Um eine Speicheranmeldeinformation für den Zugriff auf einen Azure Data Lake Storage Gen2-Container zu erstellen, erstellen Sie einen Azure Databricks-Zugriffsconnector, der auf eine von Azure verwaltete Identität verweist und ihm Berechtigungen für den Speichercontainer zuweist. Anschließend verweisen Sie in der Definition der Speicheranmeldeinformationen auf diesen Zugriffsconnector.

Anforderungen

In Azure Databricks:

  • Azure Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist.

  • CREATE STORAGE CREDENTIAL-Berechtigungen für den Unity Catalog-Metastore, der an den Arbeitsbereich angefügt ist. Kontoadministratoren und Metastoreadministratoren verfügen standardmäßig über diese Berechtigung.

    Hinweis

    Dienstvorgesetzte müssen über die Rolle Kontoadministrator verfügen, um eine Speicherberechtigung zu erstellen, die eine verwaltete Identität verwendet. Sie können CREATE STORAGE CREDENTIAL nicht an einen Dienstprinzipal delegieren. Dies gilt sowohl für Azure Databricks-Dienstprinzipale als auch für Microsoft Entra ID-Dienstprinzipale.

In Ihrem Azure-Mandanten:

  • Ein Azure Data Lake Storage Gen2-Container, der sich in derselben Region befindet wie der Arbeitsbereich, den Sie zum Zugriff auf die Daten verwenden möchten.

    Das Azure Data Lake Storage Gen2-Speicherkonto muss über einen hierarchischem Namespace verfügen.

  • Mitwirkender oder Besitzer einer Azure-Ressourcengruppe.

  • Besitzer oder Benutzer mit der Azure RBAC-Rolle „Benutzerzugriffsadministrator“ für das Speicherkonto.

Erstellen von Speicheranmeldeinformationen mithilfe einer verwalteten Identität

Sie können entweder eine verwaltete Azure-Identität oder einen Dienstprinzipal als Identität verwenden, die den Zugriff auf Ihren Speichercontainer autorisiert. Verwaltete Identitäten werden dringend empfohlen. Sie haben den Vorteil, dass Unity Catalog auf durch Netzwerkregeln geschützte Speicherkonten zugreifen kann, was mit Dienstprinzipalen nicht möglich ist, und es entfällt die Notwendigkeit, Geheimnisse zu verwalten und weiterzugeben. Wenn Sie einen Dienstprinzipal verwenden möchten, lesen Sie Erstellen von verwaltetem Speicher in Unity Catalog mithilfe eines Dienstprinzipals (Legacy).

  1. Erstellen Sie im Azure-Portal einen Azure Databricks Access Connector und weisen Sie ihm Rechte für den Speichercontainer zu, auf den Sie zugreifen möchten, indem Sie die Anweisungen in Konfigurieren einer verwalteten Identität für Unity Catalog befolgen.

    Ein Azure Databricks Access Connector ist eine Azure-Ressource der ersten Stunde, mit der Sie verwaltete Identitäten mit einem Azure Databricks-Konto verbinden können. Nur Benutzer*innen mit der Rolle Mitwirkender oder höher für die Zugriffsconnectorressource in Azure können die Speicheranmeldeinformationen hinzufügen.

    Notieren Sie sich die Ressourcen-ID des Zugriffsconnectors.

  2. Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich mit Unity Catalog-Unterstützung als Benutzer*in an, der/die über die Berechtigung CREATE STORAGE CREDENTIAL verfügt.

    Die Rollen für Metastore-Administrator*in und Kontoadministrator*in umfassen diese Berechtigungen. Wenn Sie als Dienstprinzipal angemeldet sind (unabhängig davon, ob eine Microsoft Entra-ID oder ein systemeigener Azure Databricks-Dienstprinzipal), müssen Sie über die Kontoadministratorrolle verfügen, um eine Speicheranmeldeinformationen zu erstellen, die eine verwaltete Identität verwenden.

  3. Klicken Sie auf Katalogsymbol Katalog.

  4. Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", wechseln Sie zur Registerkarte "Anmeldeinformationen", und wählen Sie "Anmeldeinformationen erstellen" aus.

  5. Wählen Sie Speicheranmeldeinformationen aus.

  6. Wählen Sie unter Credential Type (Anmeldeinformationstyp) die Option Azure Managed Identity (Von Azure verwaltete Identität) aus.

  7. Geben Sie einen Namen für die Anmeldeinformationen ein, und geben Sie die Ressourcen-ID des Zugriffsconnectors im folgenden Format ein:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  8. (Optional) Wenn Sie den Zugriffsconnector mithilfe einer benutzerseitig zugewiesenen verwalteten Identität erstellt haben, geben Sie die Ressourcen-ID der verwalteten Identität im Feld Benutzerseitig zugewiesene verwaltete Identitäts-ID im folgenden Format ein:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  9. (Optional) Wenn Sie möchten, dass Benutzer*innen schreibgeschützten Zugriff auf die externen Speicherorte haben, die diese Speicheranmeldeinformationen verwenden, wählen Sie Schreibgeschützt aus. Weitere Informationen finden Sie unter Markieren von Speicheranmeldeinformationen als schreibgeschützt.

  10. Klicken Sie auf Erstellen.

  11. (Optional) Binden von Speicheranmeldeinformationen an bestimmte Arbeitsbereiche.

    Standardmäßig kann jeder privilegierte Benutzer die Speicheranmeldeinformationen in jedem Arbeitsbereich verwenden, der an den Metastore angefügt ist. Wenn Sie den Zugriff nur aus bestimmten Arbeitsbereichen zulassen möchten, wechseln Sie zur Registerkarte Arbeitsbereiche, und weisen Sie Arbeitsbereiche zu. Siehe (Optional) Zuweisen von Speicheranmeldeinformationen zu bestimmten Arbeitsbereichen.

  12. Erstellen Sie einen externen Speicherort, der auf diese Speicheranmeldeinformationen verweist.

(Optional) Zuweisen von Speicheranmeldeinformationen zu bestimmten Arbeitsbereichen

Wichtig

Dieses Feature befindet sich in der Public Preview.

Standardmäßig kann auf Anmeldeinformationen aus allen Arbeitsbereichen im Metastore zugegriffen werden. Dies bedeutet: Wenn Benutzer*innen eine Berechtigung (z. B. CREATE EXTERNAL LOCATION) für diese Speicheranmeldeinformationen gewährt wurde, können sie diese Berechtigung von jedem Arbeitsbereich ausüben, der dem Metastore zugeordnet ist. Wenn Sie Arbeitsbereiche verwenden, um den Benutzerdatenzugriff zu isolieren, sollten Sie den Zugriff auf Speicheranmeldeinformationen nur aus bestimmten Arbeitsbereichen zulassen. Diese Funktion wird als Arbeitsbereichsbindung oder Speicheranmeldeinformationsisolation bezeichnet.

Ein typischer Anwendungsfall zum Binden von Speicheranmeldeinformationen an bestimmte Arbeitsbereiche ist das Szenario, in dem ein*e Cloudadministrator*in Speicheranmeldeinformationen mithilfe von Anmeldeinformationen für ein Produktionscloudkonto konfiguriert, und Sie möchten sicherstellen, dass Azure Databricks-Benutzer*innen diese Anmeldeinformationen verwenden, um externe Speicherorte nur im Produktionsarbeitsbereich zu erstellen.

Weitere Informationen zur Arbeitsbereichsbindung finden Sie unter (Optional) Zuweisen eines externen Speicherorts zu bestimmten Arbeitsbereichen sowie unter Einschränken des Katalogzugriffs auf bestimmte Arbeitsbereiche.

Hinweis

Auf Arbeitsbereichsbindungen wird verwiesen, wenn Berechtigungen für Speicheranmeldeinformationen ausgeübt werden. Wenn Benutzer*innen beispielsweise einen externen Speicherort mithilfe von Speicheranmeldeinformationen erstellt, wird die Arbeitsbereichsbindung für die Speicheranmeldeinformationen nur überprüft, wenn der externe Speicherort erstellt wird. Nachdem der externe Speicherort erstellt wurde, funktioniert er unabhängig von den Arbeitsbereichsbindungen, die für die Speicheranmeldeinformationen konfiguriert sind.

Binden von Speicheranmeldeinformationen an einen oder mehrere Arbeitsbereiche

Um Speicheranmeldeinformationen zu bestimmten Arbeitsbereichen zuzuweisen, können Sie den Katalog-Explorer oder die Databricks CLI verwenden.

Erforderliche Berechtigungen: Metastore-Administrator oder Speicheranmeldeinformationsbesitzer.

Hinweis

Metastore-Administrator*innen können alle Speicheranmeldeinformationen in einem Metastore mithilfe des Katalog-Explorers anzeigen. Besitzer*innen von Speicheranmeldeinformationen können alle Speicheranmeldeinformationen sehen, die sie in einem Metastore besitzen – unabhängig davon, ob die Speicheranmeldeinformationen dem aktuellen Arbeitsbereich zugewiesen sind. Speicheranmeldeinformationen, die dem Arbeitsbereich nicht zugewiesen sind, werden ausgegraut angezeigt.

Katalog-Explorer

  1. Melden Sie sich bei einem Arbeitsbereich an, der mit dem Metastore verknüpft ist.

  2. Klicken Sie auf der Seitenleiste auf Katalogsymbol Katalog.

  3. Klicken Sie auf der Seite "Schnellzugriff" auf die Schaltfläche "Externe Daten>", und wechseln Sie zur Registerkarte "Anmeldeinformationen".

  4. Wählen Sie die Speicheranmeldeinformationen aus, und wechseln Sie zur Registerkarte Arbeitsbereiche.

  5. Deaktivieren Sie auf der Registerkarte Arbeitsbereiche das Kontrollkästchen Alle Arbeitsbereiche haben Zugriff.

    Wenn Ihre Speicheranmeldeinformationen bereits an einen oder mehrere Arbeitsbereiche gebunden sind, ist dieses Kontrollkästchen bereits deaktiviert.

  6. Klicken Sie auf Arbeitsbereichen zuordnen und geben Sie die Arbeitsbereiche ein, die Sie zuordnen möchten, oder suchen Sie diese.

Um den Zugriff zu widerrufen, wechseln Sie zur Registerkarte Arbeitsbereiche, wählen Sie den Arbeitsbereich aus, und klicken Sie auf Widerrufen. Um den Zugriff von allen Arbeitsbereichen zuzulassen, aktivieren Sie das Kontrollkästchen Alle Arbeitsbereiche haben Zugriff.

BEFEHLSZEILENSCHNITTSTELLE (CLI)

Es gibt zwei CLI-Befehlsgruppen für Databricks und zwei Schritte, die zum Zuweisen von Speicheranmeldeinformationen zu einem Arbeitsbereich erforderlich sind.

In den folgenden Beispielen, ersetzen Sie <profile-name> mit dem Namen Ihres Azure Databricks-Authentifizierungskonfigurationsprofils. Sie sollte den Wert eines persönlichen Zugriffstokens zusätzlich zu dem Arbeitsbereichsinstanznamen und der Arbeitsbereichs-ID des Arbeitsbereichs enthalten, in dem Sie das persönliche Zugriffstoken generiert haben. Siehe Authentifizieren mit persönlichen Azure Databricks-Zugriffstoken.

  1. Verwenden Sie den update-Befehl der storage-credentials-Befehlsgruppe, um isolation mode der Speicheranmeldeinformationen auf ISOLATED festzulegen:

    databricks storage-credentials update <my-storage-credential> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    Die isolation-mode-Standardeinstellung ist OPEN für alle Arbeitsbereiche, die an den Metastore angefügt sind.

  2. Verwenden Sie den update-bindings-Befehl der workspace-bindings-Befehlsgruppe, um die Arbeitsbereiche den Speicheranmeldeinformationen zuzuweisen:

    databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    Verwenden Sie die Eigenschaften "add" und "remove", um Arbeitsbereichsbindungen hinzuzufügen oder zu entfernen.

    Hinweis

    Schreibgeschützte Bindung (BINDING_TYPE_READ_ONLY) ist für Speicheranmeldeinformationen nicht verfügbar. Daher gibt es keinen Grund, binding_type für die Bindung der Speicheranmeldeinformationen festzulegen.

Verwenden Sie den get-bindings-Befehl der workspace-bindings-Befehlsgruppe, um alle Arbeitsbereichszuweisungen für bestimmte Speicheranmeldeinformationen aufzulisten:

databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>

Aufheben der Bindung von Speicheranmeldeinformationen von einem Arbeitsbereich

Anweisungen zum Widerrufen des Arbeitsbereichszugriffs auf Speicheranmeldeinformationen mithilfe des Katalog-Explorers oder der workspace-bindings CLI-Befehlsgruppe sind in Binden von Speicheranmeldeinformationen an einen oder mehrere Arbeitsbereiche enthalten.

Nächste Schritte

Sie können Speicheranmeldeinformationen anzeigen, aktualisieren, löschen und anderen Benutzern die Berechtigung zur Nutzung erteilen. Siehe Verwalten von Speicheranmeldeinformationen.

Sie können externe Speicherorte mithilfe von Speicheranmeldeinformationen definieren. Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks.