Az Azure Machine Tanulás-munkaterületekhez való hozzáférés kezelése

Ez a cikk bemutatja, hogyan kezelheti az Azure Machine-Tanulás-munkaterületekhez való hozzáférést (engedélyezést). Az Azure szerepköralapú hozzáférés-vezérlésével (Azure RBAC) kezelheti az Azure-erőforrásokhoz való hozzáférést, így a felhasználók új erőforrásokat hozhatnak létre vagy használhatnak meglévőket. A Microsoft Entra-azonosítóban szereplő felhasználókhoz meghatározott szerepkörök vannak rendelve, amelyek hozzáférést biztosítanak az erőforrásokhoz. Az Azure beépített szerepköröket és egyéni szerepkörök létrehozását is lehetővé teszi.

Tipp.

Bár ez a cikk az Azure Machine Tanulás foglalkozik, az egyes szolgáltatások saját RBAC-beállításokat biztosítanak. A cikkben szereplő információk használatával például konfigurálhatja, hogy kik küldhetnek pontozási kéréseket egy webszolgáltatásként üzembe helyezett modellnek az Azure Kubernetes Service-ben. Az Azure Kubernetes Service azonban saját Azure-szerepköröket biztosít. Az Azure Machine Tanulás szolgáltatásspecifikus RBAC-információiért tekintse meg az alábbi hivatkozásokat:

Figyelmeztetés

Egyes szerepkörök alkalmazása korlátozhatja a felhasználói felület funkcióit az Azure Machine Tanulás Studióban más felhasználók számára. Ha például egy felhasználó szerepköre nem képes számítási példányt létrehozni, a számítási példányok létrehozásának lehetősége nem érhető el a studióban. Ez a viselkedés rendeltetésszerű, és megakadályozza, hogy a felhasználó olyan műveleteket kíséreljen meg, amelyek hozzáférés-megtagadási hibát adnának vissza.

Alapértelmezett szerepkörök

Az Azure Machine Tanulás-munkaterületeken alapértelmezés szerint elérhető beépített szerepkörök állnak rendelkezésre. Amikor felhasználókat ad hozzá egy munkaterülethez, az alábbi szerepkörök egyikéhez rendelhetők hozzá.

Szerepkör Hozzáférési szint
AzureML adattudós Az Azure Machine Tanulás munkaterületen belül minden műveletet végrehajthat, kivéve a számítási erőforrások létrehozását vagy törlését, valamint magát a munkaterületet.
AzureML számítási operátor Számítási erőforrásokat hozhat létre, kezelhet, törölhet és érhet el egy munkaterületen belül.
Olvasó Csak olvasható műveletek elvégzése a munkaterületen. Az olvasók egy munkaterületen listázhatják és tekinthetik meg az adategységeket, beleértve az adattár hitelesítő adatait is. Az olvasók nem hozhatják létre és nem frissíthetik ezeket az eszközöket.
Közreműködő Adategységek megtekintése, létrehozása, szerkesztése és törlése (ahol lehetséges) a munkaterületen. A közreműködők például létrehozhatnak egy kísérletet, létrehozhatnak vagy csatolhatnak egy számítási fürtöt, futtatást végezhetnek és webszolgáltatásokat helyezhetnek üzembe.
Tulajdonos Teljes körű hozzáférés a munkaterülethez, beleértve a munkaterület adategységeinek megtekintését, létrehozását, szerkesztését vagy törlését (ahol lehetséges). Emellett módosíthatja a szerepkör-hozzárendeléseket.

Emellett az Azure Machine Tanulás-adatbázisai rendelkeznek egy AzureML beállításjegyzék-felhasználói szerepkörrel, amely hozzárendelhető egy beállításjegyzék-erőforráshoz, hogy felhasználói szintű engedélyeket adjon az adatelemzőknek. A regisztrációs adatbázisok létrehozásához vagy törléséhez rendszergazdai szintű engedélyekhez használja a Közreműködő vagy a Tulajdonos szerepkört.

Szerepkör Hozzáférési szint
AzureML-beállításjegyzék-felhasználó Lekérheti a regisztrációs adatbázisokat, valamint beolvashatja, megírhatja és törölheti a bennük lévő objektumokat. Nem hozhatók létre új beállításjegyzék-erőforrások, és nem törölhetők.

