Povolení knihoven a inicializačních skriptů ve sdílených výpočetních prostředcích
Ve verzi Databricks Runtime 13.3 LTS a vyšší můžete do allowlist
v Unity Catalogpřidat knihovny a inicializační skripty. To umožňuje uživatelům využívat tyto artefakty na výpočetních prostředcích nakonfigurovaných pomocí režimu sdíleného přístupu.
Seznam povolených adresářů nebo cest k souborům můžete povolit před tím, než tento adresář nebo soubor existuje. Viz Nahrání souborů do svazku Unity Catalog.
Poznámka:
Musíte být správcem metastoru MANAGE ALLOWLIST
nebo mít oprávnění ke změně seznamu povolených. Viz SPRÁVA SEZNAMU POVOLENÝCH.
Důležité
Knihovny používané jako ovladače JDBC nebo vlastní zdroje dat Sparku v Unity Catalog– povolené sdílené výpočetní prostředky vyžadují ANY FILE
oprávnění.
Některé nainstalované knihovny ukládají data všech uživatelů v jednom společném dočasném adresáři. Tyto knihovny můžou ohrozit izolaci uživatelů.
Postup přidání položek do seznamu povolených položek
Do allowlist
se mohou položky přidávat pomocí průzkumníka Catalog nebo rozhraní REST API .
Pokud chcete otevřít dialogové okno pro přidávání položek do seznamu povolených v Catalog Exploreru, postupujte takto:
- V pracovním prostoru Azure Databricks klikněte na ikonu
Catalog.
- Kliknutím
otevřete podrobnosti metastoru a uživatelské rozhraní oprávnění.
- Select Povolené soubory JAR/Inicializační skripty.
- Klikněte na tlačítko Přidat.
Důležité
Tato možnost se zobrazí jenom pro dostatečně privilegované uživatele. Pokud nemůžete získat přístup k uživatelskému rozhraní seznamu povolených, požádejte správce metastoru o pomoc s knihovnami a inicializačními skripty.
Přidání inicializačního skriptu do seznamu povolených
V dialogovém okně seznamu povolených proveďte následující kroky a přidejte do seznamu povolených inicializační skript:
- Pro Typ, selectinicializační skript.
- Pro typ zdroje, selectsvazek nebo protokol úložiště objektů.
- Zadejte zdrojová cesta, kterou chcete přidat do seznamu povolených. Podívejte se, jak se v seznamu povolených vynucují oprávnění k cestám?
Přidání souboru JAR do seznamu povolených
V dialogovém okně seznamu povolených proveďte následující kroky a přidejte do seznamu povolených soubor JAR:
- Pro Typ, selectJAR.
- Pro typ zdroje, selectsvazek nebo protokol úložiště objektů.
- Zadejte zdrojová cesta, kterou chcete přidat do seznamu povolených. Podívejte se, jak se v seznamu povolených vynucují oprávnění k cestám?
Přidání souřadnic Mavenu do seznamu povolených
V dialogovém okně seznamu povolených dokončete následující kroky a přidejte do seznamu povolených souřadnic Maven:
- Pro Typ, selectMaven.
- Pro typ zdroje, selectsouřadnice.
- Zadejte souřadnice v následujícím formátu:
groudId:artifactId:version
.- Všechny verze knihovny můžete zahrnout povolením seznamu povolených formátů:
groudId:artifactId
. - Všechny artefakty ve skupině můžete zahrnout přidáním následujícího formátu:
groupId
.
- Všechny verze knihovny můžete zahrnout povolením seznamu povolených formátů:
Jak se v seznamu povolených vynucují oprávnění k cestám?
Seznam povolených můžete použít k grant přístupu k JAR souborům nebo inicializačním skriptům uloženým v Unity Catalogvolumes a objektovém úložišti. Pokud místo souboru přidáte cestu k adresáři, rozšíří se oprávnění seznamu allowlist do obsažených souborů a adresářů.
Porovnávání předpon se používá pro všechny artefakty uložené v Unity Catalogvolumes nebo úložišti objektů. Pokud chcete zabránit porovnávání předpon na dané úrovni adresáře, uveďte koncové lomítko (/
).
/Volumes/prod-libraries/
Například nebude provádět porovnávání předpon pro soubory s předponou prod-libraries
. Místo toho se do seznamu povolených přidají všechny soubory a adresáře v rámci /Volumes/prod-libraries/
.
Oprávnění můžete definovat na následujících úrovních:
- Základní cesta ke svazku nebo kontejneru úložiště.
- Adresář vnořený do jakékoli hloubky ze základní cesty.
- Jeden soubor.
Přidání cesty do seznamu povolených znamená, že cestu lze použít buď pro inicializační skripty, nebo instalaci SOUBORU JAR. Azure Databricks stále kontroluje oprávnění pro přístup k datům v zadaném umístění.
Použitý objekt zabezpečení musí mít READ VOLUME
oprávnění k zadanému svazku. Viz SELECT.
V režimu přístupu jednoho uživatele se používá identita přiřazeného objektu (uživatele nebo instančního objektu).
V režimu sdíleného přístupu:
- Knihovny používají identitu instalačního programu knihovny.
- Inicializační skripty používají identitu vlastníka clusteru.
Poznámka:
Režim sdíleného přístupu bez izolace nepodporuje volumes, ale používá stejné přiřazení identity jako režim sdíleného přístupu.
Databricks doporučuje konfigurovat všechna oprávnění úložiště objektů související s inicializačními skripty a knihovnami s oprávněními jen pro čtení. Uživatelé s oprávněním k zápisu na těchto místech mohou potenciálně upravovat kód v souborech knihovny nebo inicializačních skriptech.
Databricks doporučuje používat instanční objekty Microsoft Entra ID ke správě přístupu k jarům nebo inicializačním skriptům uloženým v Azure Data Lake Storage Gen2. K dokončení tohoto nastavení použijte následující propojenou dokumentaci:
Vytvořte instanční objekt s oprávněními ke čtení a list požadovaným objektům blob. Viz Access storage using a service principal & Microsoft Entra ID(Azure Active Directory).
Uložte credentials pomocí tajných kódů. Viz Správa tajných kódů.
Set vlastnosti v konfiguraci Sparku a proměnných prostředí při vytváření clusteru, jak je znázorněno v následujícím příkladu:
Konfigurace Sparku:
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
Proměnné prostředí:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
(Volitelné) Refaktoring inicializačních skriptů pomocí azcopy nebo Azure CLI
Proměnné prostředí můžete odkazovat set během konfigurace clusteru v rámci inicializačních skriptů a předávat credentials uložené jako tajné kódy pro ověření.
Poznámka:
Oprávnění seznamu povolených pro jar a inicializační skripty se spravují samostatně. Pokud pro uložení obou typů objektů použijete stejné umístění, musíte umístění přidat do seznamu povolených pro každý z nich.