Anteckning
Å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.
Viktigt!
Den här artikeln innehåller information om hur du använder Azure Machine Learning SDK v1. SDK v1 är inaktuell från och med den 31 mars 2025. Stödet för det upphör den 30 juni 2026. Du kan installera och använda SDK v1 fram till det datumet. Dina befintliga arbetsflöden med SDK v1 fortsätter att fungera efter supportdatumet. De kan dock utsättas för säkerhetsrisker eller förändringar som bryter kompatibiliteten vid arkitektoniska förändringar i produkten.
Vi rekommenderar att du övergår till SDK v2 före den 30 juni 2026. Mer information om SDK v2 finns i Vad är Azure Machine Learning CLI och Python SDK v2? och SDK v2-referensen.
I den här artikeln får du lära dig hur du ansluter till lagringstjänster i Azure med identitetsbaserad dataåtkomst och Azure Machine Learning-datalager via Azure Machine Learning SDK för Python.
Vanligtvis använder ett datalager autentiseringsbaserad autentisering för att verifiera att du har behörighet att komma åt lagringstjänsten. Datalager behåller anslutningsinformation, till exempel ditt prenumerations-ID och tokenauktorisering, i nyckelvalvet som är associerat med arbetsytan. När du skapar ett datalager som använder identitetsbaserad dataåtkomst bekräftar ditt Azure-konto (Microsoft Entra-token) att du har behörighet att komma åt lagringstjänsten. I scenariot för identitetsbaserad dataåtkomst sparas inga autentiseringsuppgifter. Endast lagringskontoinformationen lagras i datalagringen.
Om du vill skapa datalager med identitetsbaserad dataåtkomst via Azure Machine Learning Studio-användargränssnittet går du till Anslut till data med Azure Machine Learning Studio.
Om du vill skapa datalager som använder autentiseringsbaserad autentisering, till exempel åtkomstnycklar eller tjänstens huvudnamn, går du till Anslut till lagringstjänster i Azure.
Identitetsbaserad dataåtkomst i Azure Machine Learning
Du kan använda identitetsbaserad dataåtkomst i Azure Machine Learning i två scenarier. De här scenarierna passar bra för identitetsbaserad åtkomst när du arbetar med konfidentiella data och du behöver mer detaljerad dataåtkomsthantering:
Varning
Identitetsbaserad dataåtkomst stöds inte för automatiserade ML-experiment.
- Åtkomst till lagringstjänster
- Träna maskininlärningsmodeller med privata data
Åtkomst till lagringstjänster
Du kan ansluta till lagringstjänster via identitetsbaserad dataåtkomst med Azure Machine Learning-datalager eller Azure Machine Learning-datauppsättningar.
Dina autentiseringsuppgifter sparas i ett datalager, vilket säkerställer att du har behörighet att komma åt lagringstjänsten. När dessa autentiseringsuppgifter registreras via datalager kan alla användare med arbetsytans läsarroll hämta dem. Den här omfattningen av åtkomst kan vara ett säkerhetsproblem för vissa organisationer. Läs mer om arbetsytans läsarroll på den här resursen.
När du använder identitetsbaserad dataåtkomst behåller Inte Azure Machine Learning dina autentiseringsuppgifter i datalagringen. I stället uppmanas du att ange din Microsoft Entra-token för autentisering med dataåtkomst. Den metoden möjliggör hantering av dataåtkomst på lagringsnivå och upprätthåller säkerhet för autentiseringsuppgifter.
Samma beteende gäller när du:
- Skapa en datauppsättning direkt från lagrings-URL:er.
- Arbeta med data interaktivt via en Jupyter Notebook på din lokala dator eller beräkningsinstans.
Kommentar
Autentiseringsuppgifter som lagras via autentiseringsbaserad autentisering omfattar prenumerations-ID: er, SAS-token (signatur för delad åtkomst) och lagringsåtkomstnyckel. Den innehåller även information om tjänstens huvudnamn, till exempel klient-ID:t och klient-ID:t.
Modellträning för privata data
Vissa maskininlärningsscenarier omfattar träningsmodeller med privata data. I sådana fall måste dataexperter köra träningsarbetsflöden utan att exponeras för konfidentiella indata. I det här scenariot autentiserar en hanterad identitet för träningsberäkningen dataåtkomsten. Med den här metoden kan lagringsadministratörer ge Storage Blob Data Reader åtkomst till den hanterade identitet som träningsberäkningen använder för att köra träningsjobbet. De enskilda dataexperterna behöver inte beviljas åtkomst. Mer information finns i Konfigurera hanterad identitet i ett beräkningskluster.
Förutsättningar
En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar. Prova den kostnadsfria eller betalda versionen av Azure Machine Learning.
Ett Azure Storage-konto med en lagringstyp som stöds. Dessa lagringstyper stöds:
En Azure Machine Learning-arbetsyta.
Skapa antingen en Azure Machine Learning-arbetsyta eller använd en befintlig via Python SDK.
Skapa och registrera datalager
När du registrerar en lagringstjänst i Azure som ett datalager skapar och registrerar du automatiskt datalagringen på en specifik arbetsyta. Gå till Åtkomstbehörigheter för lagring för vägledning om nödvändiga behörighetstyper. Du kan också skapa lagringen som du vill ansluta till manuellt utan några särskilda behörigheter, och du behöver bara namnet.
Besök Arbeta med virtuella nätverk för mer information om hur du ansluter till datalagring bakom virtuella nätverk.
Observera avsaknaden av autentiseringsparametrar som sas_token, account_key, subscription_idoch tjänstens huvudnamn i följande kodexempel client_id. Den här utelämnandet anger att Azure Machine Learning använder identitetsbaserad dataåtkomst för autentisering. Skapande av datalager sker vanligtvis interaktivt i en notebook-fil eller via studion. Autentiseringen för dataåtkomst använder din Microsoft Entra-token.
Kommentar
Datalagernamn bör endast bestå av gemener, siffror och understreck.
Azure Blob-container
Om du vill registrera en Azure Blob-container som ett datalager använder du register_azure_blob_container().
Följande kod skapar credentialless_blob datalagret, registrerar det till ws arbetsytan och tilldelar det till variabeln blob_datastore . Det här dataarkivet my_container_name kommer åt blobcontainern på lagringskontot my-account-name .
# Create blob datastore without credentials.
blob_datastore = Datastore.register_azure_blob_container(workspace=ws,
datastore_name='credentialless_blob',
container_name='my_container_name',
account_name='my_account_name')
Azure Data Lake Storage Gen1
Använd register_azure_data_lake() för att registrera ett datalager som ansluter till Azure Data Lake Storage Gen1.
Följande kodexempel skapar credentialless_adls1 datalagret, registrerar det till workspace arbetsytan och tilldelar det till variabeln adls_dstore . Det här dataarkivet adls_storage har åtkomst till Azure Data Lake Storage-kontot.
# Create Azure Data Lake Storage Gen1 datastore without credentials.
adls_dstore = Datastore.register_azure_data_lake(workspace = workspace,
datastore_name='credentialless_adls1',
store_name='adls_storage')
Azure Data Lake Storage Gen2
Använd register_azure_data_lake_gen2() för att registrera ett datalager som ansluter till Azure Data Lake Storage Gen2.
Följande kodexempel skapar credentialless_adls2 datalagret, registrerar det till ws arbetsytan och tilldelar det till variabeln adls2_dstore . Det här dataarkivet kommer åt filsystemet tabular i lagringskontot myadls2 .
# Create Azure Data Lake Storage Gen2 datastore without credentials.
adls2_dstore = Datastore.register_azure_data_lake_gen2(workspace=ws,
datastore_name='credentialless_adls2',
filesystem='tabular',
account_name='myadls2')
Azure SQL-databas
För en Azure SQL-databas använder du register_azure_sql_database() för att registrera ett datalager som ansluter till en Azure SQL-databaslagring.
Följande kodexempel skapar och registrerar credentialless_sqldb datalagret på ws arbetsytan och tilldelar det till variabeln sqldb_dstore . Det här dataarkivet mydb kommer åt databasen på myserver SQL DB-servern.
# Create a sqldatabase datastore without credentials
sqldb_dstore = Datastore.register_azure_sql_database(workspace=ws,
datastore_name='credentialless_sqldb',
server_name='myserver',
database_name='mydb')
Behörigheter för lagringsåtkomst
För att säkerställa att du ansluter säkert till din lagringstjänst i Azure kräver Azure Machine Learning att du har behörighet att komma åt motsvarande datalagring.
Varning
Åtkomst mellan klientorganisationer till lagringskonton stöds inte. Om ditt scenario behöver åtkomst mellan klientorganisationer kontaktar du Azure Machine Learning Data Support-teamets alias på amldatasupport@microsoft.comför att få hjälp med en anpassad kodlösning.
Identitetsbaserad dataåtkomst stöder endast anslutningar till följande lagringstjänster.
- Azure Blob Storage-lagringstjänst
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage Gen2
- Azure SQL Database
För att få åtkomst till dessa lagringstjänster måste du minst ha åtkomst till lagringskontot för Blob Data Reader . Endast lagringskontoägare kan ändra åtkomstnivån via Azure Portal.
Om du inte vill använda din användaridentitet (Microsoft Entra-ID) kan du också ge en MSI-behörighet (managed-system identity) för arbetsytan för att skapa datalagringen. För att göra det måste du ha ägarbehörighet till lagringskontot och du måste lägga till parametern i grant_workspace_access= True dataregistreringsmetoden.
Om du tränar en modell på ett fjärrberäkningsmål och vill komma åt data för träning, måste beräkningsidentiteten beviljas minst rollen Storage Blob Data Reader från lagringstjänsten. Mer information finns i konfigurerad hanterad identitet på en beräkningsklusterresurs .
Arbeta med virtuella nätverk
Som standard kan Azure Machine Learning inte kommunicera med ett lagringskonto som finns bakom en brandvägg eller i ett virtuellt nätverk.
Du kan konfigurera lagringskonton för att endast tillåta åtkomst inifrån specifika virtuella nätverk. Den här konfigurationen kräver fler steg för att säkerställa att data inte läcker utanför nätverket. Det här beteendet är detsamma för autentiseringsbaserad dataåtkomst. Mer information finns i Konfigurera scenarier för virtuella nätverk.
Om lagringskontot har inställningar för virtuellt nätverk avgör de vilken identitetstyp och behörighet som krävs. För dataförhandsgranskning och dataprofil avgör till exempel inställningarna för det virtuella nätverket vilken typ av identitet som används för att autentisera dataåtkomst.
I scenarier där endast vissa IP-adresser och undernät får åtkomst till lagringen använder Azure Machine Learning arbetsytans MSI för att utföra dataförhandsgranskningar och profiler.
Om din lagring är ADLS Gen 2 eller Blob och har inställningar för virtuellt nätverk kan kunder använda antingen användaridentitet eller arbetsyta MSI, beroende på de datalagerinställningar som definierades när de skapades.
Om inställningen för virtuellt nätverk är "Tillåt att Azure-tjänster i listan över betrodda tjänster får åtkomst till det här lagringskontot" används MSI för arbetsyta.
Använda data i lagring
Vi rekommenderar att du använder Azure Machine Learning-datauppsättningar när du interagerar med dina data i lagringen med Azure Machine Learning.
Viktigt!
Datauppsättningar som använder identitetsbaserad dataåtkomst stöds inte för automatiserade ML-experiment.
Datauppsättningar paketera dina data i ett lätt utvärderat förbrukningsobjekt för maskininlärningsuppgifter som träning. Med datauppsättningar kan du också ladda ned eller montera filer i valfritt format från Azure Storage-tjänster som Azure Blob Storage och Azure Data Lake Storage till ett beräkningsmål.
Om du vill skapa en datauppsättning kan du referera till sökvägar från datalager som också använder identitetsbaserad dataåtkomst.
- Om din underliggande lagringskontotyp är Blob eller ADLS Gen 2 behöver din användaridentitet rollen BlobLäsare.
- Om din underliggande lagring är ADLS Gen 1 kan du ange behörigheter via lagringens åtkomstkontrollista (ACL).
I följande exempel blob_datastore finns det redan och använder identitetsbaserad dataåtkomst.
blob_dataset = Dataset.Tabular.from_delimited_files(blob_datastore,'test.csv')
Du kan också hoppa över att skapa datalager och skapa datauppsättningar direkt från lagrings-URL:er. Den här funktionen stöder för närvarande endast Azure-blobar och Azure Data Lake Storage Gen1 och Gen2. För att skapa baserat på lagrings-URL krävs endast användaridentiteten för att autentisera.
blob_dset = Dataset.File.from_files('https://myblob.blob.core.windows.net/may/keras-mnist-fashion/')
När du skickar ett träningsjobb som använder en datauppsättning som skapats med identitetsbaserad dataåtkomst används den hanterade identiteten för träningsberäkning för autentisering med dataåtkomst. Din Microsoft Entra-token används inte. I det här scenariot kontrollerar du att den hanterade identiteten för beräkningen beviljas minst rollen Storage Blob Data Reader från lagringstjänsten. Mer information finns i Konfigurera hanterad identitet i beräkningskluster.