Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voeg Unity Catalog-tabellen toe als Databricks Apps-resources, zodat uw app gegevens kan opvragen en wijzigen die zijn opgeslagen in Unity Catalog met governance en toegangsbeheer. Unity Catalog-tabellen bieden gestructureerde gegevensopslag met verfijnde machtigingen, zodat uw app veilig gegevens kan lezen en schrijven zonder referenties vast te leggen.
Vereisten voor bevoegdheden
Voor toegang tot een Unity Catalog-tabel moet de service-principal van de app de USE CATALOG bevoegdheid hebben voor de bovenliggende catalogus, de USE SCHEMA bevoegdheid voor het bovenliggende schema en de SELECT of MODIFY bevoegdheid in de tabel. Wanneer u de tabelresource toevoegt, verleent Azure Databricks deze bevoegdheden automatisch aan de service-principal van de app.
Voor deze automatische toekenning om te slagen, moet een van de volgende voorwaarden gelden voor elke bevoegdheid:
-
Voor
USE CATALOG: alle accountgebruikers hebben deUSE CATALOGbevoegdheid voor de catalogus of u hebt deMANAGEbevoegdheid voor de catalogus. -
Voor
USE SCHEMA: alle accountgebruikers hebben deUSE SCHEMAbevoegdheid voor het schema of u hebt deMANAGEbevoegdheid voor het schema. -
Voor
SELECTofMODIFY: alle accountgebruikers hebben deSELECTofMODIFYbevoegdheid voor de tabel, of u hebt deMANAGEbevoegdheid voor de tabel.
Zie Unity Catalog-bevoegdheden en beveiligbare objecten.
Een Unity Catalog-tabelresource toevoegen
Voordat u een tabel als resource toevoegt, controleert u de vereisten voor de app-resource.
- Wanneer u een app maakt of bewerkt, gaat u naar de stap Configureren .
- Klik in de sectie App-resources op + Resource toevoegen.
- Selecteer de UC-tabel als het resourcetype.
- Kies een Unity Catalog-tabel uit de beschikbare tabellen in uw werkruimte. De tabel moet al bestaan in Unity Catalog.
- Selecteer het juiste machtigingsniveau voor uw app:
- Selecteer: Verleent de app toestemming om gegevens uit de tabel op te vragen en te lezen. Dit is geschikt voor apps die alleen gegevens hoeven te lezen.
-
Wijzigen: Verleent de app toestemming om gegevens in de tabel in te voegen, bij te werken en te verwijderen. Deze machtiging omvat
SELECTimpliciet, zodat de app ook gegevens kan lezen.
- (Optioneel) Geef een aangepaste resourcesleutel op. Dit is de wijze waarop u naar de tabel in uw app-configuratie verwijst. De standaardsleutel is
table.
Opmerking
MODIFY is niet beschikbaar voor alle tabeltypen. Weergaven bieden bijvoorbeeld geen ondersteuning voor de MODIFY bevoegdheid. Als de tabel geen ondersteuning biedt MODIFY, is alleen SELECT beschikbaar.
Omgevingsvariabelen
Wanneer u een app met een Unity Catalog-tabelresource implementeert, maakt Azure Databricks de volledige naam van de tabel op drie niveaus beschikbaar via omgevingsvariabelen waarnaar u kunt verwijzen met behulp van het valueFrom veld.
Voorbeeldconfiguratie:
env:
- name: UC_TABLE_NAME
valueFrom: table # Use your custom resource key if different
De tabel in uw toepassing gebruiken:
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"
)
Zie Omgevingsvariabelen gebruiken voor toegang tot resources voor meer informatie.
Een Unity Catalog-tabelresource verwijderen
Wanneer u een Unity Catalog-tabelresource verwijdert uit een app, verliest de service-principal van de app de SELECT, MODIFY, en ALL PRIVILEGES rechten op de tabel. Azure Databricks probeert ook hiƫrarchische catalogus- en schemamachtigingen in te trekken. De tabel zelf blijft ongewijzigd en blijft beschikbaar voor andere gebruikers en toepassingen met de juiste machtigingen.
Best practices
Houd rekening met het volgende wanneer u met tabelbronnen van Unity Catalog werkt:
- Minimale machtigingen verlenen. Gebruik
SELECTtenzij uw app gegevens naar de tabel moet schrijven. - Combineer tabelresources met een SQL Warehouse-resource wanneer uw app SQL-query's moet uitvoeren op de tabel.
- Gebruik afzonderlijke tabelbronnen voor verschillende tabellen in plaats van brede toegang op schemaniveau te verlenen, zodat u het principe van minimale bevoegdheden kunt toepassen.
- Overweeg om Unity Catalog-volumes te gebruiken voor ongestructureerde gegevens en Unity Catalog-tabellen voor gestructureerde gegevens.