Peran kustom Azure
Penting
Menambahkan grup manajemen ke AssignableScopes saat ini dalam pratinjau.
Versi pratinjau ini diberikan tanpa perjanjian tingkat layanan dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.
Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Jika peran bawaan Microsoft Azure tidak memenuhi kebutuhan spesifik organisasi, Anda dapat membuat peran kustom sendiri. Sama seperti peran bawaan, Anda dapat menetapkan peran kustom untuk pengguna, grup, dan perwakilan layanan di grup manajemen (hanya dalam pratinjau), langganan, dan lingkup grup sumber daya.
Peran kustom dapat dibagikan antara langganan yang memercayai Azure Active Directory yang sama. Ada batasan 5.000 peran kustom per direktori. (Untuk Azure Jerman dan Azure Tiongkok 21Vianet, batasnya adalah 2.000 peran kustom.) Peran kustom dapat dibuat menggunakan portal Azure, Azure PowerShell, Azure CLI, atau REST API.
Langkah-langkah untuk membuat peran kustom
Berikut langkah-langkah dasar untuk membuat peran kustom.
Tentukan izin yang Anda butuhkan.
Saat membuat peran kustom, Anda perlu mengetahui tindakan yang tersedia untuk menentukan izin Anda. Biasanya, Anda mulai dengan peran bawaan yang ada lalu memodifikasinya sesuai kebutuhan Anda. Anda akan menambahkan tindakan ke properti
ActionsatauNotActionsdari definisi peran. Jika Anda memiliki tindakan data, Anda akan menambahkannya ke propertiDataActionsatauNotDataActions.Untuk informasi selengkapnya, lihat bagian berikutnya Cara menentukan izin yang Anda butuhkan.
Tentukan bagaimana Anda ingin membuat peran kustom.
Anda dapat membuat peran kustom menggunakan portal Azure, Azure PowerShell, Azure CLI, atau REST API.
Buat peran kustom.
Cara termudah adalah menggunakan portal Azure. Untuk mempelajari langkah-langkah membuat peran kustom menggunakan portal Azure, lihat Membuat atau memperbarui peran kustom Azure menggunakan portal Azure.
Uji peran kustom.
Setelah Anda memiliki peran kustom, Anda harus mengujinya untuk memverifikasi bahwa peran kustom berfungsi seperti yang Anda harapkan. Jika nanti Anda perlu melakukan penyesuaian, Anda dapat memperbarui peran kustom.
Cara menentukan izin yang Anda butuhkan
Azure memiliki ribuan izin untuk disertakan dalam peran kustom Anda. Berikut beberapa metode yang dapat Anda gunakan untuk menentukan izin yang ingin ditambahkan ke peran kustom Anda:
Lihatlah peran bawaan yang ada.
Anda mungkin ingin mengubah peran yang sudah ada atau menggabungkan izin yang digunakan dalam beberapa peran.
Cantumkan layanan Azure yang ingin Anda beri akses.
Tentukan penyedia sumber daya yang memetakan ke layanan Azure.
Layanan Azure mengekspos fungsionalitas dan izin mereka melalui penyedia sumber daya. Misalnya, penyedia sumber daya Microsoft.Compute menyediakan sumber daya mesin virtual dan penyedia sumber daya Microsoft.Billing menyediakan sumber daya langganan dan tagihan. Penyedia sumber daya dapat membantu Anda mempersempit dan menentukan izin yang Anda butuhkan untuk peran kustom Anda.
Saat Anda membuat peran kustom menggunakan portal Azure, Anda juga dapat menentukan penyedia sumber daya dengan mencari kata kunci. Fungsionalitas pencarian ini dijelaskan dalam Membuat atau memperbarui peran kustom Azure menggunakan portal Azure.

Cari izin yang tersedia untuk menemukan izin yang ingin Anda sertakan.
Saat Anda membuat peran kustom menggunakan portal Azure, Anda bisa mencari izin berdasarkan kata kunci. Misalnya, Anda dapat mencari izin mesin virtual atau penagihan. Anda juga dapat mengunduh semua izin sebagai file CSV lalu mencari file ini. Fungsionalitas pencarian ini dijelaskan dalam Membuat atau memperbarui peran kustom Azure menggunakan portal Azure.

