Felügyelt identitások használata az Azure Machine Learning CLI 1-ben
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény 1-es verzió
A felügyelt identitások lehetővé teszik a munkaterület konfigurálását az erőforrások eléréséhez szükséges minimális engedélyekkel.
Ha megbízható módon konfigurálja az Azure Machine Learning-munkaterületet, fontos biztosítani, hogy a munkaterülethez társított különböző szolgáltatások megfelelő hozzáférési szinttel rendelkezzenek. A gépi tanulási munkafolyamat során például a munkaterületnek hozzá kell férnie az Azure Container Registryhez (ACR) Docker-rendszerképekhez, valamint a betanítási adatok tárfiókjainak.
A felügyelt identitások emellett lehetővé teszik az engedélyek részletes szabályozását, például adott számítási erőforrások hozzáférésének adott ACR-hez való engedélyezését vagy visszavonását.
Ebből a cikkből megtudhatja, hogyan használhat felügyelt identitásokat a következőre:
- Konfigurálja és használja az ACR-t az Azure Machine Learning-munkaterülethez anélkül, hogy engedélyeznie kellene a rendszergazdai felhasználók hozzáférését az ACR-hez.
- A munkaterületen kívüli privát ACR elérése alaprendszerképek lekéréséhez betanítás vagy következtetés céljából.
- Munkaterület létrehozása felhasználó által hozzárendelt felügyelt identitással a társított erőforrások eléréséhez.
Előfeltételek
Egy Azure Machine Learning-munkaterület. További információ: Munkaterület-erőforrások létrehozása.
Az Azure CLI-bővítmény a Machine Learning szolgáltatáshoz
Fontos
A cikkben szereplő Azure CLI-parancsok némelyike az
azure-cli-ml
Azure Machine Learning bővítményét vagy v1-et használja. A v1-bővítmény támogatása 2025. szeptember 30-án megszűnik. Addig a dátumig telepítheti és használhatja a v1-bővítményt.Javasoljuk, hogy 2025. szeptember 30-a előtt váltsa át a
ml
(vagy v2) bővítményt. További információ a v2-es bővítményről: Azure ML CLI-bővítmény és Python SDK v2.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.
Felügyelt identitások konfigurálása
Bizonyos esetekben le kell tiltani a rendszergazdai felhasználók hozzáférését az Azure Container Registryhez. Előfordulhat például, hogy az ACR meg van osztva, és meg kell tiltania a rendszergazdai hozzáférést más felhasználók számára. Vagy az ACR rendszergazdai felhasználóval való létrehozását egy előfizetési szintű szabályzat nem engedélyezi.
Fontos
Ha az Azure Machine Learninget használja az Azure Container Instance (ACI) következtetéséhez, rendszergazdai felhasználói hozzáférésre van szükség az ACR-en. Ne tiltsa le, ha következtetési modelleket tervez üzembe helyezni az ACI-ban.
Ha rendszergazdai hozzáférés engedélyezése nélkül hoz létre ACR-t, a rendszer felügyelt identitásokkal fér hozzá az ACR-hez Docker-rendszerképek létrehozásához és lekéréséhez.
A munkaterület létrehozásakor saját ACR-t hozhat létre, ha a rendszergazdai felhasználó le van tiltva. Azt is megteheti, hogy az Azure Machine Learning létrehoz egy munkaterületi ACR-t, és később letiltja a rendszergazda felhasználót.
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 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:
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.
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>
Az Azure Machine Learning Service létrehozása munkaterületi ACR-sel
Ha nem hoz létre saját ACR-t, az Azure Machine Learning szolgáltatás létrehoz egyet, amikor egy olyan műveletet hajt végre, amelyhez szüksége van rá. Például küldjön be egy betanítási futtatásokat a Machine Learning Computebe, hozzon létre egy környezetet, vagy telepítsen egy webszolgáltatás-végpontot. A munkaterület által létrehozott ACR-ben engedélyezve lesz a rendszergazdai felhasználó, és manuálisan kell letiltania a rendszergazda felhasználót.
Új munkaterület létrehozása
az ml workspace show -n <my workspace> -g <my resource group>
ACR-t igénylő műveletet hajt végre. Például a modell betanításáról szóló oktatóanyag.
Kérje le a fürt által létrehozott ACR-nevet:
az ml workspace show -w <my workspace> \ -g <my resource group> --query containerRegistry
Ez a parancs az alábbi szöveghez hasonló értéket ad vissza. Csak a szöveg utolsó részét szeretné, amely az ACR-példány neve:
/subscriptions/<subscription id>/resourceGroups/<my resource group>/providers/MicrosoftContainerReggistry/registries/<ACR instance name>
Frissítse az ACR-t a rendszergazdai felhasználó letiltásához:
az acr update --name <ACR instance name> --admin-enabled false
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.
Amikor számítási fürtöt hoz létre az AmlComputeProvisioningConfiguration használatával, a identity_type
paraméterrel állítsa be a felügyelt identitás típusát.
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.
Alaprendszerképek elérése privát ACR-ből
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 1-es verzió
az ml computetarget amlcompute identity 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:
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény 1-es verzió
az ml computetarget amlcompute identity assign --name <cluster name> \
-w $mlws -g $mlrg --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
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 egy betanítási futtatás elküldésekor adja meg az alaprendszerkép helyét a környezetdefinícióban.
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
from azureml.core import Environment
env = Environment(name="private-acr")
env.docker.base_image = "<ACR name>.azurecr.io/<base image repository>/<base image version>"
env.python.user_managed_dependencies = True
Fontos
Annak érdekében, hogy az alaprendszerkép közvetlenül a számítási erőforráshoz legyen leküldve, állítson be user_managed_dependencies = True
és ne adjon meg Docker-fájlt. Ellenkező esetben az Azure Machine Learning szolgáltatás megpróbál létrehozni egy új Docker-rendszerképet, és sikertelen lesz, mert csak a számítási fürt rendelkezik hozzáféréssel az alaprendszerkép lekéréséhez az ACR-ből.
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
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény 1-es verzió
Ebben a forgatókönyvben az Azure Machine Learning szolgáltatás a betanítási vagy következtetési környezetet egy privát ACR-ből biztosított alaprendszerképre építi. Mivel a rendszerkép-összeállítási feladat a munkaterület ACR-jén az ACR-feladatok használatával történik, a hozzáférés engedélyezéséhez további lépéseket kell végrehajtania.
Hozzon létre felhasználó által hozzárendelt felügyelt identitást , és adjon hozzáférést az ACRPull identitásnak a privát ACR-hez.
Adjon a munkaterület rendszer által hozzárendelt felügyelt identitásának egy felügyelt identitáskezelő szerepkört a felhasználó által hozzárendelt felügyelt identitáson az előző lépésben. Ezzel a szerepkörrel a munkaterület hozzárendelheti a felhasználó által hozzárendelt felügyelt identitást az ACR-feladathoz a felügyelt környezet létrehozásához.
Szerezze be a munkaterület rendszer által hozzárendelt felügyelt identitásának egyszerű azonosítóját:
az ml workspace show -w <workspace name> -g <resource group> --query identityPrincipalId
Adja meg a felügyelt identitáskezelő szerepkört:
az role assignment create --assignee <principal ID> --role managedidentityoperator --scope <user-assigned managed identity resource ID>
A felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítója a felhasználó által hozzárendelt identitás Azure-erőforrás-azonosítója, formátuma
/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned managed identity name>
.
Adja meg a felhasználó által hozzárendelt felügyelt identitás külső ACR-azonosítóját és ügyfél-azonosítóját a munkaterület-kapcsolatokban Workspace.set_connection metódus használatával:
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
workspace.set_connection( name="privateAcr", category="ACR", target = "<acr url>", authType = "RegistryConnection", value={"ResourceId": "<user-assigned managed identity resource id>", "ClientId": "<user-assigned managed identity client ID>"})
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 azureml v1
from azureml.core import Environment env = Environment(name="my-env") env.docker.base_image = "<acr url>/my-repo/my-image:latest"
Opcionálisan a RegistryIdentity használatával megadhatja a felügyelt identitás erőforrás URL-címét és ügyfél-azonosítóját magában a környezetdefinícióban. Ha explicit módon használja a beállításjegyzék-identitást, az felülbírálja a korábban megadott munkaterület-kapcsolatokat:
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
from azureml.core.container_registry import RegistryIdentity identity = RegistryIdentity() identity.resource_id= "<user-assigned managed identity resource ID>" identity.client_id="<user-assigned managed identity client ID>" env.docker.base_image_registry.registry_identity=identity env.docker.base_image = "my-acr.azurecr.io/my-repo/my-image:latest"
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.
Munkaterület létrehozása felhasználó által hozzárendelt felügyelt identitással
Munkaterület létrehozásakor saját, felhasználó által hozzárendelt felügyelt identitást hozhat létre, amely a társított erőforrások eléréséhez használható: ACR, KeyVault, Storage és App Insights.
Fontos
Ha felhasználó által hozzárendelt felügyelt identitással rendelkező munkaterületet hoz létre, saját maga kell létrehoznia a társított erőforrásokat, és meg kell adnia a felügyelt identitásszerepköröket ezeken az erőforrásokon. A feladatok elvégzéséhez használja a szerepkör-hozzárendelés ARM-sablonját .
A munkaterület létrehozásához használja az Azure CLI-t vagy a Python SDK-t. A parancssori felület használatakor adja meg az azonosítót a --primary-user-assigned-identity
paraméterrel. Az SDK használatakor használja a .primary_user_assigned_identity
Az alábbiakban példákat láthat arra, hogy az Azure CLI és a Python használatával hoz létre új munkaterületet az alábbi paraméterekkel:
Azure CLI
A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény 1-es verzió
az ml workspace create -w <workspace name> -g <resource group> --primary-user-assigned-identity <managed identity ARM ID>
Python
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
from azureml.core import Workspace
ws = Workspace.create(name="workspace name",
subscription_id="subscription id",
resource_group="resource group name",
primary_user_assigned_identity="managed identity ARM ID")
ARM-sablonnal is létrehozhat egy felhasználó által hozzárendelt felügyelt identitással rendelkező munkaterületet.
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 felhasználó által hozzárendelt identitás-for-cmk-encryption (CLI) vagy user_assigned_identity_for_cmk_encryption (SDK) argumentumot 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.
Következő lépések
- További információ a vállalati biztonságról az Azure Machine Learningben
- Tudnivalók az identitásalapú adathozzáférésről
- Tudnivalók a számítási fürt felügyelt identitásairól.