Egyéni Azure-szerepkörök létrehozása vagy frissítése az Azure CLI használatával
Ha az Azure beépített szerepkörei nem felelnek meg a szervezet adott igényeinek, létrehozhat saját egyéni szerepköröket. Ez a cikk bemutatja, hogyan listázhatja, hozhat létre, frissíthet vagy törölhet egyéni szerepköröket az Azure CLI használatával.
Az egyéni szerepkörök létrehozásáról részletes oktatóanyagot a következő oktatóanyagban talál : Egyéni Azure-szerepkör létrehozása az Azure CLI használatával.
Előfeltételek
Egyéni szerepkörök létrehozásához a következőkre van szükség:
- Egyéni szerepkörök, például a Felhasználói hozzáférés Rendszergazda istrator létrehozásához szükséges engedélyek
- Azure Cloud Shell vagy Azure CLI
Egyéni szerepkörök listázása
A hozzárendeléshez elérhető egyéni szerepkörök listázásához használja az az szerepkördefiníciós listát. Az alábbi példa az aktuális előfizetés összes egyéni szerepkörét sorolja fel.
az role definition list --custom-role-only true --output json --query '[].{roleName:roleName, roleType:roleType}'
[
{
"roleName": "My Management Contributor",
"type": "CustomRole"
},
{
"roleName": "My Service Reader Role",
"type": "CustomRole"
},
{
"roleName": "Virtual Machine Operator",
"type": "CustomRole"
}
]
Egyéni szerepkördefiníció listázása
Egyéni szerepkördefiníciók listázásához használja az az szerepkördefiníciós listát. Ez a parancs ugyanaz a parancs, amelyet egy beépített szerepkörhöz használna.
az role definition list --name {roleName}
Az alábbi példa a Virtuálisgép-kezelő szerepkördefinícióját sorolja fel:
az role definition list --name "Virtual Machine Operator"
[
{
"assignableScopes": [
"/subscriptions/{subscriptionId}"
],
"description": "Can monitor and restart virtual machines.",
"id": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"permissions": [
{
"actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Virtual Machine Operator",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
Az alábbi példa csak a Virtuálisgép-kezelő szerepkör műveleteit sorolja fel:
az role definition list --name "Virtual Machine Operator" --output json --query '[].permissions[0].actions'
[
[
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
]
]
Create a custom role
Egyéni szerepkör létrehozásához használja az az role definition create parancsot. A szerepkördefiníció lehet JSON-leírás vagy egy JSON-leírást tartalmazó fájl elérési útja.
az role definition create --role-definition {roleDefinition}
Az alábbi példa létrehoz egy virtuálisgép-kezelő nevű egyéni szerepkört. Ez az egyéni szerepkör hozzáférést rendel a Microsoft.Compute, a Microsoft.Storage és a Microsoft.Network erőforrás-szolgáltatók összes olvasási műveletéhez, és hozzáférést rendel hozzá a virtuális gépek indításához, újraindításához és monitorozásához. Ez az egyéni szerepkör két előfizetésben használható. Ez a példa egy JSON-fájlt használ bemenetként.
vmoperator.json
{
"Name": "Virtual Machine Operator",
"IsCustom": true,
"Description": "Can monitor and restart virtual machines.",
"Actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Support/*"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}"
]
}
az role definition create --role-definition ~/roles/vmoperator.json
Egyéni szerepkörök frissítése
Egyéni szerepkör frissítéséhez először az az role definition list használatával kérje le a szerepkördefiníciót. Másodszor végezze el a kívánt módosításokat a szerepkör-definíción. Végül az az role definition update használatával mentse a frissített szerepkördefiníciót.
az role definition update --role-definition {roleDefinition}
Az alábbi példa hozzáadja a Microsoft.Elemzések/diagnostic Gépház/action to and Actions
add a management group to AssignableScopes
the Virtual Machine Operator custom role.
vmoperator.json
{
"Name": "Virtual Machine Operator",
"IsCustom": true,
"Description": "Can monitor and restart virtual machines.",
"Actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"NotActions": [
],
"AssignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/marketing-group"
]
}
az role definition update --role-definition ~/roles/vmoperator.json
Egyéni szerepkörök törlése
Távolítsa el az egyéni szerepkört használó szerepkör-hozzárendeléseket. További információ: Szerepkör-hozzárendelések keresése egyéni szerepkör törléséhez.
Az egyéni szerepkör törléséhez használja az az szerepkördefiníció törlését . A törölni kívánt szerepkör megadásához használja a szerepkör nevét vagy a szerepkör azonosítóját. A szerepkör-azonosító meghatározásához használja az az szerepkördefiníciós listát.
az role definition delete --name {roleNameOrId}
Az alábbi példa törli a Virtuálisgép-kezelő egyéni szerepkörét.
az role definition delete --name "Virtual Machine Operator"