A szerepkörök kombinálásával különböző hozzáférési szinteket biztosíthat. Megadhat például egy munkaterület-felhasználónak AzureML adattudós és AzureML számítási operátori szerepkört is, hogy lehetővé tegyék a felhasználó számára a kísérleteket, miközben önkiszolgáló módon hoz létre számításokat.

Fontos

A szerepkör-hozzáférés több szintre is kiterjedhet az Azure-ban. Előfordulhat például, hogy egy munkaterülethez tulajdonosi hozzáféréssel rendelkező személy nem rendelkezik tulajdonosi hozzáféréssel a munkaterületet tartalmazó erőforráscsoporthoz. További információ: Az Azure RBAC működése.

Munkaterület hozzáférésének kezelése

Ha Ön a munkaterület tulajdonosa, szerepköröket adhat hozzá és távolíthat el a munkaterületről. A felhasználókhoz is hozzárendelhet szerepköröket. Az alábbi hivatkozásokkal megismerheti a hozzáférés kezelését:

Az Azure CLI-vel például közreműködői szerepkört rendelhet hozzá az e-rg erőforráscsoporthoz joe@contoso.coma következő paranccsal:

az role assignment create --role "Contributor" --assignee "joe@contoso.com" --resource-group this-rg

Munkaterület-hozzáférés kezelése a Microsoft Entra biztonsági csoportjaival

A Microsoft Entra biztonsági csoportjaival kezelheti a munkaterületekhez való hozzáférést. Ez a megközelítés a következő előnyökkel jár:

  • A csapat- vagy projektvezetők biztonsági csoporttulajdonosokként kezelhetik a munkaterülethez való felhasználói hozzáférést anélkül, hogy közvetlenül tulajdonosi szerepkörre van szükségük a munkaterület-erőforráson.
  • Csoportként rendszerezheti, kezelheti és visszavonhatja a felhasználók munkaterületre és más erőforrásokra vonatkozó engedélyeit anélkül, hogy felhasználónkénti engedélyeket kellene kezelnie.
  • A Microsoft Entra-csoportok használatával elkerülheti a szerepkör-hozzárendelések előfizetési korlátjának elérését.

A Microsoft Entra biztonsági csoportjainak használata:

  1. Hozzon létre egy biztonsági csoportot.
  2. Csoporttulajdonos hozzáadása. Ez a felhasználó jogosult csoporttagok hozzáadására vagy eltávolítására. A csoporttulajdonosnak nem kell csoporttagnak lennie, vagy közvetlen RBAC-szerepköre van a munkaterületen.
  3. Rendeljen hozzá egy RBAC-szerepkört a munkaterülethez, például az AzureML adattudós, az Olvasó vagy a Közreműködő szerepkört.
  4. Csoporttagok hozzáadása. A tagok hozzáférést kapnak a munkaterülethez.

Egyéni szerepkör létrehozása

Ha a beépített szerepkörök nem elegendőek, egyéni szerepköröket is létrehozhat. Az egyéni szerepkörök olvasási, írási, törlési és számítási erőforrás-engedélyekkel rendelkezhetnek a munkaterületen. A szerepkört elérhetővé teheti egy adott munkaterület szintjén, egy adott erőforráscsoport szintjén vagy egy adott előfizetési szinten.

Feljegyzés

Ahhoz, hogy egyéni szerepköröket hozzon létre az adott erőforráson belül, az erőforrás tulajdonosának kell lennie ezen a szinten.

Egyéni szerepkör létrehozásához először hozzon létre egy szerepkördefiníciós JSON-fájlt, amely megadja a szerepkör engedélyét és hatókörét. Az alábbi példa egy egyéni adattudós egyéni szerepkört határoz meg egy adott munkaterület szintjén:

data_scientist_custom_role.json:

{
    "Name": "Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute.",
    "Actions": ["*"],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>"
    ]
}

Tipp.

A mezőt úgy módosíthatja AssignableScopes , hogy ennek az egyéni szerepkörnek a hatókörét az előfizetés szintjén, az erőforráscsoport szintjén vagy egy adott munkaterület szintjén állítsa be. A fenti egyéni szerepkör csak egy példa, lásd néhány javasolt egyéni szerepkört az Azure Machine Tanulás szolgáltatáshoz.