Contoh peran kustom
Berikut gambaran peran kustom yang ditampilkan menggunakan Azure PowerShell dalam format JSON. Peran kustom ini dapat digunakan untuk memantau dan memulai ulang mesin virtual.
{
"Name": "Virtual Machine Operator",
"Id": "88888888-8888-8888-8888-888888888888",
"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": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/{groupId1}"
]
}
Berikut gambaran peran kustom yang sama seperti yang ditampilkan menggunakan Azure CLI.
[
{
"assignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/{groupId1}"
],
"description": "Can monitor and restart virtual machines.",
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/88888888-8888-8888-8888-888888888888",
"name": "88888888-8888-8888-8888-888888888888",
"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"
}
]
Properti peran kustom
Tabel berikut ini menjelaskan arti properti peran kustom.
| Properti | Diperlukan | Jenis | Deskripsi |
|---|---|---|---|
NameroleName |
Ya | Untai (karakter) | Nama tampilan peran kustom. Meskipun definisi peran adalah grup manajemen atau sumber daya tingkat langganan, definisi peran dapat digunakan dalam beberapa langganan yang memiliki direktori Microsoft Azure Active Directory yang sama. Nama tampilan ini harus unik di lingkup direktori Microsoft Azure Active Directory. Dapat mencakup huruf, angka, spasi, dan karakter khusus. Jumlah karakter maksimum adalah 512. |
Idname |
Ya | Untai (karakter) | ID unik dari peran kustom. Untuk Azure PowerShell dan Azure CLI, ID ini secara otomatis dihasilkan saat Anda membuat peran baru. |
IsCustomroleType |
Ya | Untai (karakter) | Menunjukkan apakah ini adalah peran kustom. Atur ke true atau CustomRole untuk peran kustom. Atur ke false atau BuiltInRole untuk peran bawaan. |
Descriptiondescription |
Ya | Untai (karakter) | Deskripsi peran kustom. Dapat mencakup huruf, angka, spasi, dan karakter khusus. Jumlah karakter maksimum adalah 2048. |
Actionsactions |
Ya | Untai[] | Array untai (karakter) yang menentukan tindakan sarana kontrol yang perannya mengizinkan untuk dilakukan. Untuk informasi selengkapnya, lihat Actions. |
NotActionsnotActions |
Tidak | Untai[] | Array untai (karakter) yang menentukan tindakan sarana kontrol yang dikecualikan dari Actions yang diizinkan. Untuk informasi selengkapnya, lihat NotActions. |
DataActionsdataActions |
Tidak | Untai[] | Array untai (karakter) yang menentukan tindakan data plane yang diizinkan peran untuk dilakukan pada data Anda di dalam objek itu. Jika Anda membuat peran kustom dengan DataActions, peran itu tidak dapat ditetapkan di lingkup grup manajemen. Untuk informasi selengkapnya, lihat DataActions. |
NotDataActionsnotDataActions |
Tidak | Untai[] | Array untai (karakter) yang menentukan tindakan data plane yang dikecualikan dari DataActions yang diizinkan. Untuk informasi selengkapnya, lihat NotDataActions. |
AssignableScopesassignableScopes |
Ya | Untai[] | Array untai (karakter) yang menentukan cakupan bahwa peran kustom dapat ditetapkan. Jumlah AssignableScopes maksimum adalah 2.000. Anda hanya dapat menentukan satu kelompok pengelolaan dalam AssignableScopes peran kustom. Menambahkan grup manajemen ke AssignableScopes saat ini dalam pratinjau. Untuk informasi selengkapnya, lihat AssignableScopes. |
String izin tidak peka huruf besar-kecil. Saat Anda membuat peran kustom, konvensinya adalah mencocokkan kasus yang Anda lihat untuk izin di operasi penyedia sumber Azure.
Izin wildcard
Actions, NotActions, DataActions, dan NotDataActions mendukung wildcard (*) untuk menentukan izin. Wildcard ( * ) memperluas izin untuk semua yang cocok dengan untai (karakter) tindakan yang Anda berikan. Misalnya, Anda ingin menambahkan semua izin yang terkait dengan Azure Cost Management dan ekspor. Anda bisa menambahkan semua untai (karakter) tindakan ini:
Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action
Alih-alih menambahkan semua untai (karakter) ini, Anda bisa menambahkan untai (karakter) wildcard. Misalnya, untai (karakter) wildcard berikut setara dengan lima untai (karakter) sebelumnya. Untai (karakter) wildcard ini juga akan mencakup izin ekspor di masa mendatang yang mungkin ditambahkan.
Microsoft.CostManagement/exports/*
Disarankan agar Anda menentukan Actions dan DataActions secara eksplisit alih-alih menggunakan karakter kartubebas (*). Akses dan izin tambahan yang diberikan melalui masa mendatang Actions atau DataActions mungkin perilaku yang tidak diinginkan menggunakan kartubebas.
Siapa saja yang bisa membuat, menghapus, memperbarui, atau menampilkan peran kustom
Sama seperti peran bawaan, properti AssignableScopes menentukan cakupan yang perannya tersedia untuk penugasan. Properti AssignableScopes untuk peran kustom juga mengontrol siapa saja yang bisa membuat, menghapus, memperbarui, atau melihat peran kustom.
| Tugas | Tindakan | Deskripsi |
|---|---|---|
| Buat/hapus peran kustom | Microsoft.Authorization/ roleDefinitions/write |
Pengguna yang diberikan tindakan ini pada semua AssignableScopes peran kustom dapat membuat (atau menghapus) peran kustom untuk digunakan dalam lingkup tersebut. Misalnya, Pemilik dan Administrator Akses Pengguna grup manajemen, langganan, dan grup sumber daya. |
| Perbarui peran kustom | Microsoft.Authorization/ roleDefinitions/write |
Pengguna yang diberikan tindakan ini pada semua AssignableScopes peran kustom dapat memperbarui peran kustom dalam lingkup tersebut. Misalnya, Pemilik dan Administrator Akses Pengguna grup manajemen, langganan, dan grup sumber daya. |
| Tampilkan peran kustom | Microsoft.Authorization/ roleDefinitions/read |
Pengguna yang diberikan tindakan ini pada lingkup dapat melihat peran kustom yang tersedia untuk penugasan pada lingkup tersebut. Semua peran bawaan memungkinkan peran kustom tersedia untuk penugasan. |
Batasan peran kustom
Daftar berikut menjelaskan batasan untuk peran kustom.
- Setiap direktori dapat memiliki hingga 5000 peran kustom.
- Azure Jerman dan Azure Tiongkok 21Vianet dapat memiliki hingga 2000 peran kustom untuk setiap direktori.
- Anda tidak dapat mengatur
AssignableScopeske lingkup root ("/"). - Anda tidak dapat menggunakan wildcard (
*) diAssignableScopes. Pembatasan wildcard ini membantu memastikan pengguna tidak dapat berpotensi mendapatkan akses ke lingkup dengan memperbarui definisi peran. - Anda hanya dapat menentukan satu grup manajemen di
AssignableScopesdalam peran kustom. Menambahkan grup manajemen keAssignableScopessaat ini dalam pratinjau. - Anda hanya dapat memiliki satu wildcard dalam untai (karakter) tindakan.
- Peran kustom dengan
DataActionstidak dapat ditetapkan di lingkup grup manajemen. - Azure Resource Manager tidak memvalidasi keberadaan grup manajemen dalam cakupan yang dapat ditetapkan definisi peran.
Untuk informasi selengkapnya tentang grup manajemen, lihat Apa itu grup manajemen Azure?.
Format input dan output
Untuk membuat peran kustom menggunakan baris perintah, biasanya Anda menggunakan JSON untuk menentukan properti yang Anda inginkan pada peran kustom. Tergantung pada alat yang Anda gunakan, format input dan output akan terlihat sedikit berbeda. Bagian ini mencantumkan format input dan output tergantung pada alatnya.
Azure PowerShell
Untuk membuat peran kustom menggunakan Azure PowerShell, Anda harus menyediakan input berikut.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Untuk membuat peran kustom menggunakan Azure PowerShell, Anda harus menyediakan input berikut. Perhatikan bahwa properti Id telah ditambahkan.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Contoh berikut memperlihatkan output saat Anda mencantumkan peran kustom menggunakan Azure PowerShell dan perintah ConvertTo-Json.
{
"Name": "",
"Id": "",
"IsCustom": true,
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Azure CLI
Untuk membuat atau memperbarui peran kustom menggunakan Azure CLI, Anda harus menyediakan input berikut. Format ini sama dengan format saat Anda membuat peran kustom menggunakan Azure PowerShell.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Contoh berikut memperlihatkan output saat Anda mencantumkan peran kustom menggunakan Azure CLI.
[
{
"assignableScopes": [],
"description": "",
"id": "",
"name": "",
"permissions": [
{
"actions": [],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
REST API
Untuk membuat atau memperbarui peran kustom menggunakan REST API, Anda harus menyediakan input berikut. Format ini sama dengan format yang dihasilkan saat Anda membuat peran kustom menggunakan portal Azure.
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Contoh berikut memperlihatkan output saat Anda mencantumkan peran kustom menggunakan REST API.
{
"properties": {
"roleName": "",
"type": "CustomRole",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
"createdOn": "",
"updatedOn": "",
"createdBy": "",
"updatedBy": ""
},
"id": "",
"type": "Microsoft.Authorization/roleDefinitions",
"name": ""
}