Hitelesítés beállítása az Azure Machine Tanulás és más szolgáltatások között
ÉRVÉNYES:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)
Az Azure Machine Learning több Azure-szolgáltatásból áll. Az Azure Machine Tanulás és az általa nyújtott szolgáltatások között többféleképpen is történhet hitelesítés.
- Az Azure Machine Tanulás munkaterület felügyelt identitással kommunikál más szolgáltatásokkal. Alapértelmezés szerint ez egy rendszer által hozzárendelt felügyelt identitás. Használhat felhasználó által hozzárendelt felügyelt identitást is.
- Az Azure Machine Tanulás az Azure Container Registry (ACR) használatával tárolja a modellek betanítása és üzembe helyezése során használt Docker-rendszerképeket. Ha engedélyezi az Azure Machine Tanulás automatikusan az ACR létrehozását, az engedélyezi a rendszergazdai fiókot.
- Az Azure Machine Tanulás számítási fürt felügyelt identitással kéri le az adattárak kapcsolati adatait az Azure Key Vaultból, és Docker-rendszerképeket kér le az ACR-ből. Az adattárakhoz való identitásalapú hozzáférést is konfigurálhatja, amely ehelyett a számítási fürt felügyelt identitását fogja használni.
- Az adathozzáférés az adattárolási szolgáltatástól és a konfigurációtól függően több útvonalon is történhet. Az adattárbeli hitelesítés például használhat fiókkulcsot, jogkivonatot, biztonsági tagot, felügyelt identitást vagy felhasználói identitást.
- A felügyelt online végpontok felügyelt identitással férhetnek hozzá az Azure-erőforrásokhoz a következtetés végrehajtásakor. További információért tekintse meg az Azure-erőforrások online végpontról történő elérését ismertető cikket.
Előfeltételek
A cikkben ismertetett lépések végrehajtása előtt győződjön meg arról, hogy rendelkezik a következő előfeltételekkel:
Egy Azure Machine Learning-munkaterület. Ha nincs ilyenje, a gyorsútmutató lépéseit követve hozzon létre egyet a munkaterület erőforrásainak létrehozása című cikkben.
Az Azure CLI és a
ml
bővítmény vagy az Azure Machine Tanulás Python SDK v2:Az Azure CLI és a bővítmény telepítéséhez lásd a parancssori felület (v2) telepítését, beállítását és használatát.
Fontos
A jelen cikkben szereplő CLI-példák feltételezik, hogy a Bash (vagy kompatibilis) rendszerhéjat használja. Például linuxos rendszerből vagy Linuxos Windows-alrendszer.
A Python SDK v2 telepítéséhez használja a következő parancsot:
pip install azure-ai-ml azure-identity
Ha frissíteni szeretné az SDK meglévő telepítését a legújabb verzióra, használja a következő parancsot:
pip install --upgrade azure-ai-ml azure-identity
További információ: A Python SDK v2 telepítése az Azure Machine Tanulás.
A szerepkörök hozzárendeléséhez az Azure-előfizetés bejelentkezéséhez rendelkeznie kell a felügyelt identitáskezelő szerepkörével vagy más olyan szerepkörével, amely biztosítja a szükséges műveleteket (például tulajdonos).
Ismernie kell a felügyelt identitások létrehozását és használatát.
Az Azure Container Registry és az identitástípusok
Az alábbi táblázat az Azure Container Registrybe való hitelesítés támogatási mátrixát sorolja fel a hitelesítési módszertől és az Azure Container Registry nyilvános hálózati hozzáférési konfigurációjától függően.
Hitelesítési módszer | A nyilvános hálózati hozzáférés le van tiltva |
Az Azure Container Registry nyilvános hálózati hozzáférése engedélyezve van |
---|---|---|
Rendszergazdai felhasználó | ✓ | ✓ |
Munkaterület rendszer által hozzárendelt felügyelt identitása | ✓ | ✓ |
Munkaterület felhasználó által hozzárendelt felügyelt identitása az identitáshoz rendelt ACRPull szerepkörrel |
✓ |
Felhasználó által hozzárendelt felügyelt identitás
Munkaterület
Felhasználó által hozzárendelt felügyelt identitást akkor vehet fel, ha azure-beli gép Tanulás-munkaterületet hoz létre az Azure Portalról. A munkaterület létrehozásakor kövesse az alábbi lépéseket:
- Az Alapszintű beállítások lapon válassza ki a munkaterülethez használni kívánt Azure Storage-fiókot, Azure Container Registryt és Azure Key Vaultot.
- Az Identitás lapon válassza ki a felhasználó által hozzárendelt identitást, majd válassza ki a használni kívánt felügyelt identitást.
A következő Azure RBAC-szerepkör-hozzárendelések szükségesek a felhasználó által hozzárendelt felügyelt identitáson az Azure Machine Tanulás-munkaterületen a munkaterülethez társított erőforrások adatainak eléréséhez.
Erőforrás | Engedély |
---|---|
Azure Machine Learning-munkaterület | Közreműködő |
Azure Storage | Közreműködő (vezérlősík) + Storage Blob Data Contributor (adatsík, nem kötelező, az adatelőnézet engedélyezéséhez az Azure Machine Tanulás Studióban) |
Azure Key Vault (RBAC-engedélymodell használatakor) | Közreműködő (vezérlősík) + Key Vault Rendszergazda istrator (adatsík) |
Azure Key Vault (hozzáférési szabályzatok engedélymodelljének használatakor) | Közreműködő + hozzáférési szabályzat engedélyei a törlési műveleteken kívül |
Azure Container Registry | Közreműködő |
Azure Application Insights | Közreműködő |
A szerepkör-hozzárendelések automatikus létrehozásához a felhasználó által hozzárendelt felügyelt identitáson ezt az ARM-sablont használhatja.
Tipp.
Az ügyfél által felügyelt kulcsokkal rendelkező munkaterületek titkosításához a felhasználó által hozzárendelt felügyelt identitást is átadhatja a tárolóból a Key Vaultba történő hitelesítéshez. Használja a user-assigned-identity-for-cmk-encryption
(CLI) vagy user_assigned_identity_for_cmk_encryption
(SDK) paramétereket a felügyelt identitás átadásához. Ez a felügyelt identitás lehet ugyanaz vagy más, mint a munkaterület elsődleges felhasználója által hozzárendelt felügyelt identitás.
Ha több felhasználó által hozzárendelt identitással rendelkező munkaterületet szeretne létrehozni, használja az alábbi módszerek egyikét:
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml workspace create -f workspace_creation_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>
Ahol a workspace_creation_with_multiple_UAIs.yml tartalma a következő:
location: <region name>
identity:
type: user_assigned
user_assigned_identities:
'<UAI resource ID 1>': {}
'<UAI resource ID 2>': {}
storage_account: <storage acccount resource ID>
key_vault: <key vault resource ID>
image_build_compute: <compute(virtual machine) resource ID>
primary_user_assigned_identity: <one of the UAI resource IDs in the above list>
Ha frissíteni szeretné a felhasználó által hozzárendelt identitásokat egy munkaterületen, például újat szeretne hozzáadni, vagy törölni szeretné a meglévőket, használja az alábbi módszerek egyikét:
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml workspace update -f workspace_update_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>
Ahol a workspace_update_with_multiple_UAIs.yml tartalma a következő:
identity:
type: user_assigned
user_assigned_identities:
'<UAI resource ID 1>': {}
'<UAI resource ID 2>': {}
primary_user_assigned_identity: <one of the UAI resource IDs in the above list>
Tipp.
Új UAI hozzáadásához megadhatja az új UAI-azonosítót a user_assigned_identities szakaszban a meglévő EAI-k mellett, az összes meglévő UAI-azonosítót át kell adni.
Egy vagy több meglévő UAI törléséhez a user_assigned_identities szakaszban megőrzendő UAI-azonosítókat is elhelyezheti, a többi UAI-azonosítót pedig törölné.
Identitástípus frissítése SAI-ról UAI-ra|SAI, a típust a "user_assigned" típusról "system_assigned, user_assigned" értékre módosíthatja.
Számítási fürt
Feljegyzés
Az Azure Machine Tanulás számítási fürtök csak egy rendszer által hozzárendelt identitást vagy több felhasználó által hozzárendelt identitást támogatnak, nem egyidejűleg.
Az alapértelmezett felügyelt identitás a rendszer által hozzárendelt felügyelt identitás vagy az első felhasználó által hozzárendelt felügyelt identitás.
A futtatás során két identitásalkalmazás létezik:
A rendszer identitással állítja be a felhasználó tárolócsatlakoztatásait, tárolóregisztrációs adatbázisait és adattárait.
- Ebben az esetben a rendszer az alapértelmezetten felügyelt identitást fogja használni.
Identitást alkalmaz egy elküldött feladat kódjából származó erőforrások eléréséhez:
- Ebben az esetben adja meg a hitelesítő adatok lekéréséhez használni kívánt felügyelt identitásnak megfelelő client_id .
- Másik lehetőségként kérje le a felhasználó által hozzárendelt identitás ügyfélazonosítóját a DEFAULT_IDENTITY_CLIENT_ID környezeti változón keresztül.
Például egy alapértelmezett felügyelt identitással rendelkező adattár jogkivonatának lekérése:
client_id = os.environ.get('DEFAULT_IDENTITY_CLIENT_ID') credential = ManagedIdentityCredential(client_id=client_id) token = credential.get_token('https://storage.azure.com/')
Ha felügyelt identitással rendelkező számítási fürtöt szeretne konfigurálni, használja az alábbi módszerek egyikét:
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml compute create -f create-cluster.yml
Ahol a create-cluster.yml tartalma a következő:
$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json
name: basic-example
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
identity:
type: user_assigned
user_assigned_identities:
- resource_id: "identity_resource_id"
Összehasonlításképpen az alábbi példa egy OLYAN YAML-fájlból származik, amely egy rendszer által hozzárendelt felügyelt identitást használó fürtöt hoz létre:
$schema: https://azuremlschemas.azureedge.net/latest/amlCompute.schema.json
name: basic-example
type: amlcompute
size: STANDARD_DS3_v2
min_instances: 0
max_instances: 2
idle_time_before_scale_down: 120
identity:
type: system_assigned
Ha már rendelkezik számítási fürttel, a felhasználó által felügyelt és a rendszer által felügyelt identitás között válthat. Az alábbi példák bemutatják, hogyan módosíthatja a konfigurációt:
Felhasználó által hozzárendelt felügyelt identitás
export MSI_NAME=my-cluster-identity
export COMPUTE_NAME=mycluster-msi
does_compute_exist()
{
if [ -z $(az ml compute show -n $COMPUTE_NAME --query name) ]; then
echo false
else
echo true
fi
}
echo "Creating MSI $MSI_NAME"
# Get the resource id of the identity
IDENTITY_ID=$(az identity show --name "$MSI_NAME" --query id -o tsv | tail -n1 | tr -d "[:cntrl:]" || true)
if [[ -z $IDENTITY_ID ]]; then
IDENTITY_ID=$(az identity create -n "$MSI_NAME" --query id -o tsv | tail -n1 | tr -d "[:cntrl:]")
fi
echo "MSI created: $MSI_NAME"
sleep 15 # Let the previous command finish: https://github.com/Azure/azure-cli/issues/8530
echo "Checking if compute $COMPUTE_NAME already exists"
if [ "$(does_compute_exist)" == "true" ]; then
echo "Skipping, compute: $COMPUTE_NAME exists"
else
echo "Provisioning compute: $COMPUTE_NAME"
az ml compute create --name "$COMPUTE_NAME" --type amlcompute --identity-type user_assigned --user-assigned-identities "$IDENTITY_ID"
fi
az ml compute update --name "$COMPUTE_NAME" --identity-type user_assigned --user-assigned-identities "$IDENTITY_ID"
Rendszer által hozzárendelt felügyelt identitás
export COMPUTE_NAME=mycluster-sa
does_compute_exist()
{
if [ -z $(az ml compute show -n $COMPUTE_NAME --query name) ]; then
echo false
else
echo true
fi
}
echo "Checking if compute $COMPUTE_NAME already exists"
if [ "$(does_compute_exist)" == "true" ]; then
echo "Skipping, compute: $COMPUTE_NAME exists"
else
echo "Provisioning compute: $COMPUTE_NAME"
az ml compute create --name "$COMPUTE_NAME" --type amlcompute
fi
az ml compute update --name "$COMPUTE_NAME" --identity-type system_assigned
Adattárolás
Amikor identitásalapú adathozzáférést használó adattárat hoz létre, a rendszer az Azure-fiókját (Microsoft Entra-jogkivonatot) használja annak megerősítésére, hogy rendelkezik engedéllyel a tárolási szolgáltatáshoz való hozzáféréshez. Az identitásalapú adathozzáférési forgatókönyvben a rendszer nem menti a hitelesítési hitelesítő adatokat. Csak a tárfiók adatai tárolódnak az adattárban.
Ezzel szemben a hitelesítő adatokon alapuló hitelesítési gyorsítótár kapcsolati adatait , például a tárfiók kulcsát vagy SAS-jogkivonatát használó adattárak a munkaterülethez társított kulcstartóban találhatók. Ez a megközelítés korlátozza, hogy más, megfelelő engedélyekkel rendelkező munkaterület-felhasználók lekérhetik ezeket a hitelesítő adatokat, ami bizonyos szervezetek számára biztonsági problémát jelenthet.
Az adathozzáférés hitelesítésével kapcsolatos további információkért tekintse meg az adatkezelési cikket. Az identitásalapú adathozzáférés konfigurálásáról további információt az adattárak létrehozása című témakörben talál.
Két esetben alkalmazhat identitásalapú adathozzáférést az Azure Machine Tanulás. Ezek a forgatókönyvek jól illeszkednek az identitásalapú hozzáféréshez, ha bizalmas adatokkal dolgozik, és részletesebb adathozzáférés-kezelést igényel:
- Hozzáférés a tárolási szolgáltatásokhoz
- Gépi tanulási modellek betanítása
Az identitásalapú hozzáférés lehetővé teszi szerepköralapú hozzáférés-vezérlők (RBAC) használatát annak korlátozására, hogy mely identitások, például a felhasználók vagy a számítási erőforrások férhetnek hozzá az adatokhoz.
Hozzáférés a tárolási szolgáltatásokhoz
A tárolási szolgáltatásokhoz identitásalapú adathozzáférésen keresztül csatlakozhat az Azure Machine Tanulás-adattárakkal.
Identitásalapú adathozzáférés használatakor az Azure Machine Tanulás kéri a Microsoft Entra-jogkivonatot az adatelérési hitelesítéshez, ahelyett, hogy a hitelesítő adatait az adattárban tartana. Ez a megközelítés lehetővé teszi az adathozzáférés-kezelést a tárolási szinten, és bizalmasan kezeli a hitelesítő adatokat.
Ugyanez a viselkedés érvényes, ha interaktívan dolgozik az adatokkal egy Jupyter Notebookon keresztül a helyi számítógépen vagy számítási példányon.
Feljegyzés
A hitelesítő adatokon alapuló hitelesítéssel tárolt hitelesítő adatok közé tartoznak az előfizetési azonosítók, a közös hozzáférésű jogosultságkódok (SAS)-jogkivonatok, valamint a tárelérési kulcs és a szolgáltatásnév adatai, például az ügyfélazonosítók és a bérlői azonosítók.
Ahhoz, hogy biztonságosan kapcsolódhasson a tárolási szolgáltatáshoz az Azure-ban, az Azure Machine Tanulás engedélyre van szüksége a megfelelő adattár eléréséhez.
Figyelmeztetés
A tárfiókokhoz való bérlőközi hozzáférés nem támogatott. Ha a forgatókönyvhöz bérlők közötti hozzáférésre van szükség, forduljon az Azure Machine Tanulás Adattámogatási csapat aliasához amldatasupport@microsoft.com egy egyéni kódmegoldással kapcsolatos segítségért.
Az identitásalapú adathozzáférés csak a következő tárolási szolgáltatásokhoz való kapcsolódást támogatja.
- Azure Blob Storage
- 1. generációs Azure Data Lake Storage
- 2. generációs Azure Data Lake Storage
Ezeknek a tárolási szolgáltatásoknak a eléréséhez legalább Storage Blob Data Reader-hozzáféréssel kell rendelkeznie a tárfiókhoz. Csak a tárfiókok tulajdonosai módosíthatják a hozzáférési szintet az Azure Portalon keresztül.
Adatok elérése a számítási feladatok betanítási feladataihoz felügyelt identitás használatával
Bizonyos gépi tanulási forgatókönyvek magukban foglalják a személyes adatokkal való munkát. Ilyen esetekben előfordulhat, hogy az adatszakértők nem férnek hozzá közvetlenül az adatokhoz, mint a Microsoft Entra felhasználói. Ebben a forgatókönyvben a számítás felügyelt identitása használható az adathozzáférés-hitelesítéshez. Ebben a forgatókönyvben az adatok csak egy számítási példányból vagy egy betanítási feladatot végrehajtó gépi tanulási számítási fürtből érhetők el. Ezzel a módszerrel a rendszergazda engedélyt ad a számítási példánynak vagy a számítási fürt által felügyelt identitásnak a tároló blobadat-olvasójához. Az egyes adatelemzőknek nem kell hozzáférést biztosítaniuk.
A számítási felügyelt identitással történő hitelesítés engedélyezése:
Számítási feladat létrehozása engedélyezett felügyelt identitással. Tekintse meg a számítási fürt szakaszt, vagy a számítási példány esetében a Felügyelt identitás hozzárendelése szakaszt .
Fontos
Ha a számítási példány tétlen leállításra is konfigurálva van, a számítási példány nem fog leállni inaktivitás miatt, kivéve, ha a felügyelt identitás közreműködői hozzáféréssel rendelkezik az Azure Machine Tanulás-munkaterülethez. Az engedélyek hozzárendeléséről további információt az Azure Machine Learning-munkaterülethez való hozzáférés kezelése témakörnél talál.
Adjon a számítási felügyelt identitásnak legalább Storage Blob Data Reader szerepkört a tárfiókban.
Hozzon létre minden olyan adattárat, amelyen engedélyezve van az identitásalapú hitelesítés. Lásd: Adattárak létrehozása.
Feljegyzés
A számítási példányhoz vagy fürthöz létrehozott rendszer által felügyelt identitás neve a Microsoft Entra-azonosítóban a /workspace-name/computes/compute-name formátumban lesz.
Ha engedélyezve van az identitásalapú hitelesítés, a számítási felügyelt identitás alapértelmezés szerint a betanítási feladatokon belüli adatok elérésekor lesz használva. A következő szakaszban ismertetett lépések végrehajtásával felhasználói identitással is hitelesíthet.
Az Azure RBAC tárolóhoz való konfigurálásával kapcsolatos információkért lásd a szerepköralapú hozzáférés-vezérlőket.
Adatok elérése számítási fürtök betanítási feladataihoz felhasználói identitás használatával
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
Az Azure Machine Tanulás számítási fürtök betanításakor a felhasználó Microsoft Entra-jogkivonatával hitelesítheti magát a tárolóban.
Ez a hitelesítési mód lehetővé teszi a következőt:
- Adjon meg részletes engedélyeket, amelyekben a különböző munkaterület-felhasználók különböző tárfiókokhoz vagy mappákhoz férhetnek hozzá a tárfiókok között.
- Lehetővé teszi az adattudósok számára a meglévő engedélyek újbóli használatát a tárolórendszereken.
- Naplózza a tárterület-hozzáférést, mert a tárnaplókban látható, hogy mely identitásokat használták az adatok eléréséhez.
Fontos
Ez a funkció a következő korlátozásokkal rendelkezik:
- A funkció az Azure Machine Tanulás CLI-vel és Python SDK V2-vel küldött kísérletek esetén támogatott, de az ML Studióban nem.
- A felhasználói identitás és a számítási felügyelt identitás nem használható ugyanazon a feladaton belüli hitelesítéshez.
- A folyamatfeladatok esetében azt javasoljuk, hogy a felhasználói identitást az adott lépés szintjén állítsa be, amelyet a rendszer a főfolyamat szintjén, hanem egy számításon hajt végre. ( Bár az identitásbeállítás a gyökérfolyamat és a lépés szintjén is támogatott, a lépésszintű beállítás elsőbbséget élvez, ha mindkettő be van állítva. A folyamatösszetevőket tartalmazó folyamatok esetében azonban az identitást a végrehajtandó egyes lépésekre kell beállítani. A gyökérfolyamat vagy a folyamat összetevő szintjén beállított identitás nem fog működni. Ezért javasoljuk, hogy az egyszerűség kedvéért állítsa be az identitást az egyes lépések szintjén.)
Az alábbi lépések azt ismertetik, hogyan állíthat be adathozzáférést felhasználói identitással a számítási fürtökre vonatkozó betanítási feladatokhoz a parancssori felületről.
Adjon hozzáférést a felhasználói identitásnak a tárolási erőforrásokhoz. Például adjon hozzáférést a StorageBlobReadernek ahhoz a tárfiókhoz, amelyet használni szeretne, vagy ACL-alapú engedélyt ad az Azure Data Lake Gen 2-tároló bizonyos mappáihoz vagy fájljaihoz.
Hozzon létre egy Azure Machine-Tanulás adattárat gyorsítótárazott hitelesítő adatok nélkül a tárfiókhoz. Ha egy adattár gyorsítótárazott hitelesítő adatokat (például tárfiókkulcsot) használ, a rendszer ezeket a hitelesítő adatokat használja a felhasználói identitás helyett.
Küldjön be egy betanítási feladatot a következő típusú tulajdonságidentitás-beállítással: user_identity, ahogyan az a következő feladat specifikációjában látható. A betanítási feladat során a tárolás hitelesítése a feladatot beküldő felhasználó identitásán keresztül történik.
Feljegyzés
Ha az identitástulajdonság nincs meghatározva, és az adattár nem rendelkezik gyorsítótárazott hitelesítő adatokkal, akkor a felügyelt identitás kiszámítása lesz a tartalék lehetőség.
command: | echo "--census-csv: ${{inputs.census_csv}}" python hello-census.py --census-csv ${{inputs.census_csv}} code: src inputs: census_csv: type: uri_file path: azureml://datastores/mydata/paths/census.csv environment: azureml:AzureML-sklearn-1.0-ubuntu20.04-py38-cpu@latest compute: azureml:cpu-cluster identity: type: user_identity
Az alábbi lépések azt ismertetik, hogyan állíthat be adathozzáférést felhasználói identitással a számítási fürtökre vonatkozó betanítási feladatokhoz a Python SDK-ból.
Adjon hozzáférést az adatokhoz, és hozzon létre adattárat a cli-hez fent leírtak szerint.
Küldjön be egy betanítási feladatot az azure.ai.ml.UserIdentityConfiguration identitásparaméterrel. Ez a paraméterbeállítás lehetővé teszi, hogy a feladat a feladatot beküldő felhasználó nevében férhessen hozzá az adatokhoz.
from azure.ai.ml import command from azure.ai.ml.entities import Data, UriReference from azure.ai.ml import Input from azure.ai.ml.constants import AssetTypes from azure.ai.ml import UserIdentityConfiguration # Specify the data location my_job_inputs = { "input_data": Input(type=AssetTypes.URI_FILE, path="<path-to-my-data>") } # Define the job job = command( code="<my-local-code-location>", command="python <my-script>.py --input_data ${{inputs.input_data}}", inputs=my_job_inputs, environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu:9", compute="<my-compute-cluster-name>", identity= UserIdentityConfiguration() ) # submit the command returned_job = ml_client.jobs.create_or_update(job)
Fontos
A felhasználói identitással rendelkező hitelesítéssel történő feladatbeküldés során a kód pillanatképei ellenőrzőösszeg-ellenőrzéssel védve lesznek a illetéktelen módosításokkal szemben. Ha meglévő folyamatösszetevőkkel rendelkezik, és engedélyezni szeretné a felhasználói identitással való hitelesítést, előfordulhat, hogy újra fel kell töltenie őket. Ellenkező esetben a feladat meghiúsulhat az ellenőrzőösszeg ellenőrzése során.
Virtuális hálózatokkal végzett munka
Alapértelmezés szerint az Azure Machine Tanulás nem tud kommunikálni tűzfal mögötti tárfiókkal vagy virtuális hálózaton.
A tárfiókokat úgy konfigurálhatja, hogy csak bizonyos virtuális hálózatokról engedélyezze a hozzáférést. Ez a konfiguráció további lépéseket igényel annak biztosításához, hogy az adatok ne szivárogjanak ki a hálózaton kívül. Ez a viselkedés a hitelesítő adatokon alapuló adathozzáférés esetében is ugyanaz. További információ: Az adatok kiszűrésének megakadályozása.
Ha a tárfiók rendelkezik virtuális hálózati beállításokkal, az határozza meg, hogy milyen identitástípusra és engedélyekre van szükség. Az adatelőnézet és az adatprofil esetében például a virtuális hálózati beállítások határozzák meg, hogy milyen típusú identitást használnak az adathozzáférés hitelesítéséhez.
Olyan esetekben, amikor csak bizonyos IP-címek és alhálózatok férhetnek hozzá a tárterülethez, az Azure Machine Tanulás a munkaterület MSI-jének használatával végzi el az adatelőnézeteket és -profilokat.
Ha a tároló ADLS Gen 2 vagy Blob, és rendelkezik virtuális hálózati beállításokkal, az ügyfelek a létrehozás során megadott adattárbeállításoktól függően felhasználói identitást vagy munkaterületi MSI-t használhatnak.
Ha a virtuális hálózat beállítása "A megbízható szolgáltatások listájában szereplő Azure-szolgáltatások hozzáférésének engedélyezése ehhez a tárfiókhoz", akkor a munkaterületi MSI lesz használatban.
Forgatókönyv: Azure Container Registry rendszergazdai felhasználó nélkül
Ha letiltja a rendszergazda felhasználót az ACR-ben, az Azure Machine Tanulás felügyelt identitással hoz létre és kér le Docker-rendszerképeket. Az Azure Machine Tanulás konfigurálásakor két munkafolyamat van, amelyek letiltott rendszergazdai felhasználóval használják az ACR-t:
- Engedélyezze az Azure Machine Tanulás számára, hogy létrehozza az ACR-példányt, majd később tiltsa le a rendszergazda felhasználót.
- Hozzon létre egy meglévő ACR-t a rendszergazda felhasználóval, aki már le van tiltva.
Azure Machine Tanulás automatikusan létrehozott ACR-példánnyal
Hozzon létre egy új Azure Machine Tanulás-munkaterületet.
Hajtsa végre az Azure Container Registryt igénylő műveletet. Például az oktatóanyag: Az első modell betanítása.
Kérje le a fürt által létrehozott ACR nevét.
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml workspace show -w <my workspace> \ -g <my resource group> --query containerRegistry
Ez a parancs az alábbi szöveghez hasonló értéket ad vissza. Csak a szöveg utolsó részét szeretné, amely az ACR-példány neve:
/subscriptions/<subscription id>/resourceGroups/<my resource group>/providers/MicrosoftContainerReggistry/registries/<ACR instance name>
Frissítse az ACR-t a rendszergazdai felhasználó letiltásához:
az acr update --name <ACR instance name> --admin-enabled false
Saját ACR használata
Ha az ACR rendszergazdai felhasználóját nem engedélyezi az előfizetési szabályzat, először rendszergazdai felhasználó nélkül kell létrehoznia az ACR-t, majd társítania kell a munkaterülethez. Ha a rendszergazdai felhasználóval rendelkező meglévő ACR is le van tiltva, csatolhatja a munkaterülethez.
Hozzon létre ACR-t az Azure CLI-ből argumentum beállítása --admin-enabled
nélkül, vagy az Azure Portalról rendszergazdai felhasználó engedélyezése nélkül. Ezután az Azure Machine Tanulás-munkaterület létrehozásakor adja meg az ACR Azure-erőforrás-azonosítóját. Az alábbi példa egy meglévő ACR-t használó új Azure Machine Tanulás-munkaterület létrehozását mutatja be:
Tipp.
A paraméter értékének --container-registry
lekéréséhez használja az az acr show parancsot az ACR adatainak megjelenítéséhez. A id
mező tartalmazza az ACR erőforrás-azonosítóját.
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml workspace create -w <workspace name> \
-g <workspace resource group> \
-l <region> \
--container-registry /subscriptions/<subscription id>/resourceGroups/<acr resource group>/providers/Microsoft.ContainerRegistry/registries/<acr name>
Számítás létrehozása felügyelt identitással a Docker-rendszerképek betanításhoz való eléréséhez
A munkaterület ACR-hez való hozzáféréshez hozzon létre egy gépi tanulási számítási fürtöt, amelyen engedélyezve van a rendszer által hozzárendelt felügyelt identitás. Az identitást az Azure Portalról vagy a Studióból engedélyezheti a számítás létrehozásakor, vagy az Azure CLI-ből az alábbi használatával. További információ: felügyelt identitás használata számítási fürtökkel.
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml compute create --name cpu-cluster --type <cluster name> --identity-type systemassigned
A felügyelt identitások automatikusan ACRPull-szerepkört kapnak a munkaterület ACR-jén, hogy lehetővé tegyék a Docker-rendszerképek betanításhoz való lekérését.
Feljegyzés
Ha először a számítási feladatokat hozza létre, mielőtt a munkaterület ACR-t létrehozták volna, manuálisan kell hozzárendelnie az ACRPull-szerepkört.
Docker-rendszerképek használata következtetéshez
Miután a korábban ismertetett módon rendszergazdai felhasználó nélkül konfigurálta az ACR-t, az Azure Kubernetes szolgáltatásból (AKS) rendszergazdai kulcsok nélkül is hozzáférhet a Docker-rendszerképekhez. Amikor AKS-t hoz létre vagy csatol a munkaterülethez, a fürt szolgáltatásnévéhez automatikusan ACRPull-hozzáférés lesz hozzárendelve a munkaterület ACR-éhez.
Feljegyzés
Ha saját AKS-fürtöt hoz létre, a fürtnek a felügyelt identitás helyett engedélyeznie kell a szolgáltatásnevet.
Forgatókönyv: Privát Azure Container Registry használata
Az Azure Machine Tanulás alapértelmezés szerint a Microsoft által felügyelt nyilvános adattárból származó Docker-alaprendszerképeket használja. Ez aztán létrehozza a betanítási vagy következtetési környezetet ezekre a képekre. További információ: Mik azok az ML-környezetek?.
Ha egyéni alaprendszerképet szeretne használni a vállalaton belül, felügyelt identitásokkal férhet hozzá a privát ACR-hez. Két használati eset létezik:
- A betanításhoz használja az alaprendszerképet.
- Azure Machine Tanulás felügyelt rendszerkép létrehozása egyéni rendszerképpel alapként.
A Docker alaprendszerképének lekérése gépi tanulási számítási fürtre betanítás céljából
Gépi tanulási számítási fürt létrehozása a rendszer által hozzárendelt felügyelt identitással, a korábban leírtak szerint engedélyezve. Ezután határozza meg a felügyelt identitás egyszerű azonosítóját.
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml compute show --name <cluster name> -w <workspace> -g <resource group>
Igény szerint frissítheti a számítási fürtöt egy felhasználó által hozzárendelt felügyelt identitás hozzárendeléséhez:
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml compute update --name <cluster name> --user-assigned-identities <my-identity-id>
Ha engedélyezni szeretné, hogy a számítási fürt lekérje az alaprendszerképeket, adja meg a felügyeltszolgáltatás-identitás ACRPull szerepkörét a privát ACR-en
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az role assignment create --assignee <principal ID> \
--role acrpull \
--scope "/subscriptions/<subscription ID>/resourceGroups/<private ACR resource group>/providers/Microsoft.ContainerRegistry/registries/<private ACR name>"
Végül hozzon létre egy környezetet, és adja meg az alaprendszerkép helyét a környezeti YAML-fájlban.
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: docker-image-example
image: pytorch/pytorch:latest
description: Environment created from a Docker image.
az ml environment create --file <yaml file>
Most már használhatja a környezetet egy betanítási feladatban.
Azure Machine-Tanulás felügyelt környezet létrehozása a privát ACR-ből származó alaprendszerképbe betanítás vagy következtetés céljából
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
Ebben a forgatókönyvben az Azure Machine Tanulás szolgáltatás a betanítási vagy következtetési környezetet egy privát ACR-ből biztosított alaprendszerkép fölé építi. Mivel a rendszerkép-összeállítási feladat a munkaterület ACR-jén az ACR-feladatok használatával történik, a hozzáférés engedélyezéséhez további lépéseket kell végrehajtania.
Hozzon létre felhasználó által hozzárendelt felügyelt identitást , és adjon hozzáférést az ACRPull identitásnak a privát ACR-hez.
Adjon a munkaterületnek felügyelt identitást egy felügyelt identitáskezelő szerepkörnek a felhasználó által hozzárendelt felügyelt identitáson az előző lépésben. Ezzel a szerepkörrel a munkaterület hozzárendelheti a felhasználó által hozzárendelt felügyelt identitást az ACR-feladathoz a felügyelt környezet létrehozásához.
Szerezze be a munkaterület rendszer által hozzárendelt felügyelt identitásának egyszerű azonosítóját:
ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
az ml workspace show -w <workspace name> -g <resource group> --query identityPrincipalId
Adja meg a felügyelt identitáskezelő szerepkört:
az role assignment create --assignee <principal ID> --role managedidentityoperator --scope <user-assigned managed identity resource ID>
A felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítója a felhasználó által hozzárendelt identitás Azure-erőforrás-azonosítója, formátuma
/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned managed identity name>
.
Adja meg a felhasználó által hozzárendelt felügyelt identitás külső ACR-azonosítóját és ügyfél-azonosítóját a munkaterület-kapcsolatokban a
az ml connection
parancs használatával. Ez a parancs egy YAML-fájlt fogad el, amely információkat biztosít a kapcsolatról. Az alábbi példa egy felügyelt identitás megadásának formátumát mutatja be. Cserélje le az ésresource_id
azclient_id
értékeket a felügyelt identitás értékeire:ÉRVÉNYES:Azure CLI ml-bővítmény 2-es verzió (aktuális)
name: test_ws_conn_cr_managed type: container_registry target: https://test-feed.com credentials: type: managed_identity client_id: client_id resource_id: resource_id
Az alábbi parancs bemutatja, hogyan hozhat létre kapcsolatot a munkaterülettel a YAML-fájllal. Cserélje le
<yaml file>
a ,<workspace name>
és<resource group>
a konfiguráció értékeit:az ml connection create --file <yml file> --resource-group <resource group> --workspace-name <workspace>
A konfiguráció befejezése után a privát ACR alaprendszerképeit használhatja, amikor környezeteket hoz létre betanításhoz vagy következtetéshez. Az alábbi kódrészlet bemutatja, hogyan adhatja meg az alaprendszerkép ACR-jét és a rendszerkép nevét egy környezetdefinícióban:
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azure-ai-ml v2 (aktuális)
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json name: private-acr-example image: <acr url>/pytorch/pytorch:latest description: Environment created from private ACR.
Következő lépések
- További információ a vállalati biztonságról az Azure Machine Tanulás
- Tudnivalók az adatkezelésről
- Tudnivalók a számítási fürt felügyelt identitásairól.