Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 kepada pengguna, grup, dan perwakilan layanan pada cakupan grup manajemen, langganan, dan grup sumber daya.
Peran kustom dapat dibagikan antara langganan yang mempercayai penyewa Microsoft Entra yang sama. Ada batas 5.000 peran kustom per penyewa. (Untuk Microsoft Azure yang dioperasikan oleh 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.
Menguji 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 menyediakan ribuan izin yang dapat Anda sertakan 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 terkait dengan 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. Mengetahui penyedia sumber daya dapat membantu Anda mempersempit dan menentukan izin yang Anda butuhkan untuk peran khusus 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 khusus peran
Tabel berikut ini menjelaskan arti properti peran kustom.
| Properti | Wajib | Tipe | Deskripsi |
|---|---|---|---|
NameroleName |
Ya | String | Nama tampilan peran kustom. Meskipun definisi peran adalah sumber daya di tingkat grup manajemen atau langganan, definisi peran dapat digunakan dalam beberapa langganan yang berbagi penyewa Microsoft Entra yang sama. Nama tampilan ini harus unik dalam lingkup penyewa Microsoft Entra. Dapat mencakup huruf, angka, spasi, dan karakter khusus. Maksimum yang disarankan: 256 karakter. |
Idname |
Ya | String | ID unik dari peran kustom. Untuk Azure PowerShell dan Azure CLI, ID ini secara otomatis dihasilkan saat Anda membuat peran baru. |
IsCustomroleType |
Ya | String | Menunjukkan apakah ini adalah peran kustom. Atur ke true atau CustomRole untuk peran kustom. Atur ke false atau BuiltInRole untuk peran bawaan. |
Descriptiondescription |
Ya | String | Deskripsi peran kustom. Dapat mencakup huruf, angka, spasi, dan karakter khusus. Maksimum yang disarankan: 512 karakter. |
Actionsactions |
Ya | String[] | Array string yang menentukan tindakan control plane yang diizinkan oleh peran untuk dilakukan. Untuk informasi selengkapnya, lihat Actions. |
NotActionsnotActions |
Tidak | String[] | Array string yang menentukan aksi control plane yang dikecualikan dari Actions yang diizinkan. Untuk informasi selengkapnya, lihat NotActions. |
DataActionsdataActions |
Tidak | String[] | Array string yang menentukan aksi-aksi data plane yang diizinkan oleh peran untuk dilakukan pada data Anda di dalam objek tersebut. Jika Anda membuat peran kustom dengan DataActions, peran tersebut tidak dapat ditetapkan di cakupan grup manajemen. Untuk informasi selengkapnya, lihat DataActions. |
NotDataActionsnotDataActions |
Tidak | String[] | Array string yang menentukan aksi pada data plane yang dikecualikan dari DataActions yang diizinkan. Untuk informasi selengkapnya, lihat NotDataActions. |
AssignableScopesassignableScopes |
Ya | String[] | Larik string yang menentukan ruang lingkup di mana peran kustom tersedia untuk penugasan. Jumlah AssignableScopes maksimum adalah 2.000. Untuk informasi selengkapnya, lihat AssignableScopes. |
String izin tidak sensitif terhadap 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 tindakan yang Anda berikan. Misalnya, Anda ingin menambahkan semua izin yang terkait dengan Microsoft Cost Management dan ekspor. Anda bisa menambahkan semua string 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 string ini, Anda bisa menambahkan string wildcard. Misalnya, string wildcard berikut setara dengan lima string sebelumnya. Ini juga akan mencakup izin ekspor di masa mendatang yang mungkin ditambahkan.
Microsoft.CostManagement/exports/*
Catatan
Disarankan agar Anda menentukan Actions dan DataActions secara eksplisit alih-alih menggunakan karakter kartu bebas (*). Akses dan izin tambahan yang diberikan di masa depan Actions atau DataActions berpotensi menjadi perilaku yang tidak diinginkan dengan menggunakan wildcard.
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 dari 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 peran kustom AssignableScopes dapat memperbarui peran kustom tersebut dalam lingkup yang sesuai. 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. |
Catatan
Meskipun peran diganti namanya, ID peran tidak berubah. Jika Anda menggunakan skrip atau otomasi untuk membuat tugas peran, ini adalah praktik terbaik untuk menggunakan ID peran unik, alih-alih nama peran. Oleh karena itu, jika peran diubah namanya, skrip Anda lebih mungkin berfungsi.
Menemukan penetapan peran untuk menghapus peran kustom
Sebelum dapat menghapus peran kustom, Anda harus menghapus penetapan peran apa pun yang menggunakan peran kustom. Jika Anda mencoba menghapus peran kustom dengan penetapan peran, Anda mendapatkan pesan: There are existing role assignments referencing role (code: RoleDefinitionHasAssignments).
Berikut adalah langkah-langkah untuk membantu menemukan penetapan peran sebelum menghapus peran kustom:
- Mencantumkan definisi peran kustom.
- Di bagian AssignableScopes , dapatkan grup manajemen, langganan, dan grup sumber daya.
- Ulangi
AssignableScopesdan cantumkan penetapan peran. - Hapus tugas peran yang menggunakan peran kustom.
- Jika Anda menggunakan Microsoft Entra Privileged Identity Management, hapus penetapan peran kustom yang memenuhi syarat.
- Hapus peran kustom.
Untuk informasi tentang cara menemukan peran kustom yang tidak digunakan, lihat Gejala - Tidak ada lagi definisi peran yang dapat dibuat.
Batasan peran kustom
Daftar berikut menjelaskan batasan untuk peran kustom.
- Setiap penyewa dapat memiliki hingga 5000 peran kustom.
- Microsoft Azure yang dioperasikan oleh 21Vianet dapat memiliki hingga 2000 peran kustom untuk setiap penyewa.
- 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 memiliki satu wildcard dalam string tindakan.
- Anda hanya dapat menentukan satu grup manajemen dalam
AssignableScopesperan kustom. - Azure Resource Manager tidak memvalidasi keberadaan grup manajemen dalam definisi
AssignableScopesperan . - Peran kustom dengan
DataActionstidak dapat ditetapkan di cakupan grup manajemen. - Anda dapat membuat peran kustom dengan
DataActionsdan satu grup manajemen diAssignableScopes. Anda tidak dapat menetapkan peran kustom di cakupan grup manajemen itu sendiri; namun, Anda dapat menetapkan peran kustom pada cakupan langganan dalam grup manajemen. Ini dapat membantu jika Anda perlu membuat satu peran kustom denganDataActionsyang perlu ditetapkan dalam beberapa langganan, alih-alih membuat peran kustom terpisah untuk setiap langganan.
Untuk informasi selengkapnya tentang peran kustom dan 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": ""
}