Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud integrované role Azure nesplňují konkrétní požadavky vaší organizace, můžete si vytvořit vlastní role. Tento článek popisuje, jak vypsat, vytvořit, aktualizovat nebo odstranit vlastní role pomocí Azure CLI.
Podrobný kurz vytvoření vlastní role najdete v tématu Kurz: Vytvoření vlastní role Azure pomocí Azure CLI.
Požadavky
K vytváření vlastních rolí potřebujete:
- Oprávnění k vytváření vlastních rolí, jako je Správce přístupu uživatelů
- Azure Cloud Shell nebo Azure CLI
Výpis vlastních rolí
Pokud chcete zobrazit seznam vlastních rolí dostupných pro přiřazení, použijte az role definition list. Následující příklad uvádí všechny vlastní role v aktuálním předplatném.
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"
}
]
Výpis definice vlastní role
Chcete-li vypsat vlastní definici role, použijte az role definition list. Tento příkaz je stejný příkaz, který byste použili pro předdefinované role.
az role definition list --name {roleName}
Následující příklad uvádí definici role operátor virtuálního počítače:
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"
}
]
Následující příklad uvádí pouze akce operátora virtuálního počítače roli:
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/*"
]
]
Vytvoření vlastní role
Pokud chcete vytvořit vlastní roli, použijte az role definition create. Definice role může být popis JSON nebo cesta k souboru obsahujícímu popis JSON.
az role definition create --role-definition {roleDefinition}
Následující příklad vytvoří vlastní roli s názvem Operátor virtuálního počítače. Tato vlastní role přiřadí přístup ke všem akcím čtení u poskytovatelů prostředků Microsoft.Compute, Microsoft.Storagea Microsoft.Network a také přiřadí přístup ke spuštění, restartování a monitorování virtuálních počítačů. Tuto vlastní roli je možné použít ve dvou předplatných. V tomto příkladu se jako vstup používá soubor JSON.
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
Aktualizace vlastní role
Abyste mohli aktualizovat vlastní roli, nejprve použijte az role definition list k načtení definice role. Za druhé proveďte požadované změny definice role. Nakonec pomocí příkazu az role definition update uložte aktualizovanou definici role.
az role definition update --role-definition {roleDefinition}
Následující příklad přidá akci Microsoft.Insights/diagnosticSettings/ k Actions
a přidá skupinu pro správu do AssignableScopes
pro vlastní roli operátora virtuálního počítače .
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
Odstraňte vlastní roli
Odeberte všechna přiřazení rolí, která používají vlastní definovanou roli. Další informace naleznete v části Vyhledání přiřazení rolí pro odstranění vlastní role.
K odstranění vlastní role použijte az role definition delete. Pokud chcete určit roli, která se má odstranit, použijte název role nebo ID role. K určení ID role použijte az role definition list.
az role definition delete --name {roleNameOrId}
Následující příklad odstraní vlastní roli Operátor virtuálního počítače .
az role definition delete --name "Virtual Machine Operator"