Een opslagreferentie maken om verbinding te maken met Azure Data Lake Storage Gen2
In dit artikel wordt beschreven hoe u een opslagreferentie maakt in Unity Catalog om verbinding te maken met Azure Data Lake Storage Gen2.
Voor het beheren van de toegang tot de onderliggende cloudopslag die tables en volumesbevat, gebruikt Unity Catalog de volgende objecttypen:
- Storage credentials omvat een langdurige cloudreferentie die toegang biedt tot cloudopslag.
- Externe locaties bevatten een verwijzing naar een opslagreferentie en een cloudopslagpad.
Voor meer informatie, zie Beheer toegang tot cloudopslag met behulp van Unity Catalog.
Notitie
Als u Unity Catalog wilt gebruiken om de toegang tot een externe service te beheren in plaats van cloudopslag, raadpleegt u Toegang tot externe cloudservices beheren met behulp van de service credentials.
Unity Catalog ondersteunt drie cloudopslagopties voor Azure Databricks: Azure Data Lake Storage Gen2-containers, Cloudflare R2-buckets en DBFS Root. Cloudflare R2 is voornamelijk bedoeld voor gebruiksscenario's voor Delta Sharing waarin u kosten voor uitgaande gegevens wilt voorkomen. Azure Data Lake Storage Gen2 is geschikt voor de meeste andere gebruiksvoorbeelden. Dit artikel is gericht op het maken van opslag credentials voor Azure Data Lake Storage Gen2-containers. Zie Voor Cloudflare R2 een opslagreferentie maken om verbinding te maken met Cloudflare R2.
DBFS Root wordt gebruikt om de toegang tot uw DBFS-rootte beheren. Hoewel Databricks aanbeveelt om geen gegevens op te slaan in de DBFS-hoofdopslag, kan uw werkruimte dit doen vanwege verouderde procedures. Zie voor het maken van een externe locatie voor gegevens in de DBFS-hoofdmap.
Als u een opslagreferentie wilt maken voor toegang tot een Azure Data Lake Storage Gen2-container, maakt u een Azure Databricks-toegangsconnector die verwijst naar een door Azure beheerde identiteit en deze machtigingen toewijst aan de opslagcontainer. Vervolgens verwijst u naar die toegangsconnector in de definitie van de opslagreferentie.
Vereisten
In Azure Databricks:
- Azure Databricks-werkruimte ingeschakeld voor Unity Catalog.
-
CREATE STORAGE CREDENTIAL
bevoegdheid op de Unity Catalog metastore aangesloten bij de werkruimte. Accountbeheerders en metastore-beheerders hebben deze bevoegdheid standaard.
In uw Azure-tenant:
Een Azure Data Lake Storage Gen2-opslagcontainer. Om uitgaande kosten te voorkomen, moet dit zich in dezelfde regio bevinden als de werkruimte waaruit u toegang wilt krijgen tot de gegevens.
Het Azure Data Lake Storage Gen2-opslagaccount moet een hiƫrarchische naamruimte hebben.
Inzender of eigenaar van een Azure-resourcegroep.
Eigenaar of een gebruiker met de Azure RBAC-rol Gebruikerstoegangsbeheerder voor het opslagaccount.
Een opslagreferentie maken met een beheerde identiteit
U kunt een door Azure beheerde identiteit of een service-principal gebruiken als de identiteit die toegang tot uw opslagcontainer autoriseert. Beheerde identiteiten worden sterk aanbevolen. Ze hebben het voordeel dat Unity Catalog toegang heeft tot opslagaccounts die worden beveiligd door netwerkregels, wat niet mogelijk is met behulp van service-principals, en ze remove de noodzaak om geheimen te beheren en te roteren. Als u een service-principal wilt gebruiken, raadpleegt u Maak Unity Catalog beheerde opslag met een service-principal (verouderd).
Maak in Azure Portal een Azure Databricks-toegangsconnector en wijs deze machtigingen toe aan de opslagcontainer waartoe u toegang wilt krijgen met behulp van de instructies in Een beheerde identiteit configureren voor Unity Catalog.
Een Azure Databricks-toegangsconnector is een eigen Azure-resource waarmee u beheerde identiteiten kunt verbinden met een Azure Databricks-account. U moet de rol Inzender of hoger hebben voor de toegangsconnectorresource in Azure om de opslagreferentie toe te voegen.
Noteer de resource-id van de toegangsconnector.
Meld u aan bij uw Unity Catalog-ingeschakelde Azure Databricks-werkruimte als een gebruiker met bevoegdheid
CREATE STORAGE CREDENTIAL
.De beheerdersrollen metastore en accountbeheerders omvatten beide deze bevoegdheid.
Klik op Catalog.
Klik op de Snelle toegang pagina op de knop Externe gegevens >, ga naar het tabblad Credentials, en selectInloggegevens aanmaken.
Select Opslaggegevens.
Select een referentietype van Azure Managed Identity.
Voer een naam in voor de referentie en voer de resource-id van de toegangsconnector in de indeling in:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(Optioneel) Als u de toegangsconnector hebt gemaakt met behulp van een door de gebruiker toegewezen beheerde identiteit, voert u de resource-id van de beheerde identiteit in het veld Door de gebruiker toegewezen beheerde identiteit in, in de indeling:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
(Optioneel) Als u wilt dat gebruikers alleen-lezentoegang hebben tot de externe locaties die gebruikmaken van deze opslagreferentie, selectalleen-lezen. Zie Een opslagreferentie markeren als alleen-lezen voor meer informatie.
Klik op Create.
(Optioneel) Koppel de opslagreferentie aan specifieke werkruimten.
Standaard kan elke bevoegde gebruiker de opslagreferentie gebruiken voor elke werkruimte die is gekoppeld aan de metastore. Als u alleen toegang vanuit specifieke werkruimten wilt toestaan, gaat u naar het tabblad Werkruimten en wijst u werkruimten toe. Zie (Optioneel) Een opslagreferentie toewijzen aan specifieke werkruimten.
Maak een externe locatie die verwijst naar deze opslagreferentie.
(Optioneel) Een opslagreferentie toewijzen aan specifieke werkruimten
Belangrijk
Deze functie is beschikbaar als openbare preview.
Standaard is een opslagreferentie toegankelijk vanuit alle werkruimten in de metastore. Dit betekent dat als een gebruiker een bevoegdheid (zoals CREATE EXTERNAL LOCATION
) heeft gekregen voor die opslagreferentie, deze bevoegdheden kan uitoefenen vanuit elke werkruimte die is gekoppeld aan de metastore. Als u werkruimten gebruikt om de toegang tot gebruikersgegevens te isoleren, wilt u mogelijk alleen toegang tot een opslagreferentie vanuit specifieke werkruimten toestaan. Deze functie staat bekend als isolatie van werkruimtebinding of opslagreferenties.
Een typische use case voor het koppelen van een opslagreferentie aan specifieke werkruimten is het scenario waarin een cloudbeheerder een opslagreferentie configureert met behulp van een referentie voor een productiecloudaccount en u ervoor wilt zorgen dat Azure Databricks-gebruikers deze referentie gebruiken om alleen externe locaties in de productiewerkruimte te maken.
Zie (optioneel) Een externe locatie toewijzen aan specifieke werkruimten en Limitcatalog toegang tot specifieke werkruimtenvoor meer informatie over werkruimtebinding.
Notitie
Er wordt naar werkruimtebindingen verwezen wanneer bevoegdheden voor opslag credentials worden uitgeoefend. Als een gebruiker bijvoorbeeld een externe locatie maakt met behulp van een opslagreferentie, wordt de werkruimtebinding op de opslagreferentie alleen gecontroleerd wanneer de externe locatie wordt gemaakt. Nadat de externe locatie is gemaakt, werkt deze onafhankelijk van de werkruimtebindingen die zijn geconfigureerd op de opslagreferentie.
Een opslagreferentie koppelen aan een of meer werkruimten
Als u een opslagreferentie wilt toewijzen aan specifieke werkruimten, kunt u Catalog Explorer of de Databricks CLI gebruiken.
Vereiste machtigingen: Metastore-beheerder, opslagreferentie-eigenaar, of MANAGE
van de opslagreferentie.
Notitie
Metastore-beheerders kunnen alle opslag-credentials in een metastore zien met behulp van Catalog Explorer. Eigenaren van opslagreferenties kunnen alle opslag-credentials zien waarvan ze eigenaar zijn in een metastore, ongeacht of de opslagreferentie is toegewezen aan de huidige werkruimte. Opslag credentials die niet zijn toegewezen aan de werkruimte, worden grijs weergegeven.
Catalog Explorer
Meld u aan bij een werkruimte die is gekoppeld aan de metastore.
Klik in de zijbalk op Catalog.
Klik op de pagina Snelle toegang op de knop Externe gegevens > en ga naar het tabblad Credentials.
Select de opslagreferentiecode en ga naar het tabblad Werkruimten.
Schakel op het tabblad Werkruimten het selectievakje Alle werkruimten toegang hebben .
Als uw opslagreferentie al is gebonden aan een of meer werkruimten, is dit selectievakje al uitgeschakeld.
Klik op Toewijzen aan werkruimten en voer de werkruimten in die u wilt toewijzen of zoek deze.
Om toegang tot revoke te krijgen, gaat u naar het tabblad Werkruimte, select de werkruimte, en klikt u op Revoke. Als u toegang vanuit alle werkruimten wilt toestaan, select het selectievakje Alle werkruimten hebben toegang.
CLI
Er zijn twee Databricks CLI-opdrachtgroepen en twee stappen vereist om een opslagreferentie toe te wijzen aan een werkruimte.
Vervang in de volgende voorbeelden door <profile-name>
de naam van uw Azure Databricks-verificatieconfiguratieprofiel. Het moet de waarde van een persoonlijk toegangstoken bevatten, naast de naam van het werkruimte-exemplaar en de werkruimte-id van werkruimte where, waar u het persoonlijke toegangstoken hebt gegenereerd. Zie persoonlijke toegangstokenverificatie van Azure Databricks.
Gebruik de
update
-opdracht van destorage-credentials
-opdrachtgroep om deisolation mode
van de opslagreferentie te set naarISOLATED
:databricks storage-credentials update <my-storage-credential> \ --isolation-mode ISOLATED \ --profile <profile-name>
De standaardwaarde
isolation-mode
isOPEN
voor alle werkruimten die zijn gekoppeld aan de metastore.Gebruik de opdracht van de
workspace-bindings
opdrachtgroepupdate-bindings
om de werkruimten toe te wijzen aan de opslagreferentie:databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
Gebruik de eigenschappen
"add"
en"remove"
om werkruimtebindingen toe te voegen of te remove.Notitie
Alleen-lezen-koppeling (
BINDING_TYPE_READ_ONLY
) is niet beschikbaar voor opslag credentials. Daarom is er geen reden om setbinding_type
voor de opslagbinding credentials.
Als u alle werkruimtetoewijzingen voor een opslagreferentie wilt list, gebruikt u de opdracht get-bindings
van de opdrachtgroep workspace-bindings
.
databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>
Een opslagreferentie uit een werkruimte ontkoppelen
Instructies voor het intrekken van werkruimtetoegang tot een opslagreferentie met behulp van Catalog Explorer of de workspace-bindings
CLI-opdrachtgroep zijn opgenomen in Een opslagreferentie koppelen aan een of meer werkruimten.
Volgende stappen
U kunt bekijken, updateverwijderen en grant andere gebruikers toestemming geven om opslag credentialste gebruiken. Zie Opslag beheren credentials.
U kunt externe locaties definiƫren met opslag credentials. Zie Een externe locatie maken om cloudopslag te verbinden met Azure Databricks.