Dela via


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 i allowlist 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 på 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-.

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

  1. På din Azure Databricks-arbetsyta klickar du på ikonen CatalogCatalog.
  2. Klicka här om du Kugghjulsikon vill öppna information om metaarkivet och behörighetsgränssnittet.
  3. Select 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 typselectInit-skriptet.
  2. För källtypselectVolym 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 typselectJAR.
  2. För källtypselectVolym 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 typselectMaven.
  2. För källtyp, selectkoordinater.
  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 grant åtkomst till JAR-skript eller init-skript som lagras i Unity Catalogvolumes 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 Catalogvolumes 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 SELECT.

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 volumes, 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 tjänstens huvudkonto med läs- och list behörigheter för de specifika blobarna. Se Åtkomstlagring med hjälp av tjänstens huvudnamn och Microsoft Entra-ID (Azure Active Directory).

  2. Spara dina credentials med hjälp av hemligheter. Se Hantera hemligheter.

  3. Set egenskaperna i Spark-konfigurationen 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 set under klusterkonfigurationen i dina init-skript för att skicka credentials 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.