Připojení k úložišti pomocí přístupu k datům založeným na identitě pomocí sady SDK v1
V tomto článku se dozvíte, jak se připojit ke službám úložiště v Azure s přístupem k datům založeným na identitě a úložišti dat azure Machine Learning pomocí sady Azure Machine Learning SDK pro Python.
Úložiště dat obvykle používají ověřování na základě přihlašovacích údajů k ověření, že máte oprávnění pro přístup ke službě úložiště. Úložiště dat uchovává informace o připojení, jako je ID předplatného a autorizace tokenu, v trezoru klíčů přidruženém k pracovnímu prostoru. Při vytváření úložiště dat, které používá přístup k datům založeným na identitě, se váš účet Azure (token Microsoft Entra) použije k potvrzení, že máte oprávnění pro přístup ke službě úložiště. Ve scénáři přístupu k datům založeným na identitě se neuloží žádné přihlašovací údaje pro ověřování. V úložišti dat se ukládají jenom informace o účtu úložiště.
Pokud chcete vytvořit úložiště dat s přístupem k datům založeným na identitě prostřednictvím uživatelského rozhraní studio Azure Machine Learning, přečtěte si téma Připojení k datům pomocí studio Azure Machine Learning.
Pokud chcete vytvořit úložiště dat, která používají ověřování na základě přihlašovacích údajů, jako jsou přístupové klíče nebo instanční objekty, přečtěte si téma Připojení ke službám úložiště v Azure.
Přístup k datům založeným na identitě ve službě Azure Machine Learning
Přístup k datům založeným na identitách ve službě Azure Machine Learning můžete použít ve dvou scénářích. Tyto scénáře jsou vhodné pro přístup založený na identitě při práci s důvěrnými daty a potřebujete podrobnější správu přístupu k datům:
Upozorňující
Přístup k datům založeným na identitě není podporován pro experimenty automatizovaného strojového učení.
- Přístup ke službám úložiště
- Trénování modelů strojového učení s využitím privátních dat
Přístup ke službám úložiště
Ke službám úložiště se můžete připojit prostřednictvím přístupu k datům založeným na identitě pomocí úložišť dat Azure Machine Learning nebo datových sad Azure Machine Learning.
Přihlašovací údaje pro ověřování se uchovávají v úložišti dat, což zajišťuje, že máte oprávnění pro přístup ke službě úložiště. Když jsou tyto přihlašovací údaje zaregistrovány prostřednictvím úložišť dat, může je načíst libovolný uživatel s rolí Čtenář pracovního prostoru. Tento rozsah přístupu může být pro některé organizace problém se zabezpečením. Přečtěte si další informace o roli Čtenář pracovního prostoru.
Když používáte přístup k datům založeným na identitě, Azure Machine Learning vás vyzve k ověření přístupu k datům tokenu Microsoft Entra místo toho, aby vaše přihlašovací údaje uchovávali v úložišti dat. Tento přístup umožňuje správu přístupu k datům na úrovni úložiště a udržuje zabezpečení přihlašovacích údajů.
Stejné chování platí v následujících případech:
- Vytvořte datovou sadu přímo z adres URL úložiště.
- Interaktivně můžete pracovat s daty prostřednictvím poznámkového bloku Jupyter na místním počítači nebo výpočetní instanci.
Poznámka:
Přihlašovací údaje uložené prostřednictvím ověřování na základě přihlašovacích údajů zahrnují ID předplatného, tokeny sdíleného přístupového podpisu (SAS) a přístupový klíč úložiště a informace o instančním objektu, jako jsou ID klienta a ID tenanta.
Trénování modelů u privátních dat
Některé scénáře strojového učení zahrnují trénovací modely s privátními daty. V takových případech musí datoví vědci spouštět trénovací pracovní postupy bez vystavení důvěrným vstupním datům. V tomto scénáři spravovaná identita trénovacího výpočetního prostředí ověřuje přístup k datům. Tento přístup umožňuje správcům úložiště udělit správci úložiště přístup ke spravované identitě, kterou trénovací výpočetní prostředky používají ke spuštění trénovací úlohy. Jednotliví datoví vědci nemusí mít udělený přístup. Další informace najdete v tématu Nastavení spravované identity ve výpočetním clusteru.
Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet. Vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Learning.
Účet úložiště Azure s podporovaným typem úložiště. Podporují se tyto typy úložiště:
Pracovní prostor služby Azure Machine Learning.
Buď vytvořte pracovní prostor Azure Machine Learning, nebo použijte existující pracovní prostor prostřednictvím sady Python SDK.
Vytváření a registrace úložišť dat
Když zaregistrujete službu úložiště v Azure jako úložiště dat, automaticky vytvoříte a zaregistrujete úložiště dat do určitého pracovního prostoru. Pokyny k požadovaným typům oprávnění najdete v tématu Přístupová oprávnění k úložišti. Můžete také ručně vytvořit úložiště, ke kterému se chcete připojit bez jakýchkoli zvláštních oprávnění, a potřebujete jenom název.
Podrobnosti o tom, jak se připojit k úložišti dat za virtuálními sítěmi, najdete v tématu Práce s virtuálními sítěmi .
V následujícím kódu si všimněte absence parametrů ověřování, jako sas_token
je , account_key
, subscription_id
a instanční objekt client_id
. Toto vynechání znamená, že Azure Machine Learning k ověřování používá přístup k datům založeným na identitách. Vytváření úložišť dat obvykle probíhá interaktivně v poznámkovém bloku nebo prostřednictvím studia. Ověřování přístupu k datům používá váš token Microsoft Entra.
Poznámka:
Názvy úložiště dat by měly obsahovat jenom malá písmena, číslice a podtržítka.
Kontejner objektů blob Azure
Pokud chcete zaregistrovat kontejner objektů blob Azure jako úložiště dat, použijte register_azure_blob_container()
.
Následující kód vytvoří credentialless_blob
úložiště dat, zaregistruje ho do ws
pracovního prostoru a přiřadí ho blob_datastore
k proměnné. Tento úložiště dat přistupuje ke kontejneru my_container_name
objektů blob v my-account-name
účtu úložiště.
# 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
Pomocí register_azure_data_lake() zaregistrujte úložiště dat, které se připojuje k Azure Data Lake Storage Gen1.
Následující kód vytvoří credentialless_adls1
úložiště dat, zaregistruje ho do workspace
pracovního prostoru a přiřadí ho adls_dstore
k proměnné. Tento úložiště dat přistupuje adls_storage
k účtu Azure Data Lake Storage.
# 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
Pomocí register_azure_data_lake_gen2() zaregistrujte úložiště dat, které se připojuje k Azure Data Lake Storage Gen2.
Následující kód vytvoří credentialless_adls2
úložiště dat, zaregistruje ho do ws
pracovního prostoru a přiřadí ho adls2_dstore
k proměnné. Tento úložiště dat přistupuje k systému tabular
souborů v myadls2
účtu úložiště.
# 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')
Databáze Azure SQL
Pro databázi Azure SQL použijte register_azure_sql_database() k registraci úložiště dat, které se připojuje k úložišti databáze Azure SQL.
Následující kód vytvoří a zaregistruje credentialless_sqldb
úložiště dat do ws
pracovního prostoru a přiřadí ho proměnné. sqldb_dstore
Tento úložiště dat přistupuje k databázi mydb
na myserver
serveru SQL DB.
# 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')
Přístupová oprávnění k úložišti
Aby bylo zajištěno, že se bezpečně připojíte ke službě Storage v Azure, služba Azure Machine Learning vyžaduje, abyste měli oprávnění pro přístup k odpovídajícímu úložišti dat.
Upozorňující
Přístup mezi tenanty k účtům úložiště se nepodporuje. Pokud pro váš scénář potřebujete přístup mezi tenanty, spojte se s aliasem týmu podpory dat služby Azure Machine Learning a amldatasupport@microsoft.com požádejte ho o pomoc s vlastním řešením kódu.
Přístup k datům založeným na identitě podporuje připojení pouze k následujícím službám úložiště.
- Azure Blob Storage
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage Gen2
- Azure SQL Database
Pokud chcete získat přístup k těmto službám úložiště, musíte mít alespoň přístup čtenáře dat objektů blob služby Storage k účtu úložiště. Úroveň přístupu můžou změnit jenom vlastníci účtu úložiště prostřednictvím webu Azure Portal.
Pokud nechcete používat identitu uživatele (Microsoft Entra ID), můžete také udělit oprávnění spravované identity systému pracovního prostoru (MSI) k vytvoření úložiště dat. K tomu musíte mít oprávnění vlastníka k účtu úložiště a musíte přidat grant_workspace_access= True
parametr do metody registrace dat.
Pokud model vytrénujete na vzdáleném cílovém výpočetním objektu a chcete získat přístup k datům pro trénování, musí být výpočetní identitě udělena alespoň role Čtenář dat objektů blob úložiště ze služby úložiště. Zjistěte, jak nastavit spravovanou identitu ve výpočetním clusteru.
Práce s virtuálními sítěmi
Azure Machine Learning ve výchozím nastavení nemůže komunikovat s účtem úložiště umístěným za bránou firewall nebo ve virtuální síti.
Účty úložiště můžete nakonfigurovat tak, aby umožňovaly přístup pouze z konkrétních virtuálních sítí. Tato konfigurace vyžaduje další kroky, aby se zajistila nevracení dat mimo síť. Toto chování je stejné pro přístup k datům založeným na přihlašovacích údajích. Další informace naleznete v tématu Konfigurace scénářů virtuální sítě.
Pokud má váš účet úložiště nastavení virtuální sítě, určují potřebný typ identity a přístup k oprávněním. Například pro náhled dat a profil dat určují nastavení virtuální sítě, jaký typ identity se používá k ověření přístupu k datům.
Ve scénářích, ve kterých mají přístup k úložišti jenom určité IP adresy a podsítě, pak Azure Machine Learning používá MSI pracovního prostoru k provádění náhledů dat a profilů.
Pokud je úložiště ADLS Gen2 nebo Blob a má nastavení virtuální sítě, zákazníci můžou v závislosti na nastavení úložiště dat definovaných během vytváření použít buď identitu uživatele, nebo MSI pracovního prostoru.
Pokud je nastavení virtuální sítě "Povolit službám Azure v seznamu důvěryhodných služeb přístup k tomuto účtu úložiště", použije se MSI pracovního prostoru.
Použití dat v úložišti
Při interakci s daty v úložišti se službou Azure Machine Learning se službou Azure Machine Learning doporučujeme používat datové sady Azure Machine Learning.
Důležité
Datové sady využívající přístup k datům založeným na identitě nejsou podporovány pro automatizované experimenty ML.
Datové sady zabalí vaše data do líně vyhodnoceného spotřebního objektu pro úlohy strojového učení, jako je trénování. S datovými sadami můžete také stáhnout nebo připojit soubory libovolného formátu ze služeb Úložiště Azure, jako je Azure Blob Storage a Azure Data Lake Storage, do cílového výpočetního objektu.
Pokud chcete vytvořit datovou sadu, můžete odkazovat na cesty z úložišť dat, které používají také přístup k datům založeným na identitě.
- Pokud je vaším základním typem účtu úložiště Objekt blob nebo ADLS Gen2, potřebuje vaše identita uživatele roli Čtenář objektů blob.
- Pokud je základním úložištěm ADLS Gen1, můžete nastavit oprávnění prostřednictvím seznamu řízení přístupu (ACL) úložiště.
V následujícím příkladu blob_datastore
již existuje a používá přístup k datům založeným na identitě.
blob_dataset = Dataset.Tabular.from_delimited_files(blob_datastore,'test.csv')
Můžete také přeskočit vytváření úložiště dat a vytvářet datové sady přímo z adres URL úložiště. Tato funkce v současné době podporuje pouze objekty blob Azure a Azure Data Lake Storage Gen1 a Gen2. K vytvoření na základě adresy URL úložiště je potřeba k ověření pouze identita uživatele.
blob_dset = Dataset.File.from_files('https://myblob.blob.core.windows.net/may/keras-mnist-fashion/')
Když odešlete trénovací úlohu, která využívá datovou sadu vytvořenou s přístupem k datům založeným na identitě, použije se pro ověřování přístupu k datům trénovací výpočetní spravovaná identita. Váš token Microsoft Entra se nepoužívá. V tomto scénáři se ujistěte, že spravovaná identita výpočetních prostředků má alespoň roli Čtenář dat objektů blob služby Storage ze služby úložiště. Další informace najdete v tématu Nastavení spravované identity na výpočetních clusterech.