Udostępnij za pośrednictwem


Biblioteki dozwolonych i skrypty inicjowania w udostępnionych obliczeniach

W Databricks Runtime 13.3 LTS i nowszych można dodawać biblioteki i skrypty inicjowania do allowlist w Unity Catalog. Dzięki temu użytkownicy mogą korzystać z tych artefaktów na obliczeniach skonfigurowanych w trybie dostępu współdzielonego.

Możesz zezwolić na listę katalogów lub ścieżki plików, zanim ten katalog lub plik istnieje. Zobacz Przekazywanie plików do woluminu Unity Catalog.

Uwaga

Aby zmodyfikować listę dozwolonych, musisz być administratorem magazynu metadanych lub mieć MANAGE ALLOWLIST uprawnienia. Zobacz ZARZĄDZANIE LISTĄ DOZWOLONYCH.

Ważne

Biblioteki używane jako sterowniki JDBC lub niestandardowe źródła danych platformy Spark na współdzielonym zasobie obliczeniowym z obsługą Unity Catalog wymagają ANY FILE uprawnień.

Niektóre zainstalowane biblioteki przechowują dane wszystkich użytkowników w jednym typowym katalogu tymczasowym. Te biblioteki mogą naruszać izolację użytkowników.

Jak dodać elementy do listy dozwolonych

Elementy można dodawać do allowlist za pomocą Katalogu Explorer lub interfejsu API REST .

Aby otworzyć okno dialogowe dodawania elementów do listy dozwolonych w Eksploratorze wykazu, wykonaj następujące czynności:

  1. W obszarze roboczym usługi Azure Databricks kliknij ikonę katalogu Catalog.
  2. Kliknij Ikona koła zębatego , aby otworzyć interfejs użytkownika i szczegóły magazynu metadanych.
  3. Wybierz dozwolone JAR-y/skrypty inicjalizacyjne.
  4. Kliknij przycisk Dodaj.

Ważne

Ta opcja jest wyświetlana tylko dla wystarczająco uprzywilejowanych użytkowników. Jeśli nie możesz uzyskać dostępu do interfejsu użytkownika listy dozwolonych, skontaktuj się z administratorem magazynu metadanych, aby uzyskać pomoc dotyczącą bibliotek dozwolonych i skryptów inicjowania.

Dodawanie skryptu inicjowania do listy dozwolonych

Wykonaj następujące kroki w oknie dialogowym listy dozwolonych, aby dodać skrypt inicjowania do listy dozwolonych:

  1. W typie Typewybierz Init Script.
  2. Dla typu źródławybierz Wolumin lub protokół przechowywania obiektów.
  3. Określ ścieżkę źródłową, która ma zostać dodana do listy dozwolonych. Zobacz How are permissions on paths enforced in the allowlist? (Jak uprawnienia są wymuszane na liście dozwolonych?).

Dodawanie pliku JAR do listy dozwolonych

Wykonaj następujące kroki w oknie dialogowym listy dozwolonych, aby dodać plik JAR do listy dozwolonych:

  1. Dla Typewybierz JAR.
  2. Dla typu źródławybierz Wolumin lub protokół przechowywania obiektów.
  3. Określ ścieżkę źródłową, która ma zostać dodana do listy dozwolonych. Zobacz How are permissions on paths enforced in the allowlist? (Jak uprawnienia są wymuszane na liście dozwolonych?).

Dodawanie współrzędnych narzędzia Maven do listy dozwolonych

Wykonaj następujące kroki w oknie dialogowym listy dozwolonych, aby dodać współrzędne narzędzia Maven do listy dozwolonych:

  1. Dla typu wybierz pozycję Maven.
  2. W przypadku typu źródławybierz pozycję współrzędne .
  3. Wprowadź współrzędne w następującym formacie: groudId:artifactId:version.
    • Wszystkie wersje biblioteki można uwzględnić, umieszczając na liście dozwolonych następujący format: groudId:artifactId.
    • Wszystkie artefakty można uwzględnić w grupie, umieszczając na liście dozwolonych następujący format: groupId.

