Sdílet prostřednictvím


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:

  1. V pracovním prostoru Azure Databricks klikněte na ikonu CatalogCatalog.
  2. Kliknutím Ikona ozubeného kolečka otevřete podrobnosti metastoru a uživatelské rozhraní oprávnění.
  3. Select Povolené soubory 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. Pro Typ, selectinicializační skript.
  2. Pro typ zdroje, selectsvazek 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. Pro Typ, selectJAR.
  2. Pro typ zdroje, selectsvazek 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. Pro Typ, selectMaven.
  2. Pro typ zdroje, selectsouř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?

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:

  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 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:

  1. 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).

  2. Uložte credentials pomocí tajných kódů. Viz Správa tajných kódů.

  3. 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>}}
    
  4. (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.