Přidání tabulky Unity Catalog do aplikace Databricks

Přidejte tabulky Katalogu Unity jako prostředky Databricks Apps, aby vaše aplikace mohl dotazovat a upravovat data uložená v katalogu Unity pomocí zásad správného řízení a řízení přístupu. Tabulky katalogu Unity poskytují strukturované úložiště dat s jemně odstupňovanými oprávněními, aby vaše aplikace mohla bezpečně číst a zapisovat data bez pevně zakódovaných přihlašovacích údajů.

Požadavky na oprávnění

Pro přístup k tabulce katalogu Unity musí mít obslužný účet aplikace oprávnění na nadřazený katalog, oprávnění na nadřazené schéma a oprávnění USE CATALOG nebo USE SCHEMA na tabulce. Když přidáte prostředek tabulky, Azure Databricks tato oprávnění automaticky udělí služebnímu principálu aplikace.

Aby bylo toto automatické udělení úspěšné, musí být pro každé oprávnění splněno jedno z následujících podmínek:

  • Pro USE CATALOG: Buď všichni uživatelé účtu mají USE CATALOG oprávnění k katalogu, nebo máte MANAGE oprávnění v katalogu.
  • Pro USE SCHEMA: Buď všichni uživatelé účtu mají USE SCHEMA oprávnění ke schématu, nebo máte MANAGE oprávnění ke schématu.
  • Pro SELECT nebo MODIFY: Buď všichni uživatelé účtu mají oprávnění SELECT nebo MODIFY k tabulce, nebo máte oprávnění MANAGE k tabulce.

Viz referenční informace k oprávněním katalogu Unity.

Přidání prostředku tabulky katalogu Unity

Než přidáte tabulku jako prostředek, projděte si požadavky na prostředek aplikace.

  1. V části Prostředky aplikace při vytváření nebo úpravě aplikace klikněte na + Přidat prostředek>tabulku UC.
  2. Vyberte tabulku katalogu Unity z dostupných tabulek v pracovním prostoru. Tabulka již musí existovat v katalogu Unity.
  3. Vyberte odpovídající úroveň oprávnění pro vaši aplikaci:
    • Vyberte: Udělí aplikaci oprávnění k dotazování a čtení dat z tabulky. To je vhodné pro aplikace, které potřebují jen číst data.
    • Upravit: Udělí aplikaci oprávnění k vložení, aktualizaci a odstranění dat v tabulce. Toto oprávnění implicitně zahrnuje SELECT, takže aplikace může také číst data.
  4. (Volitelné) Zadejte vlastní klíč prostředku, což je způsob, jakým odkazujete na tabulku v konfiguraci aplikace. Výchozí klíč je table.

Poznámka:

MODIFY není k dispozici pro všechny typy tabulek. Zobrazení například nepodporují MODIFY oprávnění. Pokud tabulka nepodporuje MODIFY, je dostupná pouze SELECT .

Proměnné prostředí

Při nasazování aplikace s prostředkem tabulky Katalogu Unity, Azure Databricks zpřístupní celý název tabulky na třech úrovních prostřednictvím proměnných prostředí, na které můžete odkazovat pomocí pole valueFrom.

Příklad konfigurace:

env:
  - name: UC_TABLE_NAME
    valueFrom: table # Use your custom resource key if different

Použití tabulky v aplikaci:

import os
from databricks.sdk import WorkspaceClient

# Access the table name
table_name = os.getenv("UC_TABLE_NAME")

# Initialize workspace client
w = WorkspaceClient()

# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
    warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"),  # Requires a SQL warehouse resource
    statement=f"SELECT * FROM {table_name} LIMIT 10"
)

Další informace najdete v tématu Použití proměnných prostředí pro přístup k prostředkům.

Odstranit prostředek tabulky Unity Catalog

Když z aplikace odeberete prostředek tabulky Katalogu Unity, instanční objekt aplikace ztratí oprávnění SELECT, MODIFY a ALL PRIVILEGES k tabulce. Azure Databricks se také pokusí odvolat hierarchická oprávnění katalogu a schématu. Samotná tabulka zůstává beze změny a nadále je dostupná pro ostatní uživatele a aplikace, které mají příslušná oprávnění.

Osvědčené postupy

Při práci s prostředky tabulky Katalogu Unity zvažte následující skutečnosti:

  • Udělte minimální oprávnění. Použijte SELECT , pokud vaše aplikace nepotřebuje zapisovat data do tabulky.
  • Zkombinujte prostředky tabulky s prostředkem SQL Warehouse , když vaše aplikace potřebuje spouštět dotazy SQL na tabulku.
  • Pro různé tabulky používejte specifické zdroje pro tabulku, místo udělování širokého přístupu na úrovni schématu, abyste mohli použít princip nejnižších oprávnění.
  • Zvažte použití svazků katalogu Unity pro nestrukturovaná data a tabulky katalogu Unity pro strukturovaná data.