Jak uprawnienia do ścieżek są wymuszane na liście dozwolonych?

Możesz użyć białej listy, aby udzielić dostępu do plików JAR lub skryptów inicjalizujących przechowywanych w woluminach Unity Catalog i magazynie obiektów. Jeśli dodasz ścieżkę do katalogu, a nie pliku, uprawnienia listy dozwolonych są propagowane do zawartych plików i katalogów.

Dopasowywanie prefiksów jest używane dla wszystkich artefaktów przechowywanych w woluminach Unity Catalogu lub w przechowywaniu obiektów. Aby zapobiec dopasowywaniu prefiksów na danym poziomie katalogu, dołącz ukośnik końcowy (/). Na przykład /Volumes/prod-libraries/ nie będzie wykonywać dopasowywania prefiksów dla plików poprzedzonych prefiksem prod-libraries. Zamiast tego wszystkie pliki i katalogi w ramach programu /Volumes/prod-libraries/ są dodawane do listy dozwolonych.

Uprawnienia można definiować na następujących poziomach:

  1. Ścieżka podstawowa dla woluminu lub kontenera magazynu.
  2. Katalog zagnieżdżony w dowolnej głębi ścieżki podstawowej.
  3. Pojedynczy plik.

Dodanie ścieżki do listy dozwolonych oznacza tylko, że ścieżka może być używana dla skryptów inicjowania lub instalacji JAR. Usługa Azure Databricks nadal sprawdza uprawnienia dostępu do danych w określonej lokalizacji.

Użyty podmiot zabezpieczeń musi mieć READ VOLUME uprawnienia do określonego woluminu. Zobacz SELECT.

W trybie dostępu pojedynczego użytkownika jest używana tożsamość przypisanej jednostki (użytkownika lub jednostki usługi).

W trybie dostępu współdzielonego:

  • Biblioteki używają tożsamości instalatora biblioteki.
  • Skrypty inicjowania używają tożsamości właściciela klastra.

Uwaga

Tryb dostępu współdzielonego bez izolacji nie obsługuje woluminów, ale używa tego samego przypisania tożsamości co tryb dostępu współdzielonego.

Usługa Databricks zaleca skonfigurowanie wszystkich uprawnień magazynu obiektów związanych ze skryptami inicjowania i bibliotekami z uprawnieniami tylko do odczytu. Użytkownicy z uprawnieniami do zapisu w tych lokalizacjach mogą potencjalnie modyfikować kod w plikach biblioteki lub skryptach inicjowania.

Usługa Databricks zaleca używanie jednostek usługi Microsoft Entra ID do zarządzania dostępem do reguł JARs lub skryptów inicjowania przechowywanych w usłudze Azure Data Lake Storage Gen2. Aby ukończyć tę konfigurację, użyj następującej połączonej dokumentacji:

  1. Utwórz jednostkę usługi z uprawnieniami do odczytu i wyświetlania dla żądanych obiektów blob. Zobacz Uzyskiwanie dostępu do magazynu przy użyciu jednostki usługi i identyfikatora entra firmy Microsoft (Azure Active Directory).

  2. Zapisz swoje poświadczenia za pomocą tajnych danych. Zobacz Zarządzanie wpisami tajnymi.

  3. Ustaw właściwości w konfiguracji platformy Spark i zmiennych środowiskowych podczas tworzenia klastra, jak w poniższym przykładzie:

    Konfiguracja platformy Spark:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    Zmienne środowiskowe:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (Opcjonalnie) Refaktoryzacja skryptów inicjowania przy użyciu narzędzia azcopy lub interfejsu wiersza polecenia platformy Azure.

    Można odwołać się do zmiennych środowiskowych ustawionych podczas konfigurowania klastra w swoich skryptach inicjujących, aby przekazywać poświadczenia przechowywane jako tajne informacje do weryfikacji.

Uwaga

Uprawnienia dozwolonych dla reguł JARs i skryptów inicjowania są zarządzane oddzielnie. Jeśli używasz tej samej lokalizacji do przechowywania obu typów obiektów, musisz dodać lokalizację do listy dozwolonych dla każdego z nich.