Freigeben über


Verwenden von Unity Catalog-Dienstanmeldeinformationen zum Herstellen einer Verbindung mit externen Clouddiensten

Wichtig

Dieses Feature befindet sich in der Public Preview.

In diesem Artikel wird beschrieben, wie Sie eine Dienstanmeldeinformationen im Unity-Katalog verwenden, um eine Verbindung mit externen Clouddiensten herzustellen. Ein Dienstanmeldeinformationsobjekt im Unity-Katalog kapselt eine langfristige Cloudanmeldeinformationen, die Zugriff auf einen externen Clouddienst bietet, mit dem Benutzer eine Verbindung mit Azure Databricks herstellen müssen.

Weitere Informationen:

Voraussetzungen

Bevor Sie eine Dienstanmeldeinformation verwenden können, um eine Verbindung mit einem externen Clouddienst herzustellen, müssen Sie folgendes haben:

  • Ein Azure Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist.
  • Eine Computeressource, die sich auf Databricks Runtime 15.4 LTS oder höher befindet. SQL-Lagerhäuser werden nicht unterstützt.
  • Eine in Ihrem Unity-Katalog-Metastore erstellte Dienstanmeldeinformationen, die Zugriff auf den Clouddienst gewähren.
  • Die ACCESS Berechtigung für die Dienstanmeldeinformationen oder den Besitz der Dienstanmeldeinformationen.

Verwenden von Dienstanmeldeinformationen in Ihrem Code

Dieser Abschnitt enthält ein Beispiel für die Verwendung von Dienstanmeldeinformationen in einem Notizbuch. Nur Python wird während der öffentlichen Vorschau unterstützt. Ersetzen Sie Platzhalterwerte.

Beispiel: Konfigurieren eines Azure SDK-Clients für die Verwendung bestimmter Dienstanmeldeinformationen

from azure.keyvault.secrets import SecretClient # example Azure SDK client

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')
vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

Angeben einer Standarddienstanmeldeinformation für eine Computeressource

Sie können optional eine Standarddienstanmeldeinformation für einen Allzweck- oder Auftrags-Computecluster angeben, indem Sie eine Umgebungsvariable festlegen. Standardmäßig verwendet das SDK diese Dienstanmeldeinformationen, wenn keine Authentifizierung bereitgestellt wird. Benutzer benötigen ACCESS diese Dienstanmeldeinformationen weiterhin, um eine Verbindung mit dem externen Clouddienst herzustellen. Databricks empfiehlt diesen Ansatz nicht, da ihr Code weniger portabel ist als das Benennen der Dienstanmeldeinformationen in Ihrem Code.

Hinweis

Serverlose Compute- und SQL-Lagerhäuser unterstützen keine Umgebungsvariablen und unterstützen daher keine Standarddienstanmeldeinformationen.

  1. Öffnen Sie die Bearbeitungsseite für den Cluster.

    Siehe "Compute verwalten".

  2. Klicken Sie unten auf der Seite auf "Erweiterte Optionen", und wechseln Sie zur Registerkarte "Spark".

  3. Fügen Sie den folgenden Eintrag in Umgebungsvariablen hinzu, indem Sie Folgendes ersetzen <your-service-credential>:

    DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>

Im folgenden Codebeispiel wird keine Dienstanmeldeinformationen angegeben. Stattdessen werden die in der Umgebungsvariablen DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME angegebenen Dienstanmeldeinformationen verwendet:

from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient

vault_url = "https://your-keyvault-name.vault.azure.net/"
client = SecretClient(vault_url=vault_url, credential=credential)

Vergleichen Sie das Beispiel in Beispiel: Konfigurieren Sie einen Azure SDK-Client für die Verwendung einer bestimmten Dienstanmeldeinformationen, die nicht importiert DefaultAzureCredential und die Anmeldeinformationsspezifikation hinzugefügt wird:

credential = dbutils.credentials.getServiceCredentialsProvider('your-service-credential')