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.
På den här sidan beskrivs hur du ansluter till en extern Azure Data Lake Storage Gen2 (ADLS Gen2). När du har slutfört den här anslutningen kan du styra åtkomsten till dessa ADLS Gen2-objekt med hjälp av Unity Catalog.
För att ansluta till en ADLS Gen2-containersökväg behöver du två skyddsbara objekt i Unity Catalog. Den första är en storage credential, som anger en Azure hanterad identitet som ger åtkomst till ADLS Gen2-containern. Du behöver den här lagringsautentiseringsuppgiften för det andra obligatoriska objektet: en extern plats som definierar sökvägen till din ADLS Gen2-lagringsplats och de autentiseringsuppgifter som krävs för att komma åt platsen.
Requirements
I Azure Databricks-miljön:
- Azure Databricks arbetsyta aktiverad för Unity Catalog.
-
CREATE STORAGE CREDENTIAL-behörighet på Unity Catalog-metastore som är anslutet till arbetsytan. Kontoadministratörer och metaarkivadministratörer har den här behörigheten som standard. -
CREATE EXTERNAL LOCATIONbehörighet för både Unity Catalog-metastore och den lagringsautentiseringsuppgift som den externa platsen refererar till. Metaarkivadministratörer och arbetsyteadministratörer har den här behörigheten som standard.
I ditt Azure konto:
Ett ADLS Gen2-lagringskonto och en container. 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.
Sökvägar för externa platser får endast innehålla ASCII-standardtecken (bokstäver
A–Z, , siffrora–zoch vanliga symboler som0–9,/,_-).Azure Data Lake Storage-lagringskonton som du använder som externa platser måste ha ett hierarkiskt namnområde.
Du kan inte använda Azure-lagringscontainrar med oföränderliga principer (WORM – Write Once, Read Many) aktiverade som externa platser. Unity Catalog kräver DELETE-behörigheter för lagringscontainrar, vilket oföränderlighetsprinciper förhindrar. Mer information om oföränderlighetsprinciper finns i Konfigurera oföränderlighetsprinciper för containrar.
Om åtkomsten till det offentliga nätverket är inaktiverad för lagringskontot måste du aktivera alternativet Tillåt betrodda Azure-tjänster så att Azure Databricks kan ansluta till lagringskontot. Du kan konfigurera den här inställningen med hjälp av Azure CLI:
# Check current network rule set az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query "networkRuleSet" # Set bypass for Azure Services az storage account update \ --name <storage_account_name> \ --resource-group <resource_group_name> \ --bypass AzureServices
Behörighet att skapa en åtkomstanslutning för Azure Databricks i din Azure-prenumeration. För att göra detta måste du vara en
ContributorellerOwnerför en Azure resursgrupp.Behörighet att ändra åtkomstprincipen för lagringskontot. För att göra detta måste du vara ägare eller användare med
User Access AdministratorAzure RBAC-rollen på ditt lagringskonto.
Skapa en lagringsautentiseringsuppgift som har åtkomst till ADLS Gen2
Om du vill skapa en lagringsautentiseringsuppgift för åtkomst till en ADLS Gen2-container skapar du först en åtkomstanslutning för Azure Databricks med en hanterad identitet och ger sedan den hanterade identiteten åtkomst till ditt lagringskonto.
Steg 1: Skapa en åtkomstanslutning för Azure Databricks
En åtkomstanslutning 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-portalen som deltagare eller ägare av en resursgrupp.
Klicka på + Skapa eller Skapa en 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:
- Prenumeration: Det här är den Azure-prenumeration som åtkomstanslutningsappen kommer att 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.
- Resursgrupp: Det här är den Azure-resursgrupp som åtkomstanslutningsappen kommer att 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.
Granska konfigurationsinställningarna och klicka sedan 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
Genom att ge din hanterade identitet åtkomst till filhändelser kan Azure Databricks prenumerera på filhändelsemeddelanden som genereras av molnleverantörer. Detta gör filbearbetningen mer effektiv. Mer information finns i Konfigurera filhändelser för en extern plats.
Om du vill bevilja behörigheterna i det här steget måste du ha rollen Ägare eller Administratör för användaråtkomst för Azure RBAC på ditt lagringskonto.
- 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 Queue 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 4: Bevilja Azure Databricks åtkomst för att konfigurera filhändelser åt dig
Note
Om du inte ger Azure Databricks åtkomst till att konfigurera filhändelser åt dig måste du konfigurera filhändelser manuellt för varje plats. Om du hoppar över den här manuella konfigurationen begränsas din åtkomst till flera Databricks-funktioner. Mer information om filhändelser finns i Konfigurera filhändelser för en extern plats.
Med det här steget kan Azure Databricks konfigurera filhändelser automatiskt. Om du vill bevilja behörigheterna i det här steget måste du ha Azure RBAC-rollerna Ägare eller Användaråtkomstadministratör för din hanterade identitet och resursgruppen som ditt Azure Data Lake Storage-konto finns i.
Följ anvisningarna i Steg 3: Bevilja den hanterade identiteten åtkomst till filhändelser och tilldela lagringskontodeltagaren till din hanterade identitet.
Den här rollen ersätter inte de roller som beviljats i steg 2 eller 3 på den här sidan, men är utöver dem.
Gå till den Azure-resursgrupp som ditt Azure Data Lake Storage-konto finns i.
Gå till Access Control (IAM), klicka på + Lägg till och välj Lägg till rolltilldelning.
Välj rollen EventGrid EventSubscription 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 5: Skapa lagringsautentiseringsuppgifterna i Databricks
Nu när du har skapat en åtkomstanslutning med en hanterad identitet och beviljat den behörighet till ditt lagringskonto kan du skapa lagringsautentiseringsuppgifterna i Azure Databricks.
Logga in i din Azure Databricks-arbetsyta med Unity Catalog som användare med behörigheten
CREATE STORAGE CREDENTIALför metastore.I sidofältet klickar du på
Katalog.
Klicka på
och klicka sedan på Skapa en autentiseringsuppgift.Välj en Credential Type för Azure Managed Identity.
Ange ett namn på lagringsautentiseringsuppgifter och en valfri kommentar.
Ange åtkomstanslutnings-ID :t (resurs-ID:t som du antecknade i steg 1).
Resurs-ID:t är i formatet:
/subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/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 det hanterade identitets-ID :t (resurs-ID för den hanterade identiteten).
(Valfritt) Om du vill att användarna ska ha skrivskyddad åtkomst till de externa platser som använder den här lagringsautentiseringsuppgiften klickar du på Avancerade alternativ och väljer Begränsa till skrivskyddad användning. 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 Tilldela en lagringsautentiseringsuppgift till specifika arbetsytor.
Nu kan du skapa en extern plats som refererar till dina lagringsautentiseringsuppgifter.
Skapa en extern plats för en ADLS Gen2-container
I det här avsnittet beskrivs hur du skapar en extern plats med hjälp av antingen Catalog Explorer eller SQL. Det förutsätter att du redan har en lagringsautentiseringsuppgift som ger åtkomst till din ADLS Gen2-container. Om du inte har någon lagringsautentiseringsuppgift följer du stegen i Skapa en lagringsautentiseringsuppgift som har åtkomst till ADLS Gen2.
Alternativ 1: Skapa en extern plats manuellt med Hjälp av Catalog Explorer
Du kan skapa en extern plats manuellt med Hjälp av Katalogutforskaren.
Så här skapar du den externa platsen:
Logga in på en arbetsyta som är ansluten till metastore.
I sidofältet klickar du på
Katalog.
Klicka på
och klicka sedan på Skapa en extern plats.Ange ett externt platsnamn.
Under Storage type väljer du Azure.
Under URL anger du containersökvägen ADLS Gen2. Till exempel
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/<path>.Under Lagringsautentiseringsuppgifter väljer du de lagringsautentiseringsuppgifter som ger åtkomst till den externa platsen.
(Valfritt) Om du vill att användarna ska ha skrivskyddad åtkomst till den externa platsen klickar du på Avancerade alternativ och väljer Begränsa till skrivskyddad användning. Mer information finns i Markera en extern plats som skrivskyddad.
(Valfritt) Om den externa platsen är avsedd för en federerad Hive-metastorekatalog klickar du på Avancerade alternativ och aktiverar Återgångsläge.
(Valfritt) Om du vill aktivera möjligheten att prenumerera på ändringsmeddelanden på den externa platsen klickar du på Avancerade alternativ och väljer Aktivera filhändelser.
Mer information finns i Konfigurera filhändelser för en extern plats.
Klicka på Skapa.
(Valfritt) Binda den externa platsen till specifika arbetsytor.
Som standard kan alla privilegierade användare använda den externa platsen på valfri arbetsyta som är kopplad till metaarkivet. Om du bara vill tillåta åtkomst från specifika arbetsytor går du till fliken Arbetsytor och tilldelar arbetsytor. Se Tilldela en extern plats till specifika arbetsytor.
Gå till fliken Behörigheter för att bevilja behörighet att använda den externa platsen.
För att någon ska kunna använda den externa platsen måste du bevilja behörigheter:
- Om du vill använda den externa platsen för att lägga till en hanterad lagringsplats i metaarkiv, katalog eller schema beviljar du behörigheten
CREATE MANAGED LOCATION. - Om du vill skapa externa tabeller eller volymer, bevilja åtkomst till
CREATE EXTERNAL TABLEellerCREATE EXTERNAL VOLUME.
Följ dessa steg:
- Klicka på Tillåt.
- På dialogrutan Grant on
<external location>väljer du användare, grupper eller tjänsternas huvudprinciper i Principals-fältet och väljer den behörighet som du vill bevilja. - Klicka på Tillåt.
- Om du vill använda den externa platsen för att lägga till en hanterad lagringsplats i metaarkiv, katalog eller schema beviljar du behörigheten
Alternativ 2: Skapa en extern plats med SQL
Om du vill skapa en extern plats med SQL kör du följande kommando i en notebook-fil eller SQL-frågeredigeraren. Ersätt platshållarvärdena. Nödvändiga behörigheter och krav finns i Krav.
-
<location-name>: Ett namn på den externa platsen. Omlocation_nameinnehåller specialtecken, till exempel bindestreck (-), måste det omges av backticks (` `). Se Namn. -
<container-path>: Sökvägen i din molnklientorganisation som den här externa platsen ger åtkomst till. Till exempelabfss://mycontainer@mystorageaccount.dfs.core.windows.net/. -
<storage-credential-name>: Namnet på lagringsautentiseringsuppgifterna som tillåter läsning från och skrivning till containern. Om namnet på lagringsautentiseringsuppgifterna innehåller specialtecken, till exempel bindestreck (-), måste det omges av backticks (` `).
CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<container-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];
Om du vill begränsa åtkomsten till externa platser till specifika arbetsytor i ditt konto, även kallat bindning av arbetsytor eller extern platsisolering, kan du läsa Tilldela en extern plats till specifika arbetsytor.
Verifiera anslutningen
Kontrollera att du har skapat den externa platsen genom att försöka läsa en fil från den externa platsen. Anta till exempel att du har en extern plats abfss://mycontainer@mystorageaccount.dfs.core.windows.net/ som innehåller en CSV-fil med namnet example.csv. Följ dessa steg för att läsa från filen abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csv:
I sidofältet klickar du på
Arbetsyta.
Klicka på Skapa och välj sedan Anteckningsbok.
Kör följande Python kodfragment:
display(dbutils.fs.ls('abfss://mycontainer@mystorageaccount.dfs.core.windows.net/'))Då visas en lista över filsökvägar på den externa platsen. I det här exemplet visas filen
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csvi utdata.Om du vill läsa en specifik fil på den externa platsen kör du följande Python kodfragment:
spark.read.format("csv") \ .option("header", "true") \ .option("delimiter", ";") \ .load('abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csv') \ .display()Då visas data i
abfss://mycontainer@mystorageaccount.dfs.core.windows.net/example.csvfilen.
Nästa steg
- Ge andra användare behörighet att använda externa platser. Se Hantera externa platser.
- Definiera hanterade lagringsplatser med hjälp av externa platser. Se Ange en hanterad lagringsplats i Unity Catalog.
- Definiera externa tabeller med hjälp av externa platser. Se Arbeta med externa tabeller.
- Definiera externa volymer med hjälp av externa platser. Se Vad är Unity Catalog-volymer?.