Membuat atau memperbarui peran kustom Azure menggunakan Azure CLI
Jika peran bawaan Microsoft Azure tidak memenuhi kebutuhan spesifik organisasi, Anda dapat membuat peran kustom sendiri. Artikel ini menjelaskan cara mencantumkan, membuat, memperbarui, atau menghapus peran kustom menggunakan Azure CLI.
Untuk tutorial langkah demi langkah tentang cara membuat peran kustom, lihat Tutorial: Membuat peran kustom Azure menggunakan Azure CLI.
Prasyarat
Untuk membuat peran kustom, Anda perlu:
- Izin untuk membuat peran kustom, seperti Administrator Akses Pengguna
- Azure Cloud Shell atau Azure CLI
Mencantumkan peran kustom
Untuk mencantumkan peran kustom yang tersedia untuk penetapan, gunakan az role definition list. Contoh berikut mencantumkan semua peran kustom dalam langganan saat ini.
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"
}
]
Mencantumkan definisi peran kustom
Untuk mencantumkan definisi peran kustom, gunakan az role definition list. Perintah ini adalah perintah yang sama dengan yang akan Anda gunakan untuk peran bawaan.
az role definition list --name {roleName}
Contoh berikut mencantumkan definisi peran Operator Komputer Virtual:
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"
}
]
Contoh berikut hanya mencantumkan tindakan dari peran Operator Komputer Virtual:
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/*"
]
]
Membuat peran kustom
Untuk membuat peran kustom, gunakan az role definition create. Definisi peran dapat berupa deskripsi JSON atau jalur ke file yang berisi deskripsi JSON.
az role definition create --role-definition {roleDefinition}
Contoh berikut membuat peran kustom bernama Operator Komputer Virtual. Peran khusus ini memberikan akses ke semua tindakan baca dari penyedia sumber daya Microsoft.Compute, Microsoft.Storage, dan Microsoft.Network dan memberikan akses untuk memulai, memulai ulang, dan memantau mesin virtual. Peran kustom dapat digunakan dalam dua langganan. Contoh ini menggunakan file JSON sebagai input.
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
Perbarui peran kustom
Untuk memperbarui peran kustom, pertama gunakan az role definition list untuk mengambil definisi peran. Kedua, buat perubahan yang diinginkan pada definisi peran. Terakhir, gunakan az role definition update untuk menyimpan definisi peran yang telah diperbarui.
az role definition update --role-definition {roleDefinition}
Contoh berikut menambahkan operasi Microsoft.Insights/diagnosticSettings/ ke Actions
dan menambahkan grup manajemen ke AssignableScopes
untuk peran kustom Operator Mesin Virtual.
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
Menghapus peran kustom
Hapus penetapan peran apa pun yang menggunakan peran kustom. Untuk informasi selengkapnya, lihat Menemukan penetapan peran untuk menghapus peran kustom.
Gunakan az role definition delete untuk menghapus peran kustom. Untuk menentukan peran yang akan dihapus, gunakan nama peran atau ID peran. Untuk menentukan ID peran, gunakan az role definition list.
az role definition delete --name {roleNameOrId}
Contoh berikut menghapus peran kustom Operator Komputer Virtual.
az role definition delete --name "Virtual Machine Operator"