Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här sidan beskriver hur du använder Azure hanterade identiteter för att ansluta till lagringscontainrar för Unity Catalog-användares räkning.
Vad är Azure hanterade identiteter?
Unity Catalog kan konfigureras för att använda en Azure hanterad identitet för att få åtkomst till lagringscontainrar för Unity Catalog-användare. Hanterade identiteter tillhandahåller en identitet som program kan använda när de ansluter till resurser som stöder Microsoft Entra ID autentisering.
Du kan använda hanterade identiteter i Unity Catalog för att stödja två primära användningsfall:
- Som en identitet för att ansluta till metaarkivets hanterade lagringskonton (där hanterade tabeller lagras).
- Som en identitet för att ansluta till andra externa lagringskonton (antingen för filbaserad åtkomst eller för åtkomst till befintliga datauppsättningar via externa tabeller).
Att konfigurera Unity Catalog med en hanterad identitet har följande fördelar jämfört med att konfigurera Unity Catalog med tjänstens huvudnamn:
- Hanterade identiteter kräver inte att du underhåller autentiseringsuppgifter eller roterar hemligheter.
- Om din Azure Databricks-arbetsyta distribueras i ditt eget virtuella nätverk (kallas även VNet-inmatning) och du använder en lagringsbrandvägg för att skydda ett Azure Data Lake Storage konto kan du använda den hanterade identiteten för att ansluta arbetsytan till det kontot. Se (rekommenderas för VNet-inmatade arbetsytor) Konfigurera betrodd åtkomst till Azure Storage baserat på din hanterade identitet.
Konfigurera en hanterad identitet för Unity Catalog
Om du vill konfigurera en hanterad identitet som ska användas med Unity Catalog skapar du först en åtkomstanslutning för Azure Databricks i Azure. Som standard distribueras åtkomstanslutningsappen med en systemtilldelad hanterad identitet. Du kan i stället välja att koppla en användartilldelad hanterad identitet. Sedan ger du den hanterade identiteten åtkomst till ditt Azure Data Lake Storage-konto och använder åtkomstanslutningsappen när du skapar ett Unity Catalog-metaarkiv eller lagringsautentiseringsuppgifter.
Kravspecifikation
Den Azure-användare eller -tjänstprincip som skapar åtkomstanslutningen måste:
- Vara en
ContributorellerOwnerför en Azure-resursgrupp.
Den Azure-användare eller tjänsthuvudnamn som beviljar en hanterad identitet till lagringskontot måste:
- Var en
Ownereller en användare medUser Access AdministratorAzure RBAC-rollen på lagringskontot.
Steg 1: Skapa en åtkomstanslutning för Azure Databricks
Access Connector för Azure Databricks är en Azure resurs från första part som gör att du kan ansluta hanterade identiteter till ett Azure Databricks konto. Varje åtkomstanslutning för Azure Databricks kan innehålla en systemtilldelad hanterad identitet, en eller flera användartilldelade hanterade identiteter eller båda.
Logga in på Azure Portal som deltagare eller ägare av en resursgrupp.
Klicka på + Skapa eller Skapa en ny resurs.
Sök efter Access Connector för Azure Databricks och välj det.
Klicka på Skapa.
På fliken Grundläggande accepterar, väljer eller anger du värden för följande fält:
- Subscription: Det här är den Azure prenumeration som åtkomstanslutningsappen skapas i. Standardvärdet är den Azure prenumeration som du använder för närvarande. Det kan vara vilken prenumeration som helst i klientorganisationen.
- Resource-gruppen: Det här är den Azure resursgrupp som åtkomstanslutningsappen skapas i.
- Namn: Ange ett namn som anger syftet med anslutningsappen.
- Region: Detta bör vara samma region som det lagringskonto som du ska ansluta till.
Klicka på Nästa, ange taggar och klicka på Nästa.
På fliken hanterad identitet skapar du de hanterade identiteterna på följande sätt:
- Om du vill använda en systemtilldelad hanterad identitet anger du Status till På
- Om du vill lägga till användartilldelade hanterade identiteter klickar du på + Lägg till och väljer en eller flera användartilldelade hanterade identiteter.
Klicka på Granska och skapa.
När du ser meddelandet Validering har skickats klickar du på Skapa.
När distributionen är färdig klickar du på Gå till resurs.
Anteckna resurs-ID:t.
Resurs-ID:t är i formatet:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
Steg 2: Bevilja den hanterade identiteten åtkomst till lagringskontot
Om du vill bevilja behörigheterna i det här steget måste du ha rollen Owner eller User Access Administrator Azure RBAC på ditt lagringskonto.
Du har följande alternativ när du beviljar den hanterade identiteten åtkomst till lagringskontot och containern:
- Bevilja läs- och skrivåtkomst till hela lagringskontot med hjälp av
Storage Blob Data Contributorrollen. - Bevilja en mer begränsad roll för lagringskontot med hjälp av
Storage Blob Delegatorrollen och läs- och skrivåtkomst till en specifik container med hjälp avStorage Blob Data Contributorrollen.
Anvisningarna nedan förutsätter att du beviljar Storage Blob Data Contributor rollen för lagringskontot, men du kan ersätta de andra alternativen efter behov:
- Logga in på ditt Azure Data Lake Storage konto.
- Gå till Access Control (IAM), klicka på + Lägg till och välj Lägg till rolltilldelning.
- Välj rollen Storage Blob Data Contributor och klicka på Nästa.
- Under Tilldela åtkomst till väljer du Hanterad identitet.
- Klicka på +Select Members och välj antingen Åtkomstanslutning för Azure Databricks eller Användarassocierad hanterad identitet.
- Sök efter ditt kontaktnamn eller användartilldelad identitet, välj den och klicka på Granska och Tilldela.
Steg 3: Bevilja den hanterade identiteten åtkomst till filhändelser
Information om hur du konfigurerar nödvändiga Azure roller och aktiverar filhändelser för externa platser finns i Konfigurera filhändelser för en extern plats.
Använda en hanterad identitet för att få åtkomst till Unity Catalog-rotlagringskontot
I det här avsnittet beskrivs hur du ger den hanterade identiteten åtkomst till rotlagringskontot när du skapar ett Unity Catalog-metaarkiv.
Information om hur du uppgraderar ett befintligt Unity Catalog-metaarkiv för att använda en hanterad identitet finns i Uppgradera ditt befintliga Unity Catalog-metaarkiv för att använda en hanterad identitet för att få åtkomst till dess rotlagring.
Som Azure Databricks kontoadministratör loggar du in på kontokonsolen Azure Databricks.
Klicka på
Katalog.
Klicka på Skapa metaarkiv.
Ange värden för följande fält:
Namn för metabutiken.
Region där metaarkivet ska distribueras.
För bästa prestanda kan du samplacerar åtkomstanslutningen, arbetsytor, metaarkiv och molnlagringsplats i samma molnregion.
ADLS Gen 2-sökväg: Ange sökvägen till den lagringscontainer som du ska använda som rotlagring för metaarkivet.
Kontrollera att sökvägen börjar med
abfss://.Access Connector ID: ange resurs-ID för Azure Databricks-anslutningsappen i formatet:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>(Valfritt) Hanterat identitets-ID: Om du skapade åtkomstanslutningsappen med hjälp av en användartilldelad hanterad identitet anger du resurs-ID för den hanterade identiteten.
Klicka på Skapa.
När du uppmanas till det väljer du arbetsytor som ska länkas till metaarkivet.
Använda en hanterad identitet för att komma åt extern lagring som hanteras i Unity Catalog
Unity Catalog ger dig möjlighet att komma åt befintliga data i lagringskonton med hjälp av autentiseringsuppgifter för lagring och externa platser. Autentiseringsuppgifterna lagrar den hanterade identiteten och externa platser definierar en lagringsväg tillsammans med en referens till lagringsautentiseringsuppgiften. Du kan använda den här metoden för att bevilja och kontrollera åtkomst till befintliga data i molnlagring och för att registrera externa tabeller i Unity Catalog.
En lagringsautentiseringsuppgift kan innehålla en hanterad identitet eller tjänstens huvudnamn. Att använda en hanterad identitet 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 det tar bort behovet av att hantera och rotera hemligheter.
Om du vill skapa en lagringsautentiseringsuppgift med hjälp av en hanterad identitet och tilldela lagringsautentiseringsuppgifterna till en extern plats följer du anvisningarna i Anslut till molnobjektlagring med hjälp av Unity Catalog.
(rekommenderas för VNet-inmatade arbetsytor) Konfigurera betrodd åtkomst till Azure Storage baserat på din hanterade identitet
Om din Azure Databricks-arbetsyta distribueras i ett eget Azure virtuellt nätverk, även kallat "VNet-injektion", och du använder en lagringsbrandvägg för att skydda ett Azure Data Lake Storage-konto, måste du:
- Aktivera din Azure Databricks arbetsyta för att få åtkomst till Azure Storage.
- Aktivera din hanterade identitet för att få åtkomst till Azure Storage.
Steg 1. Aktivera din Azure Databricks arbetsyta för åtkomst till Azure Storage
Du måste konfigurera nätverksinställningar så att din Azure Databricks arbetsyta får åtkomst till Azure Data Lake Storage. Kontrollera först att din Azure Databricks arbetsyta distribueras i ditt eget virtuella nätverk efter Distribuera Azure Databricks i ditt Azure virtuella nätverk (VNet-inmatning). Du kan sedan konfigurera antingen private-slutpunkter eller åtkomst från ditt virtuella nätverk för att tillåta anslutningar från dina undernät till ditt Azure Data Lake Storage konto.
Om du använder serverlös beräkning som serverlösa SQL-lager måste du bevilja åtkomst från det serverlösa beräkningsplanet till Azure Data Lake Storage. Se Serverlös beräkningsresurs-nätverk.
Steg 2: Aktivera din hanterade identitet för åtkomst till Azure Storage
Det här steget är bara nödvändigt om "Tillåt Azure tjänster i listan över betrodda tjänster att komma åt det här lagringskontot" är inaktiverat för ditt Azure Storage konto. Om konfigurationen är aktiverad:
- Alla åtkomstanslutningar för Azure Databricks i samma klientorganisation som lagringskontot kan komma åt lagringskontot.
- Alla betrodda tjänster i Azure kan få åtkomst till lagringskontot. Se Grant-åtkomst till betrodda Azure tjänster.
Anvisningarna nedan innehåller ett steg där du inaktiverar den här konfigurationen. Du kan använda Azure Portal eller Azure CLI.
Använd Azure Portal
Logga in på Azure Portal, leta upp och välj Azure Storage-kontot och gå till fliken Networking.
Ange offentlig nätverksåtkomst till Aktiverad från valda virtuella nätverk och IP-adresser.
Som ett alternativ kan du i stället ange offentlig nätverksåtkomst till Inaktiverad. Den hanterade identiteten kan användas för att kringgå kontrollen av åtkomst till offentliga nätverk.
Under Resource-instanser väljer du en Resource-typ av Microsoft. Databricks/accessConnectors och välj din Azure Databricks åtkomstanslutning.
Under Exceptions avmarkerar du kryssrutan Tillåt Azure tjänster i listan över betrodda tjänster för att få åtkomst till det här lagringskontot.
Använd Azure CLI
Installera Azure CLI och sign in. Information om hur du loggar in med ett användarkonto eller tjänstens huvudkonto finns i Logga in med Azure CLI.
Lägg till en nätverksregel i lagringskontot:
az storage account network-rule add \ -–subscription <subscription id of the resource group> \ -–resource-id <resource Id of the access connector for Azure Databricks> \ -–tenant-id <tenant Id> \ -g <name of the Azure Storage resource group> \ -–account-name <name of the Azure Storage resource> \Lägg till resurs-ID:t i formatet:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>När du har skapat nätverksregeln går du till ditt Azure Storage-konto på fliken Azure Portal och visar den hanterade identiteten i fliken Networking under Resource-instanser, resurstyp
Microsoft.Databricks/accessConnectors.Under Exceptions avmarkerar du kryssrutan Tillåt Azure tjänster i listan över betrodda tjänster för att få åtkomst till det här lagringskontot.
Du kan valfritt ställa in offentlig nätverksåtkomst till Inaktiverad. Den hanterade identiteten kan användas för att kringgå kontrollen av åtkomst till offentliga nätverk.
Standardmetoden är att hålla det här värdet inställt på Aktiverad från valda virtuella nätverk och IP-adresser.
(rekommenderas) Konfigurera Azure lagringsbrandväggar för att tillåta åtkomst från serverlösa SQL-lager
Serverlösa SQL-lager är beräkningsresurser som körs i Azure-prenumerationen för Azure Databricks, inte din Azure-prenumeration. Om du konfigurerar en brandvägg på Azure Data Lake Storage och planerar att använda serverlösa SQL-lager måste du konfigurera brandväggen för att tillåta åtkomst från serverlösa SQL-lager.
Anvisningar finns i Konfigurera en brandvägg för serverlös beräkningsåtkomst (äldre).
Uppgradera ditt befintliga Unity Catalog-metaarkiv för att använda en hanterad identitet för att få åtkomst till dess rotlagring
Om du har ett Unity Catalog-metaarkiv som har skapats med ett huvudnamn för tjänsten och du vill uppgradera det till att använda en hanterad identitet kan du uppdatera det med hjälp av ett API-anrop.
Skapa en Access Connector för Azure Databricks och tilldela den behörigheter till lagringscontainern som används för rotlagringen i Unity Catalog-metaarkivet med hjälp av anvisningarna i Konfigurera en hanterad identitet för Unity Catalog.
Du kan skapa åtkomstanslutningen med antingen en systemtilldelad hanterad identitet eller en användartilldelad hanterad identitet.
Anteckna åtkomstanslutningens resurs-ID. Om du använder en användartilldelad hanterad identitet bör du även anteckna dess resurs-ID.
Som kontoadministratör, logga in på ett Azure Databricks arbetsutrymme som har tilldelats metastore.
Du behöver inte vara arbetsyteadministratör.
Skapa en Azure Databricks autentiseringskonfigurationsprofil i din lokala miljö som innehåller följande:
- Arbetsytans instansnamn och arbetsyte-ID för arbetsytan där du genererade din personliga åtkomsttoken.
- Värdet för personlig åtkomsttoken.
Använd Databricks CLI för att köra följande kommando för att återskapa lagringsautentiseringsuppgifterna.
Ersätt platshållarvärdena:
-
<credential-name>: Ett namn på lagringsautentiseringsuppgifterna. -
<access-connector-id>: Resurs-ID för anslutningsappen för Azure Databricks i formatet/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name> -
<managed-identity-id>: Om du har skapat åtkomstanslutningsappen med hjälp av en användartilldelad hanterad identitet anger du resurs-ID för den hanterade identiteten. -
<profile-name>: Namnet på konfigurationsprofilen för Azure Databricks autentisering.
databricks storage-credentials create --json '{ "name\": "<credential-name>", "azure_managed_identity": { "access_connector_id": "<access-connector-id>", "managed_identity_id": "<managed-identity-id>" } }' --profile <profile-name>-
Anteckna lagringsautentiserings-ID:t i svaret.
Kör följande Databricks CLI-kommando för att hämta
metastore_id. Ersätt<profile-name>med namnet på konfigurationsprofilen för Azure Databricks autentisering.databricks metastores summary --profile <profile-name>Kör följande Databricks CLI-kommando för att uppdatera metaarkivet med den nya rotlagringsautentiseringsuppgiften.
Ersätt platshållarvärdena:
-
<metastore-id>: Det metaarkiv-ID som du hämtade i föregående steg. -
<storage-credential-id>: ID för lagringsautentiseringsuppgifter. -
<profile-name>: Namnet på konfigurationsprofilen för Azure Databricks autentisering.
databricks metastores update <metastore-id> \ --storage-root-credential-id <storage-credential-id> \ --profile <profile-name>-