Allowlist-bibliotheken en init-scripts voor berekening met standaardtoegangsmodus (voorheen modus voor gedeelde toegang)
In Databricks Runtime 13.3 LTS en hoger kunt u bibliotheken en init-scripts toevoegen aan de allowlist
in Unity Catalog. Hierdoor kunnen gebruikers gebruikmaken van deze artefacten op berekeningen die zijn geconfigureerd met de standaardtoegangsmodus.
U kunt een map of bestandspad toestaan voordat die map of dat bestand bestaat. Zie Bestanden uploaden naar een Unity Catalog-volume.
Notitie
U moet een metastore-beheerder zijn of de MANAGE ALLOWLIST
bevoegdheid hebben om de acceptatielijst te wijzigen. Zie BEHEREN VAN ALLOWLIST.
Belangrijk
Voor bibliotheken die worden gebruikt als JDBC-stuurprogramma's of aangepaste Spark-gegevensbronnen op standaard compute met Unity Catalog zijn ANY FILE
machtigingen vereist.
Sommige geïnstalleerde bibliotheken slaan gegevens van alle gebruikers op in één algemene tijdelijke map. Deze bibliotheken kunnen gebruikersisolatie in gevaar komen.
Items toevoegen aan de acceptatielijst
U kunt items toevoegen aan de allowlist
Catalog Explorer of de REST API.
Ga als volgt te werk om het dialoogvenster voor het toevoegen van items aan de acceptatielijst in Catalog Explorer te openen:
- Klik in uw Azure Databricks-werkruimte op
Catalogus.
- Klik
om de details en machtigingen van de metastore te openen in de gebruikersinterface.
- Selecteer Toegestane JARs/Init-scripts.
- Klik op Toevoegen.
Belangrijk
Deze optie wordt alleen weergegeven voor gebruikers met voldoende bevoegdheden. Als u geen toegang hebt tot de gebruikersinterface van de acceptatielijst, neemt u contact op met uw metastore-beheerder voor hulp bij het toevoegen van bibliotheken en init-scripts aan de acceptatielijst.
Een init-script toevoegen aan de acceptatielijst
Voer de volgende stappen uit in het dialoogvenster Allowlist om een init-script toe te voegen aan de acceptatielijst:
- Voor Type selecteert u Init-script.
- Voor brontype selecteert u Volume of het protocol voor objectopslag.
- Geef het bronpad op dat moet worden toegevoegd aan de acceptatielijst. Zie Hoe worden machtigingen voor paden afgedwongen in de acceptatielijst?
Een JAR toevoegen aan de acceptatielijst
Voer de volgende stappen uit in het dialoogvenster Allowlist om een JAR toe te voegen aan de acceptatielijst:
- Voor type, selecteer JAR.
- Voor brontype selecteert u Volume of het protocol voor objectopslag.
- Geef het bronpad op dat moet worden toegevoegd aan de acceptatielijst. Zie Hoe worden machtigingen voor paden afgedwongen in de acceptatielijst?
Maven-coördinaten toevoegen aan de acceptatielijst
Voer de volgende stappen uit in het dialoogvenster Allowlist om Maven-coördinaten toe te voegen aan de acceptatielijst:
- Selecteer Maven bij Type.
- Selecteer Coördinaten voor brontype.
- Voer coördinaten in de volgende indeling in:
groudId:artifactId:version
.- U kunt alle versies van een bibliotheek opnemen door de volgende indeling toe te staan:
groudId:artifactId
- U kunt alle artefacten in een groep opnemen door de volgende indeling toe te staan:
groupId
- U kunt alle versies van een bibliotheek opnemen door de volgende indeling toe te staan:
Hoe worden machtigingen voor paden afgedwongen in de acceptatielijst?
U kunt de acceptatielijst gebruiken om toegang te verlenen tot JAR's of init-scripts die zijn opgeslagen in Unity Catalog-volumes en objectopslag. Als u een pad voor een directory in plaats van een bestand toevoegt, worden toestemmingen op de toelatingslijst doorgegeven aan de bijbehorende bestanden en directories.
Voorvoegselkoppeling wordt gebruikt voor alle artefacten die zijn opgeslagen in Unity Catalog-volumes of objectopslag. Om te voorkomen dat het voorvoegsel overeenkomt op een bepaald mapniveau, dient u een afsluitende slash (/
) toe te voegen. Voert bijvoorbeeld /Volumes/prod-libraries/
geen voorvoegselkoppeling uit voor bestanden met een voorvoegsel prod-libraries
. In plaats daarvan worden alle bestanden en mappen in /Volumes/prod-libraries/
de acceptatielijst toegevoegd.
U kunt machtigingen definiëren op de volgende niveaus:
- Het basispad voor het volume of de opslagcontainer.
- Een map die is ingebed op elke diepte vanaf het basispad.
- Eén bestand.
Het toevoegen van een pad aan de acceptatielijst betekent alleen dat het pad kan worden gebruikt voor init-scripts of JAR-installatie. Azure Databricks controleert nog steeds op machtigingen voor toegang tot gegevens op de opgegeven locatie.
De gebruikte principal moet machtigingen hebben READ VOLUME
voor het opgegeven volume. Zie READ VOLUME.
In de toegewezen toegangsmodus (voorheen de toegangsmodus voor één gebruiker) wordt de identiteit van de toegewezen principal (een gebruiker of groep) gebruikt.
In de standaardtoegangsmodus:
- Bibliotheken gebruiken de identiteit van het installatieprogramma voor bibliotheken.
- Init-scripts gebruiken de identiteit van de clustereigenaar.
Notitie
Gedeelde toegangsmodus zonder isolatie biedt geen ondersteuning voor volumes, maar maakt gebruik van dezelfde identiteitstoewijzing als de standaardtoegangsmodus.
Databricks raadt aan om alle bevoegdheden voor objectopslag te configureren die betrekking hebben op init-scripts en -bibliotheken met alleen-lezenmachtigingen. Gebruikers met schrijfmachtigingen op deze locaties kunnen mogelijk code wijzigen in bibliotheekbestanden of init-scripts.
Databricks raadt aan om service-principals van Microsoft Entra ID te gebruiken voor het beheren van toegang tot JAR's of init-scripts die zijn opgeslagen in Azure Data Lake Storage. Gebruik de volgende gekoppelde documentatie om deze installatie te voltooien:
Maak een service-principal met lees- en lijsttoegang voor uw gekozen blobs. Zie Toegang tot opslag met behulp van een service-principal en Microsoft Entra ID (Azure Active Directory).
Sla uw inloggegevens op met geheimen. Zie Geheimen beheren.
Stel de eigenschappen in de Spark-configuratie en omgevingsvariabelen in tijdens het maken van een cluster, zoals in het volgende voorbeeld:
Spark-configuratie:
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
Omgevingsvariabelen:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
(Optioneel) Initscripts opnieuw structureren met azcopy of de Azure CLI.
U kunt verwijzen naar omgevingsvariabelen die zijn ingesteld tijdens de clusterconfiguratie in uw init-scripts om referenties door te geven die zijn opgeslagen als geheimen voor validatie.
Notitie
Allowlist-machtigingen voor JAR's en init-scripts worden afzonderlijk beheerd. Als u dezelfde locatie gebruikt om beide typen objecten op te slaan, moet u de locatie voor elk object toevoegen aan de acceptatielijst.