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:

  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é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:

  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értelmezetten felügyelt identitást fogja használni.
  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:

É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.

  1. 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.

  2. 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.

  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 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.

  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

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

  1. Hozzon létre egy új Azure Machine Tanulás-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. 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>
    
  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. 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.

  1. 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.

  2. 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.

    1. 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
      
    2. 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>.

  3. 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 és resource_id az client_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>
    
  4. 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