Ez az egyéni szerepkör a következő műveletek kivételével mindent végrehajthat a munkaterületen:

  • Nem tudja törölni a munkaterületet.
  • Nem tudja létrehozni vagy frissíteni a munkaterületet.
  • Nem tud számítási erőforrásokat létrehozni vagy frissíteni.
  • Nem tudja törölni a számítási erőforrásokat.
  • Nem tud szerepkör-hozzárendeléseket hozzáadni, törölni vagy módosítani.

Az egyéni szerepkör üzembe helyezéséhez használja a következő Azure CLI-parancsot:

az role definition create --role-definition data_scientist_custom_role.json

Az üzembe helyezés után ez a szerepkör elérhetővé válik a megadott munkaterületen. Most már hozzáadhatja és hozzárendelheti ezt a szerepkört az Azure Portalon.

Az egyéni szerepkörökről további információt az Azure egyéni szerepköreivel kapcsolatban talál.

Azure Machine Tanulás műveletek

Az egyéni szerepkörökkel használható műveletekről (műveletekről és nem műveletekről) további információt az Erőforrás-szolgáltató műveletei című témakörben talál. A műveletek listázásához az alábbi Azure CLI-parancsot is használhatja:

az provider operation show –n Microsoft.MachineLearningServices

Egyéni szerepkörök listázása

Az Azure CLI-ben futtassa a következő parancsot:

az role definition list --subscription <subscriptionId> --custom-role-only true

Egy adott egyéni szerepkör szerepkördefiníciójának megtekintéséhez használja az alábbi Azure CLI-parancsot. Az <roleName> előző parancs által visszaadott formátumnak kell lennie:

az role definition list -n <roleName> --subscription <subscriptionId>

Egyéni szerepkörök frissítése

Az Azure CLI-ben futtassa a következő parancsot:

az role definition update --role-definition update_def.json --subscription <subscriptionId>

Az új szerepkördefiníció teljes hatókörére vonatkozó engedélyekkel kell rendelkeznie. Ha például ez az új szerepkör három előfizetésre kiterjedő hatókörrel rendelkezik, mindhárom előfizetéshez rendelkeznie kell engedélyekkel.

Feljegyzés

A szerepkör-frissítések alkalmazása az adott hatókörben lévő összes szerepkör-hozzárendelésre 15 percet és egy órát is igénybe vehet.

Ismételhetőség az Azure Resource Manager-sablonok használatával

Ha arra számít, hogy összetett szerepkör-hozzárendeléseket kell létrehoznia, az Azure Resource Manager-sablon jelentős segítség lehet. A machine-learning-dependencies-role-assignment sablon bemutatja, hogyan adhatók meg a szerepkör-hozzárendelések a forráskódban az újrafelhasználáshoz.

Gyakori forgatókönyvek

Az alábbi táblázat összefoglalja az Azure Machine Tanulás tevékenységeit és a minimális hatókörben való végrehajtásához szükséges engedélyeket. Ha például egy tevékenység elvégezhető munkaterület-hatókörrel (4. oszlop), akkor az ezzel az engedéllyel rendelkező összes magasabb hatókör is automatikusan működik. Bizonyos tevékenységek esetében az engedélyek eltérnek a V1 és a V2 API-k között.

Fontos

A táblázat minden olyan elérési útja, amely a /következőhöz Microsoft.MachineLearningServices/ viszonyítva kezdődik:

