Tillåtlista bibliotek och init-skript vid delad beräkning

I Databricks Runtime 13.3 LTS och senare kan du lägga till bibliotek och init-skript allowlist i i Unity Catalog. Detta gör det möjligt för användare att utnyttja dessa artefakter vid beräkning som konfigurerats med läget för delad åtkomst.

Du kan tillåtalistning av en katalog eller filsökväg innan katalogen eller filen finns. Se Ladda upp filer till en Unity Catalog-volym.

Kommentar

Du måste vara administratör för metaarkivet MANAGE ALLOWLIST eller ha behörighet att ändra listan över tillåtna. Se HANTERA ALLOWLIST.

Viktigt!

Bibliotek som används som JDBC-drivrutiner eller anpassade Spark-datakällor i Unity Catalog-aktiverad delad beräkning kräver ANY FILE behörigheter.

Vissa installerade bibliotek lagrar data för alla användare i en gemensam temp-katalog. Dessa bibliotek kan äventyra användarisoleringen.

Så här lägger du till objekt i listan över tillåtna objekt

Du kan lägga till objekt i allowlist med Catalog Explorer eller REST-API:et.

Om du vill öppna dialogrutan för att lägga till objekt i listan över tillåtna objekt i Katalogutforskaren gör du följande:

  1. På din Azure Databricks-arbetsyta klickar du på Katalogikon Katalog.
  2. Klicka här om du Kugghjulsikon vill öppna information om metaarkivet och behörighetsgränssnittet.
  3. Välj Tillåtna JARs/Init-skript.
  4. Klicka på Lägg till.

Viktigt!

Det här alternativet visas endast för tillräckligt privilegierade användare. Om du inte kan komma åt användargränssnittet för tillåtna listor kontaktar du metaarkivadministratören för att få hjälp med att tillåtalistning av bibliotek och init-skript.

Lägga till ett init-skript i listan över tillåtna

Slutför följande steg i dialogrutan allowlist för att lägga till ett init-skript i listan över tillåtna:

  1. För Typ väljer du Init-skript.
  2. Som Källtyp väljer du Volym eller objektlagringsprotokollet.
  3. Ange källsökvägen som ska läggas till i listan över tillåtna. Se Hur tillämpas behörigheter för sökvägar i listan över tillåtna?.

Lägga till en JAR i listan över tillåtna

Slutför följande steg i dialogrutan allowlist för att lägga till en JAR i listan över tillåtna:

  1. För Typ väljer du JAR.
  2. Som Källtyp väljer du Volym eller objektlagringsprotokollet.
  3. Ange källsökvägen som ska läggas till i listan över tillåtna. Se Hur tillämpas behörigheter för sökvägar i listan över tillåtna?.

Lägg till Maven-koordinater i listan över tillåtna

Slutför följande steg i dialogrutan allowlist för att lägga till Maven-koordinater i listan över tillåtna:

  1. För Typ väljer du Maven.
  2. För Källtyp väljer du Koordinater.
  3. Ange koordinater i följande format: groudId:artifactId:version.
    • Du kan inkludera alla versioner av ett bibliotek genom att tillåta följande format: groudId:artifactId.
    • Du kan inkludera alla artefakter i en grupp genom att tillåtalistning av följande format: groupId.

Hur tillämpas behörigheter på sökvägar i listan över tillåtna?

Du kan använda listan över tillåtna för att bevilja åtkomst till JAR eller init-skript som lagras i Unity Catalog-volymer och objektlagring. Om du lägger till en sökväg för en katalog i stället för en fil sprids behörigheter för tillåtna listor till inneslutna filer och kataloger.

Prefixmatchning används för alla artefakter som lagras i Unity Catalog-volymer eller objektlagring. Om du vill förhindra prefixmatchning på en viss katalognivå inkluderar du ett avslutande snedstreck (/). Till exempel /Volumes/prod-libraries/ utför inte prefixmatchning för filer som är prefix med prod-libraries. I stället läggs alla filer och kataloger inom /Volumes/prod-libraries/ till i listan över tillåtna filer.

Du kan definiera behörigheter på följande nivåer:

  1. Bassökvägen för volymen eller lagringscontainern.
  2. En katalog kapslad på valfritt djup från bassökvägen.
  3. En enda fil.

Att lägga till en sökväg till listan över tillåtna innebär att sökvägen kan användas för init-skript eller JAR-installation. Azure Databricks söker fortfarande efter behörigheter för att komma åt data på den angivna platsen.

Det huvudnamn som används måste ha READ VOLUME behörigheter på den angivna volymen. Se VÄLJ.

I åtkomstläge för en användare används identiteten för det tilldelade huvudnamnet (en användare eller tjänstens huvudnamn).

I läget för delad åtkomst:

  • Bibliotek använder biblioteksinstallationsprogrammets identitet.
  • Init-skript använder klusterägarens identitet.

Kommentar

Läget för delad åtkomst utan isolering stöder inte volymer, men använder samma identitetstilldelning som läget för delad åtkomst.

Databricks rekommenderar att du konfigurerar alla objektlagringsbehörigheter relaterade till init-skript och bibliotek med skrivskyddade behörigheter. Användare med skrivbehörighet på dessa platser kan eventuellt ändra kod i biblioteksfiler eller init-skript.

Databricks rekommenderar att du använder Microsoft Entra ID-tjänstens huvudnamn för att hantera åtkomst till JAR eller init-skript som lagras i Azure Data Lake Storage Gen2. Använd följande länkade dokumentation för att slutföra den här installationen:

  1. Skapa ett huvudnamn för tjänsten med läs- och listbehörigheter för dina önskade blobar. Se Åtkomstlagring med hjälp av tjänstens huvudnamn och Microsoft Entra-ID (Azure Active Directory).

  2. Spara dina autentiseringsuppgifter med hjälp av hemligheter. Se Hemligheter.

  3. Ange egenskaperna i Spark-konfigurations- och miljövariablerna när du skapar ett kluster, som i följande exempel:

    Spark-konfiguration:

    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
    

    Miljövariabler:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (Valfritt) Omstrukturera init-skript med azcopy eller Azure CLI.

    Du kan referera till miljövariabler som angetts under klusterkonfigurationen i dina init-skript för att skicka autentiseringsuppgifter som lagras som hemligheter för validering.

Kommentar

Tillåtlistbehörigheter för JAR:er och init-skript hanteras separat. Om du använder samma plats för att lagra båda typerna av objekt måste du lägga till platsen i listan över tillåtna objekt för varje objekt.