Skapa en lagringsautentiseringsuppgift för anslutning till Azure Data Lake Storage Gen2
Den här artikeln beskriver hur du skapar en lagringsautentiseringsuppgift i Unity Catalog för att ansluta till Azure Data Lake Storage Gen2.
För att hantera åtkomst till den underliggande molnlagringen som innehåller tables och volumesanvänder Unity Catalog följande objekttyper:
- Storage credentials kapsla in en långsiktig molnautentiseringsuppgift som ger åtkomst till molnlagring.
- Externa platser innehåller en referens till en lagringsautentiseringsuppgift och en molnlagringssökväg.
Mer information finns i Hantera åtkomst till molnlagring med Unity Catalog.
Kommentar
Om du vill använda Unity Catalog för att styra åtkomsten till en extern tjänst i stället för molnlagring läser du Hantera åtkomst till externa molntjänster med hjälp av tjänsten credentials.
Unity Catalog stöder tre molnlagringsalternativ för Azure Databricks: Azure Data Lake Storage Gen2-containrar, Cloudflare R2-bucketar och DBFS Root. Cloudflare R2 är främst avsett för användningsfall för deltadelning där du vill undvika avgifter för utgående data. Azure Data Lake Storage Gen2 är lämpligt för de flesta andra användningsfall. Den här artikeln fokuserar på att skapa lagring credentials för Azure Data Lake Storage Gen2-containrar. För Cloudflare R2, se Skapa en lagringsautentiseringsuppgift för anslutning till Cloudflare R2.
DBFS Root används för att kontrollera åtkomsten till din DBFS root. Även om Databricks rekommenderar att du inte lagrar data i DBFS-rotlagringen kan din arbetsyta göra det på grund av äldre metoder. För DBFS-rot, se Skapa en extern plats för data i DBFS-rot.
Om du vill skapa en lagringsautentiseringsuppgift för åtkomst till en Azure Data Lake Storage Gen2-container skapar du en Azure Databricks-åtkomstanslutning som refererar till en Hanterad Azure-identitet och tilldelar den behörigheter för lagringscontainern. Sedan refererar du till anslutningsappen i definitionen för lagringsautentiseringsuppgifter.
Krav
I Azure Databricks:
- Azure Databricks-arbetsytan aktiverad för Unity Catalog.
-
CREATE STORAGE CREDENTIAL
behörighet på Unity Catalog metaarkiv som är anslutet till arbetsytan. Kontoadministratörer och metaarkivadministratörer har den här behörigheten som standard.
I din Azure-klientorganisation:
En Azure Data Lake Storage Gen2-lagringscontainer. För att undvika utgående avgifter bör detta finnas i samma region som den arbetsyta som du vill komma åt data från.
Azure Data Lake Storage Gen2-lagringskontot måste ha ett hierarkiskt namnområde.
Deltagare eller ägare av en Azure-resursgrupp.
Ägare eller en användare med Azure RBAC-rollen Administratör för användaråtkomst på lagringskontot.
Skapa en lagringsautentiseringsuppgift med hjälp av en hanterad identitet
Du kan använda antingen en hanterad Azure-identitet eller ett huvudnamn för tjänsten som den identitet som ger åtkomst till din lagringscontainer. Hanterade identiteter rekommenderas starkt. De har fördelen att ge Unity Catalog åtkomst till lagringskonton som skyddas av nätverksregler, vilket inte är möjligt med hjälp av tjänstens huvudnamn, och de remove behovet av att hantera och rotera hemligheter. Om du vill använda ett tjänstehuvudnamn, se Skapa Unity Catalog hanterad lagring med hjälp av ett tjänstehuvudnamn (äldre).
I Azure-portalen skapar du en Azure Databricks-åtkomstanslutning och tilldelar den behörigheter för den lagringscontainer som du vill komma åt med hjälp av anvisningarna i Konfigurera en hanterad identitet för Unity Catalog.
En Azure Databricks-åtkomstanslutning är en Azure-resurs från första part som gör att du kan ansluta hanterade identiteter till ett Azure Databricks-konto. Du måste ha rollen Deltagare eller högre för åtkomstanslutningsresursen i Azure för att lägga till lagringsautentiseringsuppgifterna.
Anteckna åtkomstanslutningsappens resurs-ID.
Logga in på din Unity-Catalog-aktiverade Azure Databricks-arbetsyta som en användare som har
CREATE STORAGE CREDENTIAL
behörighet.Både administratörsrollerna för metaarkivet och kontoadministratören innehåller den här behörigheten.
Klicka på ikonen Catalog.
På sidan Snabbåtkomst klickar du på knappen Externa data >, går till fliken Credentials och selectSkapa autentiseringsuppgifter.
Select Storage-autentiseringsuppgifter.
Select en behörighetstyp för Azure Managed Identity.
Ange ett namn på autentiseringsuppgifterna och ange åtkomstanslutningsappens resurs-ID i formatet:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(Valfritt) Om du har skapat åtkomstanslutningsappen med hjälp av en användartilldelad hanterad identitet anger du resurs-ID för den hanterade identiteten i fältet Användartilldelad hanterad identitets-ID i formatet:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
(Valfritt) Om du vill att användarna ska ha skrivskyddad åtkomst till de externa platser som använder den här autentiseringsuppgiften, selectskrivskyddat. Mer information finns i Markera en lagringsautentiseringsuppgift som skrivskyddad.
Klicka på Skapa.
(Valfritt) Binda lagringsautentiseringsuppgifterna till specifika arbetsytor.
Som standard kan alla privilegierade användare använda lagringsautentiseringsuppgifterna på alla arbetsytor som är anslutna till metaarkivet. Om du bara vill tillåta åtkomst från specifika arbetsytor går du till fliken Arbetsytor och tilldelar arbetsytor. Se (Valfritt) Tilldela en lagringsautentiseringsuppgift till specifika arbetsytor.
Skapa en extern plats som refererar till den här lagringsautentiseringsuppgiften.
(Valfritt) Tilldela en lagringsautentiseringsuppgift till specifika arbetsytor
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Som standard är en lagringsautentiseringsuppgift tillgänglig från alla arbetsytor i metaarkivet. Det innebär att om en användare har beviljats behörighet (till exempel ) för lagringsautentiseringsuppgifterna kan de utöva den behörigheten från alla arbetsytor som CREATE EXTERNAL LOCATION
är kopplade till metaarkivet. Om du använder arbetsytor för att isolera åtkomst till användardata kanske du endast vill tillåta åtkomst till lagringsautentiseringsuppgifter från specifika arbetsytor. Den här funktionen kallas för bindning av arbetsytor eller isolering av lagringsautentiseringsuppgifter.
Ett vanligt användningsfall för att binda en lagringsautentiseringsuppgift till specifika arbetsytor är scenariot där en molnadministratör konfigurerar en lagringsautentiseringsuppgift med hjälp av autentiseringsuppgifter för ett produktionsmolnkonto, och du vill se till att Azure Databricks-användare använder den här autentiseringsuppgiften för att endast skapa externa platser på produktionsarbetsytan.
Mer information om bindning av arbetsytor finns i (valfritt) Tilldela en extern plats till specifika arbetsytor och Limitcatalog åtkomst till specifika arbetsytor.
Kommentar
Bindningar för arbetsytor refereras till när behörigheter mot lagring credentials utövas. Om en användare till exempel skapar en extern plats med hjälp av en lagringsautentiseringsuppgift kontrolleras arbetsytebindningen för lagringsautentiseringsuppgifterna endast när den externa platsen skapas. När den externa platsen har skapats fungerar den oberoende av de arbetsytebindningar som konfigurerats för lagringsautentiseringsuppgifterna.
Binda en lagringsautentiseringsuppgift till en eller flera arbetsytor
Om du vill tilldela en lagringsautentiseringsuppgift till specifika arbetsytor kan du använda Catalog Explorer eller Databricks CLI.
behörigheter som krävs: Metastore-administratör, ägare av lagringsautentisering eller MANAGE
för lagringsautentiseringen.
Kommentar
Metaarkivadministratörer kan se alla lagrings- credentials i ett metaarkiv med hjälp av Catalog Explorer– och ägare av lagringsautentiseringsuppgifter kan se alla lagrings- credentials som de äger i ett metaarkiv – oavsett om lagringsautentiseringsuppgifterna har tilldelats till den aktuella arbetsytan. Lagring credentials som inte har tilldelats arbetsytan visas som nedtonad.
Catalog Explorer
Logga in på en arbetsyta som är länkad till metaarkivet.
I sidofältet klickar du på ikonen Catalog.
På sidan Snabbåtkomst klickar du på knappen Externa data > och går till fliken Credentials.
Select lagringsautentiseringsuppgifterna och gå till fliken Arbetsytor.
På fliken Arbetsytor avmarkerar du kryssrutan Alla arbetsytor har åtkomst .
Om lagringsautentiseringsuppgifterna redan är bundna till en eller flera arbetsytor är den här kryssrutan redan avmarkerad.
Klicka på Tilldela till arbetsytor och ange eller hitta de arbetsytor som du vill tilldela.
För att revoke kunna komma åt går du till fliken Arbetsytor, select arbetsytan, och klickar på Revoke. För att möjliggöra åtkomst från alla arbetsytor, markera kryssrutan selectAlla arbetsytor har åtkomst.
CLI
Det finns två Databricks CLI-kommandogrupper och två steg som krävs för att tilldela en lagringsautentiseringsuppgift till en arbetsyta.
I följande exempel ersätter du <profile-name>
med namnet på din Konfigurationsprofil för Azure Databricks-autentisering. Det bör innehålla värdet för en personlig åtkomsttoken samt instansnamnet och arbetsyte-ID för arbetsytan where där du genererade den personliga åtkomsttoken. Mer information finns i autentisering med personlig åtkomsttoken i Azure Databricks.
Använd
storage-credentials
-kommandogruppensupdate
-kommando för att set lagringsuppgiftenisolation mode
tillISOLATED
:databricks storage-credentials update <my-storage-credential> \ --isolation-mode ISOLATED \ --profile <profile-name>
Standardvärdet
isolation-mode
är alla arbetsytor som ärOPEN
kopplade till metaarkivet.workspace-bindings
Använd kommandogruppensupdate-bindings
kommando för att tilldela arbetsytorna till lagringsautentiseringsuppgifterna:databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \ --json '{ "add": [{"workspace_id": <workspace-id>}...], "remove": [{"workspace_id": <workspace-id>}...] }' --profile <profile-name>
Använd egenskaperna
"add"
och"remove"
för att lägga till eller remove arbetsytebindningar.Kommentar
Skrivskyddad bindning (
BINDING_TYPE_READ_ONLY
) är inte tillgänglig för lagring credentials. Därför finns det ingen anledning att setbinding_type
för lagringen credentials bindning.
Om du vill list alla arbetsytetilldelningar för en lagringsreferens använder du kommandot get-bindings
i kommandogruppen workspace-bindings
:
databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>
Koppla bort en lagringsautentiseringsuppgift från en arbetsyta
Instruktioner för att återkalla arbetsytans åtkomst till en lagringsautentiseringsuppgift med hjälp av Catalog Explorer eller kommandogruppen workspace-bindings
CLI ingår i Binda en lagringsautentiseringsuppgift till en eller flera arbetsytor.
Nästa steg
Du kan visa, update, ta bort och grant andra användares behörighet att använda lagring credentials. Se Hantera lagring credentials.
Du kan definiera externa platser med hjälp av lagring credentials. Se Skapa en extern plats för att ansluta molnlagring till Azure Databricks.