Udostępnij za pośrednictwem


Nawiązywanie połączenia z zewnętrznymi usługami w chmurze przy użyciu poświadczeń usługi wykazu aparatu Unity

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

W tym artykule opisano sposób używania poświadczeń usługi w wykazie aparatu Unity w celu nawiązania połączenia z zewnętrznymi usługami w chmurze. Obiekt poświadczeń usługi w wykazie aparatu Unity hermetyzuje długoterminowe poświadczenia chmury, które zapewniają dostęp do zewnętrznej usługi w chmurze, z którą użytkownicy muszą nawiązać połączenie z usługi Azure Databricks.

Zobacz też:

Zanim rozpoczniesz

Aby można było użyć poświadczeń usługi do nawiązania połączenia z zewnętrzną usługą w chmurze, musisz mieć następujące elementy:

  • Obszar roboczy usługi Azure Databricks, który jest włączony dla wykazu aparatu Unity.
  • Zasób obliczeniowy, który znajduje się w środowisku Databricks Runtime 15.4 LTS lub nowszym. Magazyny SQL nie są obsługiwane.
  • Poświadczenie usługi utworzone w magazynie metadanych wykazu aparatu Unity, które zapewnia dostęp do usługi w chmurze.
  • Uprawnienie ACCESS do poświadczeń usługi lub własności poświadczeń usługi.

Używanie poświadczeń usługi w kodzie

Ta sekcja zawiera przykład użycia poświadczeń usługi w notesie. Tylko język Python jest obsługiwany w publicznej wersji zapoznawczej. Zamień wartości symboli zastępczych.

Przykład: konfigurowanie klienta zestawu Azure SDK do używania określonego poświadczenia usługi

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)

Określanie domyślnego poświadczenia usługi dla zasobu obliczeniowego

Opcjonalnie można określić domyślne poświadczenia usługi dla klastra obliczeniowego typu all-purpose lub jobs, ustawiając zmienną środowiskową. Domyślnie zestaw SDK używa tego poświadczenia usługi, jeśli nie podano uwierzytelniania. Użytkownicy nadal wymagają ACCESS poświadczeń usługi w celu nawiązania połączenia z zewnętrzną usługą w chmurze. Usługa Databricks nie zaleca takiego podejścia, ponieważ sprawia, że kod jest mniej przenośny niż nazewnictwo poświadczeń usługi w kodzie.

Uwaga

Bezserwerowe obliczenia i magazyny SQL nie obsługują zmiennych środowiskowych, dlatego nie obsługują domyślnych poświadczeń usługi.

  1. Otwórz stronę edycji klastra.

    Zobacz Zarządzanie obliczeniami.

  2. Kliknij pozycję Opcje zaawansowane w dolnej części strony i przejdź do karty Spark .

  3. Dodaj następujący wpis w zmienne środowiskowe, zastępując ciąg <your-service-credential>:

    DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME=<your-service-credential>

Poniższy przykładowy kod nie określa poświadczeń usługi. Zamiast tego używa poświadczeń usługi określonych w zmiennej środowiskowej DATABRICKS_DEFAULT_SERVICE_CREDENTIAL_NAME :

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)

Porównaj z przykładem w przykładzie: skonfiguruj klienta zestawu Azure SDK tak, aby używał określonego poświadczenia usługi, który nie importuje DefaultAzureCredential i dodaje specyfikację poświadczeń:

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