Hitelesítés beállítása az Azure Machine Learning é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 Learning é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 Learning-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 Learning 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 Learning számára az ACR automatikus létrehozását, az engedélyezi a rendszergazdai fiókot.
- Az Azure Machine Learning 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 Learning 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ó: Az Azure Machine Learninghez készült Python SDK v2 telepítése.
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.
Munkaterületi identitástípusok
Az Azure Machine Learning-munkaterület felügyelt identitással kommunikál más szolgáltatásokkal. Az Azure Machine Learning több identitástípust is támogat.
Felügyelt identitás típusa | Szerepkör-hozzárendelés létrehozása | Cél |
---|---|---|
Rendszer által hozzárendelt (SAI) | A Microsoft felügyeli | Erőforráshoz kötött életciklus; egyszeri erőforrás-használat; egyszerű az első lépésekhez |
Rendszer által hozzárendelt+felhasználó által hozzárendelt (SAI+UAI) | Ön kezeli | A felhasználó által hozzárendelt identitások független életciklusa, a több erőforrás használata a legkevésbé kiemelt hozzáférést szabályozza. Adatok elérése betanítási feladatokban. |
Miután létrehozott egy munkaterületet SAI-identitástípussal, frissíthető SAI+UAI-ra, de SAI+UAI-ról SAI-ra nem. Több felhasználó által hozzárendelt identitást is hozzárendelhet ugyanahhoz a munkaterülethez.
Az Azure Container Registry és az identitástípusok
Ez a 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
Az Azure Machine Learning-munkaterület Azure Portalról való létrehozásakor hozzáadhat egy felhasználó által hozzárendelt felügyelt identitást. 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ésekre van szükség a felhasználó által hozzárendelt felügyelt identitáson az Azure Machine Learning-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 adatok előzetes verziójának engedélyezéséhez az Azure Machine Learning Studióban) |
Azure Key Vault (RBAC-engedélymodell használatakor) | Közreműködő (vezérlősík) + Key Vault-rendszergazda (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:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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é.
Felhasználó által hozzárendelt felügyelt identitás hozzáadása egy munkaterülethez a rendszer által hozzárendelt identitás mellett
Bizonyos esetekben előfordulhat, hogy az alapértelmezett rendszer által hozzárendelt munkaterületi identitás mellett felhasználó által hozzárendelt felügyelt identitást is használnia kell. Ha felhasználó által hozzárendelt felügyelt identitást szeretne hozzáadni a meglévő munkaterületi identitás módosítása nélkül, kövesse az alábbi lépéseket:
Felhasználó által hozzárendelt felügyelt identitás létrehozása. Mentse a létrehozott felügyelt identitás azonosítóját.
Ha a felügyelt identitást a munkaterülethez szeretné csatolni, szüksége van egy YAML-fájlra, amely megadja az identitást. Az alábbiakban egy példa látható a YAML-fájl tartalmára. Cserélje le a
<TENANT_ID>
,<RESOURCE_GROUP>
és<USER_MANAGED_ID>
az értékeket.identity: type: system_assigned,user_assigned tenant_id: <TENANT_ID> user_assigned_identities: '/subscriptions/<SUBSCRIPTION_ID/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_MANAGED_ID>': {}
A munkaterület frissítéséhez használja az Azure CLI-parancsot
az ml workspace update
. Adja meg a YAML-fájlt az előző lépésben a--file
paraméterrel. Az alábbi példa a parancs megjelenését mutatja be:az ml workspace update --resource-group <RESOURCE_GROUP> --name <WORKSPACE_NAME> --file <YAML_FILE_NAME>.yaml
Számítási fürt
Feljegyzés
Az Azure Machine Learning számítási fürtöi 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:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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.
Az identitásalapú adathozzáférést két forgatókönyvben alkalmazhatja az Azure Machine Learningben. 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
Az Azure Machine Learning-adattárakkal identitásalapú adathozzáféréssel csatlakozhat a tárolási szolgáltatásokhoz.
Identitásalapú adathozzáférés használatakor az Azure Machine Learning a hitelesítő adatok adattárban való megőrzése helyett a Microsoft Entra-jogkivonatot kéri az adathozzáférés-hitelesítéshez. 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 Learningnek rendelkeznie kell engedéllyel 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 Learning adattámogatási csapatának 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 Learning-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
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)
Az Azure Machine Learning számítási fürtöinek 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 Learning CLI-vel és a Python SDK V2-vel küldött kísérletek esetében támogatott, az ML Studióban azonban 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 Learning-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
Az Azure Machine Learning alapértelmezés szerint 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 Learning 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 Learning egy felügyelt identitással hoz létre és kér le Docker-rendszerképeket. Az Azure Machine Learning konfigurálásakor két munkafolyamat működik úgy, hogy egy ACR-t használjon a rendszergazdai felhasználó letiltásával:
- Engedélyezze az Azure Machine Learningnek, hogy létrehozza az ACR-példányt, majd később letiltsa 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 Learning automatikusan létrehozott ACR-példánnyal
Hozzon létre egy új Azure Machine Learning-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.
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)
az ml workspace show --name <my workspace name> \ --resource-group <my resource group> \ --subscription <my subscription id> \ --query container_registry
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.
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 Learning-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 Learning-munkaterület létrehozását mutatja be:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)
az ml workspace create -n <workspace name> \
-g <workspace resource group> \
-l <region> \
--container-registry /subscriptions/<subscription id>/resourceGroups/<acr resource group>/providers/Microsoft.ContainerRegistry/registries/<acr name>
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.
Ha már rendelkezik olyan meglévő ACR-lel, amely rendszergazdai felhasználóval van letiltva, azt frissítéssel csatolhatja a munkaterülethez. Az alábbi példa egy Azure Machine Learning-munkaterület frissítését mutatja be egy meglévő ACR használatára:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)
az ml workspace update --update-dependent-resources \
--name <workspace name> \
--resource-group <workspace resource group> \
--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.
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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 Learning alapértelmezés szerint Docker-alaprendszerképeket használ, amelyek a Microsoft által felügyelt nyilvános adattárból származnak. 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 Learning által 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.
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)
az ml compute show --name <cluster name> -n <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:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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.
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (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 Learning által felügyelt környezet létrehozása a privát ACR-ből származó alaprendszerképbe betanításhoz vagy következtetéshez
Feljegyzés
A privát ACR-hez való csatlakozás felhasználó által hozzárendelt felügyelt identitással jelenleg nem támogatott. A rendszergazdai kulcs az egyetlen, a privát ACR-hez támogatott hitelesítési típus.
Következő lépések
- További információ a vállalati biztonságról az Azure Machine Learningben
- Tudnivalók az adatkezelésről
- Tudnivalók a számítási fürt felügyelt identitásairól.