Tevékenység Előfizetési szintű hatókör Erőforráscsoportszintű hatókör Munkaterületszintű hatókör
Új munkaterület létrehozása 1 Nem kötelező Tulajdonos vagy közreműködő N/A (tulajdonos lesz, vagy a létrehozás után örökli a magasabb hatókörű szerepkört)
Előfizetési szintű Amlcompute-kvóta kérése vagy munkaterületszintű kvóta beállítása Tulajdonos, közreműködő vagy egyéni szerepkör
Lehetővé teszi /locations/updateQuotas/action
előfizetési hatókörben
Nem engedélyezett Nem engedélyezett
Új számítási fürt létrehozása Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/computes/write
Új számítási példány létrehozása Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/computes/write
Bármilyen típusú futtatás beküldése (V1) Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/*/read, , , /workspaces/metadata/artifacts/write/workspaces/experiments/runs/write, , , /workspaces/environments/build/action/workspaces/experiments/runs/submit/action/workspaces/metadata/snapshots/write/workspaces/environments/write/workspaces/environments/readSecrets/action
Bármilyen típusú futtatás beküldése (V2) Nem kötelező Nem kötelező Tulajdonosi, közreműködői vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/*/read, , , /workspaces/metadata/artifacts/write/workspaces/jobs/*, , /workspaces/metadata/codes/*/write/workspaces/environments/build/action/workspaces/environments/write/workspaces/environments/readSecrets/action
Közzétételi folyamatok és végpontok (V1) Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/endpoints/pipelines/*, , /workspaces/pipelinedrafts/*/workspaces/modules/*
Közzétételi folyamatok és végpontok (V2) Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/endpoints/pipelines/*, , /workspaces/pipelinedrafts/*/workspaces/components/*
AKS-erőforrás csatolása 2 Nem kötelező Az AKS-t tartalmazó erőforráscsoport tulajdonosa vagy közreműködője
Regisztrált modell üzembe helyezése AKS-/ACI-erőforráson Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/services/aks/write, /workspaces/services/aci/write
Hatókörkezelés egy üzembe helyezett AKS-végponton Nem kötelező Nem kötelező Tulajdonosi, közreműködői vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/services/aks/score/action, /workspaces/services/aks/listkeys/action (ha nem használja a Microsoft Entra hitelesítést) VAGY /workspaces/read (jogkivonat-hitelesítés használatakor)
Tároló elérése interaktív jegyzetfüzetekkel Nem kötelező Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/computes/read, /workspaces/notebooks/samples/read, /workspaces/notebooks/storage/*, , /workspaces/listStorageAccountKeys/action/workspaces/listNotebookAccessToken/read
Új egyéni szerepkör létrehozása Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi Microsoft.Authorization/roleDefinitions/write Nem kötelező Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi: /workspaces/computes/write
Online végpontok és üzemelő példányok létrehozása/kezelése Nem kötelező A stúdióban való üzembe helyezéshez Microsoft.Resources/deployments/write Tulajdonos, közreműködő vagy egyéni szerepkör, amely lehetővé teszi Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*.
Hitelesítési hitelesítő adatok lekérése online végpontokhoz Nem kötelező Nem kötelező Tulajdonosi, közreműködői vagy egyéni szerepkör, amely lehetővé teszi Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action és Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/action
  1. Ha egy munkaterület első létrehozásakor hibaüzenetet kap, győződjön meg arról, hogy a szerepkör engedélyezi Microsoft.MachineLearningServices/register/action. Ezzel a művelettel regisztrálhatja az Azure Machine Tanulás erőforrás-szolgáltatót az Azure-előfizetésében.

  2. AKS-fürt csatolásakor az Azure Kubernetes Service-fürtnek Rendszergazda szerepkörrel is rendelkeznie kell a fürtön.

Üzembe helyezés virtuális hálózaton vagy alhálózaton

  • Ha erőforrásokat szeretne üzembe helyezni egy virtuális hálózaton vagy alhálózaton, a felhasználói fióknak rendelkeznie kell az Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) alábbi műveleteihez szükséges engedélyekkel:

    • "Microsoft.Network/*/read" a virtuális hálózati erőforráson. Erre az engedélyre nincs szükség az Azure Resource Manager-sablontelepítésekhez.
    • "Microsoft.Network/virtualNetworks/join/action" a virtuális hálózati erőforráson.
    • "Microsoft.Network/virtualNetworks/alhálózatok/csatlakozás/művelet" az alhálózati erőforráson.

    További információ a hálózatkezeléssel rendelkező Azure RBAC-ről: A hálózatkezelés beépített szerepkörei

A V1 és a V2 API-k műveletei közötti különbségek

A V1 API-k és a V2 API-k műveletei között bizonyos különbségek vannak.

Eszköz A V1 API műveleti útvonala A V2 API műveleti útvonala
Adathalmaz Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/adathalmazok Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/adathalmazok/verziók
Kísérletfuttatások és feladatok Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/kísérletek Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/feladatok
Modellek Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/modellek Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/modellek/verziók
Pillanatképek és kód Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/pillanatképek Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/kódok/verziók
Modulok és összetevők Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/modulok Microsoft.Machine Tanulás Szolgáltatások/munkaterületek/összetevők

