Udostępnij za pośrednictwem


Biblioteki dozwolonych i skrypty inicjowania w udostępnionych obliczeniach

W środowisku Databricks Runtime 13.3 LTS i nowszym można dodawać biblioteki i skrypty inicjowania do allowlist katalogu aparatu Unity. 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 wykazu aparatu Unity.

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 w udostępnionych obliczeniach z obsługą wykazu aparatu Unity 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 eksploratora allowlist wykazu 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 pozycję Ikona wykazu Wykaz.
  2. Kliknij Ikona koła zębatego , aby otworzyć interfejs użytkownika i szczegóły magazynu metadanych.
  3. Wybierz pozycję Dozwolone skrypty JARs/Init.
  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 polu Typ wybierz pozycję Skrypt init.
  2. W polu Typ źródła wybierz pozycję Wolumin lub protokół magazynu 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. W polu Typ wybierz pozycję JAR.
  2. W polu Typ źródła wybierz pozycję Wolumin lub protokół magazynu 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. W polu Typ wybierz pozycję Maven.
  2. W polu Typ źródła wybierz 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ć listy dozwolonych, aby udzielić dostępu do reguł JAR lub skryptów inicjowania przechowywanych w woluminach wykazu aparatu Unity 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.

Dopasowanie prefiksu jest używane dla wszystkich artefaktów przechowywanych w woluminach wykazu aparatu Unity lub magazynie 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 (WYBIERZ).

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 listy 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 poświadczenia przy użyciu wpisów tajnych. 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.

    Zmienne środowiskowe ustawione podczas konfigurowania klastra w skryptach inicjowania można odwoływać się do przekazywania poświadczeń przechowywanych jako wpisy tajne 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.