Megosztás a következőn keresztül:


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 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 egy munkaterületet SAI identitástípussal hoztak létre, az frissíthető SAI+UAI típusra, de nem frissíthető vissza SAI+UAI-ról SAI-ra. Több felhasználó által hozzárendelt identitást is hozzárendelhet ugyanahhoz a munkaterülethez.

Felhasználó által hozzárendelt felügyelt identitás

Munkaterület

Az Azure portálról történő Azure Machine Learning munkaterület 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:

  1. 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.
  2. 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 (konténer-regisztrációs szolgáltatás) 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>

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:

  1. Felhasználó által hozzárendelt felügyelt identitás létrehozása. Mentse a létrehozott felügyelt identitás azonosítóját.

  2. 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>':
            {}
    
  3. 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 klaszter

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:

  1. 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értelmezett felügyelt identitást használja.
  2. 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 egy meglévő számítási fürttel, válthat a felhasználó vagy a rendszer által kezelt azonosító között. 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

Kubernetes-fürt számítása

Feljegyzés

Az Azure Machine Learning kubernetes-fürtöi csak egy rendszer által hozzárendelt identitást vagy egy felhasználó által hozzárendelt identitást támogatnak, nem egyszerre.

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 az identitásnak két alkalmazása van:

  • 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értelmezett felügyelt identitást használja.
  • Identitást alkalmaz egy elküldött feladat kódjából származó erőforrások eléréséhez:

    • Kubernetes-fürtszámítás esetén a ManagedIdentityCredential objektumot client_id nélkül kell megadni.

    Például egy alapértelmezett felügyelt identitással rendelkező adattár jogkivonatának lekérése:

    credential = ManagedIdentityCredential()
    token = credential.get_token('https://storage.azure.com/')
    

Kubernetes-fürtszámítás konfigurálásához győződjön meg arról, hogy rendelkezik a szükséges AML-bővítményrel, és kövesse a kubernetes-fürt számításának az AML-munkaterülethez való csatolásával kapcsolatos dokumentációt.

Fontos

Betanítási célokra (Machine Learning-feladatok) a használt identitás a Kubernetes-fürt számításához hozzárendelt identitás. Azonban a következtetésképzés (felügyelt online végpontok) esetén a végponthoz rendelt identitás az, amelyet használnak. További információ : Azure-erőforrások elérése online végpontról.


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 nem mentenek el hitelesítési adatokat. Csak a tárfiók adatai tárolódnak az adattárban.

Ezzel szemben azok az adattárak, amelyek hitelesítő adatokon alapuló hitelesítést használnak, például a tárfiók kulcsát vagy SAS-jogkivonatát, a munkaterülethez társított kulcstartóban gyorsítótárként tárolják a kapcsolati információkat. 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-tároló
  • 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 erőforrásokon futó betanító feladatokhoz menedzselt 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élyezi a számítási példány vagy a számítási fürt kezelt identitásának a tároló területén a Blob-adatok Olvasója jogosultságokat. 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 kezelt identitás neve a Microsoft Entra-azonosítóban a /workspace-name/computes/compute-name formátumú 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 egyes lépések szintjén állítsa be, amelyeket egy számításon hajtanak végre, ahelyett, hogy a gyökérfolyamat szintjén állítaná be. (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.

  1. Biztosítson hozzáférést a felhasználói fióknak 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.

  2. Hozzon létre egy Azure Machine Learning-adattárat a tárfiókhoz gyorsítótárazott hitelesítő adatok nélkül. 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.

  3. 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 beállítás.

    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.

  1. Adjon hozzáférést az adatokhoz, és hozzon létre adattárat a cli-hez fent leírtak szerint.

  2. 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, ezek a beállítások határozzák 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 egy meglévő ACR-t, amelynek a rendszergazda felhasználója már le van tiltva.

Azure Machine Learning automatikusan létrehozott ACR-példánnyal

  1. Hozzon létre egy új Azure Machine Learning-munkaterületet.

  2. Hajtsa végre az Azure Container Registryt igénylő műveletet. Például az oktatóanyag: Az első modell betanítása.

  3. Szerezze meg a klaszter á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 akarja, amely az ACR példány neve:

    /subscriptions/<subscription id>/resourceGroups/<my resource group>/providers/MicrosoftContainerReggistry/registries/<ACR instance name>
    
  4. 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 --container-registry paraméter értékének lekéréséhez használja az az acr show parancsot, hogy megjelenítse az ACR információit. 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ási egység létrehozása kezelt identitással a Docker-rendszerképek betanításhoz való eléréséhez

Az ACR munkaterülethez való hozzáféréshez hozzon létre egy gépi tanulási számítási fürtöt, amelyen a rendszer által hozzárendelt felügyelt identitás engedélyezve van. 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óért lásd: 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 erőforrásokat hozza létre, még mielőtt a munkaterület ACR létrejött 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ás felelőse automatikusan ACRPull-hozzáférést kap a munkaterület ACR-jé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.

  1. Hozzon létre egy gépi tanulási számítási fürtöt a korábban ismertetett módon engedélyezett, rendszer által hozzárendelt felügyelt identitással. 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ógépes klasztert úgy, hogy hozzárendel egy felhasználó által kijelölt felügyelt identitást.

    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>
    
  2. Ha engedélyezni szeretné, hogy a számítási fürt lekérje az alaprendszerképeket, adjon ACRPull szerepkört a felügyelt szolgáltatásazonosságnak (a munkaterülethez vagy a számításhoz) 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>"
    
  3. Hozzon létre egy környezetet, és adja meg az alaprendszerkép helyét a környezeti YAML-fájlban. Az alábbi YAML-fájl bemutatja, hogyan definiálhat olyan környezetet, amely a privát ACR-re hivatkozik. Cserélje le a <acr-url> helyére a privát ACR URL-címét, például myregistry.azurecr.io. Cserélje le a <image-path>-t a privát ACR-ben lévő kép elérési útjára, például pytorch/pytorch:latest.

    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: <acr-url>/<image-path>:latest
    description: Environment created from a Docker image.
    
  4. Az alábbi parancs bemutatja, hogyan hozhatja létre a környezetet a YAML-fájlból. Cserélje le <yaml file> a YAML-fájl elérési útját:

    A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)

    az ml environment create --file <yaml file>
    

    Most már használhatja a környezetet egy betanítási feladatban.