Az egyéni szerepköröket kompatibilissé teheti mind a V1, mind a V2 API-kkal úgy, hogy mindkét műveletet belefoglalja, vagy helyettesítő karaktereket használ, amelyek például Microsoft.MachineLearningServices/workspaces/datasets/*/readmindkét műveletet tartalmazzák.

Munkaterület létrehozása ügyfél által felügyelt kulccsal

Ügyfél által felügyelt kulcs (CMK) használatakor a rendszer egy Azure Key Vaultot használ a kulcs tárolására. A munkaterület létrehozásához használt felhasználónak vagy szolgáltatásnévnek tulajdonosi vagy közreműködői hozzáféréssel kell rendelkeznie a kulcstartóhoz.

Ha a munkaterület felhasználó által hozzárendelt felügyelt identitással van konfigurálva, az identitásnak a következő szerepkörökkel kell rendelkeznie. Ezek a szerepkörök lehetővé teszik a felügyelt identitás számára az ügyfél által felügyelt kulcsok használatakor használt Azure Storage-, Azure Cosmos DB- és Azure Search-erőforrások létrehozását:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

A kulcstartón belül a felhasználónak vagy a szolgáltatásnévnek létre kell hoznia, le kell szereznie, törölnie és törölnie kell a kulcshoz való hozzáférést egy kulcstartó hozzáférési szabályzatán keresztül. További információ: Azure Key Vault security.

Felhasználó által hozzárendelt felügyelt identitás az Azure Machine Tanulás számítási fürttel

Ha egy felhasználó által hozzárendelt identitást szeretne hozzárendelni egy Azure Machine Tanulás számítási fürthöz, írási engedélyekre van szüksége a számítás és a felügyelt identitáskezelő szerepkör létrehozásához. További információ a felügyelt identitásokkal rendelkező Azure RBAC-ről: A felhasználó által hozzárendelt identitás kezelése

MLflow-műveletek

Ha MLflow-műveleteket szeretne végrehajtani az Azure Machine Tanulás-munkaterületen, használja az alábbi hatóköröket az egyéni szerepkörével:

MLflow művelet Hatókör
(V1) Kísérletek listázása, olvasása, létrehozása, frissítése vagy törlése Microsoft.MachineLearningServices/workspaces/experiments/*
(V2) Feladatok listázása, olvasása, létrehozása, frissítése vagy törlése Microsoft.MachineLearningServices/workspaces/jobs/*
Regisztrált modell lekérése név alapján, a beállításjegyzékben szereplő összes regisztrált modell listájának lekérése, regisztrált modellek keresése, a legújabb verziómodellek minden egyes kérelemszakaszhoz, a regisztrált modell verziószámának lekérése, modellverziók keresése, URI lekérése, ahol a modellverzió összetevői tárolódnak, futtatások keresése kísérletazonosítók alapján Microsoft.MachineLearningServices/workspaces/models/*/read
Új regisztrált modell létrehozása, regisztrált modell nevének/leírásának frissítése, meglévő regisztrált modell átnevezése, a modell új verziójának létrehozása, a modellverzió leírásának frissítése, a regisztrált modell áttűnése az egyik fázisra Microsoft.MachineLearningServices/workspaces/models/*/write
Regisztrált modell törlése az összes verzióval együtt, a regisztrált modell adott verzióinak törlése Microsoft.MachineLearningServices/workspaces/models/*/delete

Példa egyéni szerepkörökre

Adattudós

Lehetővé teszi az adatelemző számára, hogy minden műveletet végrehajtson egy munkaterületen , kivéve:

  • Számítás létrehozása
  • Modellek üzembe helyezése éles AKS-fürtön
  • Folyamatvégpont üzembe helyezése éles környezetben

data_scientist_custom_role.json:

