Delen via


Externe gegevenstoegang tot Unity Catalog inschakelen

Belangrijk

Deze functie bevindt zich in openbare preview-versie.

Azure Databricks biedt toegang tot Unity Catalog-tabellen met behulp van de Unity REST API en apache Iceberg REST-catalogus.

Een metastore-beheerder moet externe gegevenstoegang inschakelen voor elke metastore die u extern moet openen. De gebruiker of service-principal die de verbinding configureert, moet over de EXTERNAL USE SCHEMA bevoegdheid beschikken voor elk schema waar ze ondersteunde bewerkingen moeten uitvoeren: lezen vanuit beheerde tabellen of het maken, lezen en schrijven naar externe tabellen.

De Unity REST API biedt ondersteuning voor directe leesbewerkingen voor Delta-tabellen. De Iceberg REST-catalogus ondersteunt leesbewerkingen voor Delta-tabellen en lees- en schrijfbewerkingen voor Iceberg-tabellen. Zie Toegang tot Databricks-gegevens met behulp van externe systemen.

externe gegevenstoegang inschakelen in de metastore

Als u externe engines toegang wilt geven tot gegevens in een metastore, moet een metastore-beheerder externe gegevenstoegang inschakelen voor de metastore. Deze optie is standaard uitgeschakeld om onbevoegde externe toegang te voorkomen.

Ga als volgt te werk om externe gegevenstoegang in te schakelen:

  1. Klik in een Azure Databricks-werkruimte die is gekoppeld aan de metastore op het pictogram Gegevens.Catalogus.
  2. Klik op het tandwielpictogram. tandwielpictogram boven aan het deelvenster Catalogus en selecteer Metastore.
  3. Schakel op het tabblad Detailsexterne gegevenstoegang in.

Notitie

Deze opties worden alleen weergegeven voor gebruikers met voldoende bevoegdheden. Als u deze opties niet ziet, hebt u geen machtigingen om externe gegevenstoegang in te schakelen voor een metastore.

Een principal Unity Catalog-bevoegdheden verlenen

Externe clients die verbinding maken met Azure Databricks hebben autorisatie nodig van een voldoende bevoegde principal.

Azure Databricks ondersteunt OAuth- en persoonlijke toegangstokens (PAT) voor verificatie. Zie Toegang tot Azure Databricks-resources autoriseren.

De principal die de tijdelijke referentie aanvraagt, moet beschikken over:

  • De EXTERNAL USE SCHEMA bevoegdheid voor het betreffende schema of de bovenliggende catalogus.

    Deze bevoegdheid moet altijd expliciet worden verleend. Alleen de eigenaar van de bovenliggende catalogus kan deze verlenen. Om onbedoelde exfiltratie te voorkomen, bevat ALL PRIVILEGES niet de EXTERNAL USE SCHEMA bevoegdheid en hebben schema-eigenaren deze bevoegdheid niet standaard.

  • SELECT machtiging voor de tabel, USE CATALOG op de bovenliggende catalogus en USE SCHEMA op het bovenliggende schema.

  • Als u externe tabellen maakt, moet de principal ook de CREATE TABLE bevoegdheid voor het schema en zowel de als CREATE EXTERNAL TABLE de EXTERNAL USE LOCATION bevoegdheden op de externe doellocatie hebben.

    EXTERNAL USE LOCATION moet altijd expliciet worden verleend. Alleen gebruikers met de MANAGE bevoegdheid op de externe locatie kunnen deze verlenen. Om onbedoelde exfiltratie te voorkomen, ALL PRIVILEGES bevat dit niet de EXTERNAL USE LOCATION bevoegdheid en hebben locatie-eigenaren deze bevoegdheid niet standaard.

De volgende voorbeeldsyntaxis laat zien hoe EXTERNAL USE SCHEMA aan een gebruiker wordt verleend:

GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`

De volgende voorbeeldsyntaxis laat zien hoe EXTERNAL USE LOCATION aan een gebruiker wordt verleend:

GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_name TO `user@company.com`

Ervan uitgaande dat de gebruiker de machtigingen heeft om alle gewenste tabellen in het schema te lezen, zijn er geen extra machtigingen nodig. Zie Unity Catalog-bevoegdheden en beveiligbare objectenals u extra machtigingen moet verlenen om tabellen te lezen.