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 katalogu Unity přidat knihovny a inicializační skripty allowlist . 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 katalogu Unity.

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 ve sdíleném výpočetním prostředí s podporou katalogu Unity 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

Položky můžete přidat do allowlist Průzkumníka katalogu nebo rozhraní REST API.

Chcete-li otevřít dialogové okno pro přidání položek do seznamu povolených v Průzkumníku katalogů, postupujte takto:

  1. V pracovním prostoru Azure Databricks klikněte na Ikona katalogu Katalog.
  2. Kliknutím Ikona ozubeného kolečka otevřete podrobnosti metastoru a uživatelské rozhraní oprávnění.
  3. Vyberte Povolené skripty JAR/Inicializační skripty.
  4. 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:

  1. Jako typ vyberte Inicializační skript.
  2. Jako typ zdroje vyberte svazek nebo protokol úložiště objektů.
  3. 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:

  1. Jako typ vyberte SOUBOR JAR.
  2. Jako typ zdroje vyberte svazek nebo protokol úložiště objektů.
  3. 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:

  1. Jako typ vyberte Maven.
  2. Jako typ zdroje vyberte Souřadnice.
  3. 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.

Jak se v seznamu povolených vynucují oprávnění k cestám?

Pomocí seznamu povolených můžete udělit přístup k jarům nebo inicializačním skriptům uloženým ve svazcích katalogu Unity a úložišti objektů. 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é ve svazcích katalogu Unity nebo v ú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:

  1. Základní cesta ke svazku nebo kontejneru úložiště.
  2. Adresář vnořený do jakékoli hloubky ze základní cesty.
  3. 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 svazky, 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:

  1. Vytvořte instanční objekt s oprávněními ke čtení a výpisu požadovaných objektů blob. Viz Access storage using a service principal & Microsoft Entra ID(Azure Active Directory).

  2. Uložte přihlašovací údaje pomocí tajných kódů. Podívejte se na tajné kódy.

  3. Při vytváření clusteru nastavte vlastnosti v konfiguraci Sparku a proměnných prostředí, 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>}}
    
  4. (Volitelné) Refaktoring inicializačních skriptů pomocí azcopy nebo Azure CLI

    Proměnné prostředí nastavené během konfigurace clusteru v inicializačních skriptech můžete odkazovat na přihlašovací údaje 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.