{
    "Name": "Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute or deploy production endpoints.",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/*/write"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/services/aks/write",
        "Microsoft.MachineLearningServices/workspaces/services/aks/delete",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Korlátozott adatelemző

Korlátozottabb szerepkördefiníció helyettesítő karakterek nélkül az engedélyezett műveletekben. A munkaterületen belüli összes műveletet végrehajthatja a következő kivételével:

  • Számítás létrehozása
  • Modellek üzembe helyezése éles AKS-fürtön
  • Folyamatvégpont üzembe helyezése éles környezetben

data_scientist_restricted_custom_role.json :

{
    "Name": "Data Scientist Restricted Custom",
    "IsCustom": true,
    "Description": "Can run experiment but can't create or delete compute or deploy production endpoints",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/computes/start/action",
        "Microsoft.MachineLearningServices/workspaces/computes/stop/action",
        "Microsoft.MachineLearningServices/workspaces/computes/restart/action",
        "Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/write",
        "Microsoft.MachineLearningServices/workspaces/notebooks/storage/delete",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
        "Microsoft.MachineLearningServices/workspaces/pipelinedrafts/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
        "Microsoft.MachineLearningServices/workspaces/environments/write",
        "Microsoft.MachineLearningServices/workspaces/models/*/write",
        "Microsoft.MachineLearningServices/workspaces/modules/write",
        "Microsoft.MachineLearningServices/workspaces/components/*/write",
        "Microsoft.MachineLearningServices/workspaces/datasets/*/write", 
        "Microsoft.MachineLearningServices/workspaces/datasets/*/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listNodes/action",
        "Microsoft.MachineLearningServices/workspaces/environments/build/action"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/computes/write",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/delete",
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/profile/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/preview/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/profile/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/preview/read",
        "Microsoft.MachineLearningServices/workspaces/datasets/registered/schema/read",    
        "Microsoft.MachineLearningServices/workspaces/datasets/unregistered/schema/read",
        "Microsoft.MachineLearningServices/workspaces/datastores/write",
        "Microsoft.MachineLearningServices/workspaces/datastores/delete"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

MLflow-adatelemző

Lehetővé teszi egy adatelemző számára az összes MLflow Azure Machine-Tanulás támogatott művelet végrehajtását, kivéve:

  • Számítás létrehozása
  • Modellek üzembe helyezése éles AKS-fürtön
  • Folyamatvégpont üzembe helyezése éles környezetben

mlflow_data_scientist_custom_role.json:

{
    "Name": "MLFlow Data Scientist Custom",
    "IsCustom": true,
    "Description": "Can perform azureml mlflow integrated functionalities that includes mlflow tracking, projects, model registry",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/experiments/*",
        "Microsoft.MachineLearningServices/workspaces/jobs/*",
        "Microsoft.MachineLearningServices/workspaces/models/*"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/write",
        "Microsoft.MachineLearningServices/workspaces/computes/*/delete", 
        "Microsoft.Authorization/*",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/services/aks/write",
        "Microsoft.MachineLearningServices/workspaces/services/aks/delete",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

MLOps

Lehetővé teszi, hogy szerepkört rendeljen egy szolgáltatásnévhez, és ezzel automatizálja az MLOps-folyamatokat. Futtatások elküldése például egy már közzétett folyamaton:

mlops_custom_role.json:

{
    "Name": "MLOps Custom",
    "IsCustom": true,
    "Description": "Can run pipelines against a published pipeline endpoint",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/read",
        "Microsoft.MachineLearningServices/workspaces/endpoints/pipelines/read",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/read",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/read",
        "Microsoft.MachineLearningServices/workspaces/environments/read",    
        "Microsoft.MachineLearningServices/workspaces/metadata/secrets/read",
        "Microsoft.MachineLearningServices/workspaces/modules/read",
        "Microsoft.MachineLearningServices/workspaces/components/read",       
        "Microsoft.MachineLearningServices/workspaces/datasets/*/read",
        "Microsoft.MachineLearningServices/workspaces/datastores/read",
        "Microsoft.MachineLearningServices/workspaces/environments/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/read",       
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/write",
        "Microsoft.MachineLearningServices/workspaces/experiments/runs/submit/action",
        "Microsoft.MachineLearningServices/workspaces/experiments/jobs/read",       
        "Microsoft.MachineLearningServices/workspaces/experiments/jobs/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/artifacts/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/snapshots/write",
        "Microsoft.MachineLearningServices/workspaces/metadata/codes/*/write",       
        "Microsoft.MachineLearningServices/workspaces/environments/build/action",
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/computes/write",
        "Microsoft.MachineLearningServices/workspaces/write",
        "Microsoft.MachineLearningServices/workspaces/computes/delete",
        "Microsoft.MachineLearningServices/workspaces/delete",
        "Microsoft.MachineLearningServices/workspaces/computes/listKeys/action",
        "Microsoft.MachineLearningServices/workspaces/listKeys/action",
        "Microsoft.Authorization/*"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Munkaterület Rendszergazda

Lehetővé teszi az összes művelet végrehajtását a munkaterület hatókörén belül, kivéve:

  • Új munkaterület létrehozása
  • Előfizetési vagy munkaterületszintű kvóták hozzárendelése

A munkaterület rendszergazdája nem tud új szerepkört létrehozni. A meglévő beépített vagy egyéni szerepköröket csak a munkaterület hatókörén belül rendelheti hozzá:

workspace_admin_custom_role.json:

{
    "Name": "Workspace Admin Custom",
    "IsCustom": true,
    "Description": "Can perform all operations except quota management and upgrades",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/write",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.Authorization/roleAssignments/*"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/write"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Adatok címkézése

Az adatok címkézéséhez beépített szerepkör tartozik, amely csak az adatok címkézésére terjed ki. Az alábbi egyéni szerepkörök más hozzáférési szinteket biztosítanak egy adatcímkéző projekthez.

A címkézési csapat érdeklődője lehetővé teszi a címkézett adathalmaz áttekintését és elutasítását, valamint a címkézési megállapítások megtekintését. Emellett ez a szerepkör lehetővé teszi a címkéző szerepkörének ellátását is.

labeling_team_lead_custom_role.json:

{
    "Name": "Labeling Team Lead",
    "IsCustom": true,
    "Description": "Team lead for Labeling Projects",
    "Actions": [
        "Microsoft.MachineLearningServices/workspaces/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/write",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/reject/action",
        "Microsoft.MachineLearningServices/workspaces/labeling/labels/update/action",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/read",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/summary/read"
    ],
    "NotActions": [
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/write",
        "Microsoft.MachineLearningServices/workspaces/labeling/projects/delete",
        "Microsoft.MachineLearningServices/workspaces/labeling/export/action"
    ],
    "AssignableScopes": [
        "/subscriptions/<subscriptionId>"
    ]
}

Hibaelhárítás

Az Alábbiakban néhány dolgot érdemes figyelembe venni az Azure RBAC használata során:

  • Amikor létrehoz egy erőforrást az Azure-ban, például egy munkaterületet, nem közvetlenül ön az erőforrás tulajdonosa. A szerepkör az adott előfizetésben engedélyezett legmagasabb hatókörű szerepkörtől öröklődik. Például ha Ön hálózati Rendszergazda istrator, és rendelkezik a gépi Tanulás-munkaterület létrehozásához szükséges engedélyekkel, akkor a hálózati Rendszergazda istrator szerepkört kell hozzárendelnie a munkaterülethez, nem pedig a Tulajdonos szerepkörhöz.

  • Ha egy munkaterületen kvótaműveleteket szeretne végezni, előfizetési szintű engedélyre lesz szüksége. Ez azt jelenti, hogy csak akkor állítható be előfizetési vagy munkaterületi szintű kvóta a felügyelt számítási erőforrásokhoz, ha írási engedélyekkel rendelkezik az előfizetés hatókörében.

  • A stúdióban való üzembe helyezéshez az AND Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/writegombra van szükségMicrosoft.Resources/deployments/write. Az SDK/CLI-üzemelő példányokhoz szükség van Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments/write. A további engedélyekért forduljon a munkaterület/erőforráscsoport tulajdonosához.

  • Ha ugyanahhoz a Microsoft Entra-felhasználóhoz két szerepkör-hozzárendelés tartozik az Actions/NotActions ütköző szakaszaival, előfordulhat, hogy a NotActionsban felsorolt műveletek nem lépnek érvénybe, ha egy másik szerepkörben műveletekként is szerepelnek. Ha többet szeretne megtudni arról, hogy az Azure hogyan elemzi a szerepkör-hozzárendeléseket, olvassa el a Hogyan határozza meg az Azure RBAC, hogy egy felhasználó rendelkezik-e hozzáféréssel egy erőforráshoz? című szakaszt

  • Néha akár egy óráig is eltart, mire az új szerepkör-hozzárendelések hatályba lépnek a gyorsítótárazott engedélyek esetében a veremben.

Következő lépések