Membuat atau memperbarui peran kustom Azure menggunakan Bicep
Jika Azure built-in roles tidak memenuhi kebutuhan spesifik organisasi, Anda dapat membuat peran kustom sendiri. Artikel ini menjelaskan cara membuat atau memperbarui peran kustom menggunakan Bicep.
Bicep adalah bahasa pemrogram khusus domain (DSL) yang menggunakan sintaks deklaratif untuk menyebarkan sumber daya Azure. Bicep menyediakan sintaks ringkas, keamanan jenis yang andal, dan dukungan untuk penggunaan kembali kode. Bicep menawarkan pengalaman penulisan terbaik untuk solusi infrastructure-as-code di Azure.
Untuk membuat peran kustom, Anda menentukan nama peran, izin peran, dan tempat peran dapat digunakan. Dalam artikel ini, Anda membuat peran bernama Custom Role - RG Reader dengan izin sumber daya yang dapat ditetapkan pada lingkup langganan atau yang lebih rendah.
Prasyarat
Untuk membuat peran kustom, Anda harus memiliki izin untuk membuat peran kustom, seperti Administrator Akses Pengguna.
Anda juga harus memiliki langganan Azure aktif. Jika Anda tidak memilikinya, Anda dapat membuat akun gratis sebelum memulai.
Tinjau file Bicep
File Bicep yang digunakan dalam artikel ini berasal dari Templat Mulai Cepat Azure. File Bicep memiliki empat parameter dan bagian sumber daya. Empat parameter tersebut adalah:
- Array dari tindakan dengan nilai default
["Microsoft.Resources/subscriptions/resourceGroups/read"]
. - Array dari
notActions
dengan nilai default kosong. - Nama peran dengan nilai default
Custom Role - RG Reader
. - Deskripsi peran dengan nilai default dari
Subscription Level Deployment of a Role Definition
.
Lingkup di mana peran kustom ini dapat ditetapkan diatur ke langganan saat ini.
Peran kustom memerlukan ID unik. ID dapat dihasilkan dengan fungsi guid(). Karena peran kustom juga memerlukan nama tampilan unik untuk penyewa, Anda dapat menggunakan nama peran sebagai parameter untuk guid()
fungsi untuk membuat GUID deterministik. GUID deterministik berguna jika Anda nantinya perlu memperbarui peran kustom menggunakan file Bicep yang sama.
targetScope = 'subscription'
@description('Array of actions for the roleDefinition')
param actions array = [
'Microsoft.Resources/subscriptions/resourceGroups/read'
]
@description('Array of notActions for the roleDefinition')
param notActions array = []
@description('Friendly name of the role definition')
param roleName string = 'Custom Role - RG Reader'
@description('Detailed description of the role definition')
param roleDescription string = 'Subscription Level Deployment of a Role Definition'
var roleDefName = guid(roleName)
resource roleDef 'Microsoft.Authorization/roleDefinitions@2022-04-01' = {
name: roleDefName
properties: {
roleName: roleName
description: roleDescription
type: 'customRole'
permissions: [
{
actions: actions
notActions: notActions
}
]
assignableScopes: [
subscription().id
]
}
}
Sumber daya yang ditentukan dalam file Bicep adalah:
Menerapkan file Bicep
Simpan file Bicep sebagai main.bicep ke penyimpanan lokal komputer Anda.
Buat variabel bernama myActions dengan tindakan untuk roleDefinition.
$myActions='["Microsoft.Resources/subscriptions/resourceGroups/read"]'
Sebarkan file Bicep menggunakan Azure CLI atau Azure PowerShell.
az deployment sub create --location eastus --name customRole --template-file ./main.bicep --parameters actions=$myActions
Setelah penyebaran selesai, Anda akan melihat pesan yang menunjukkan penyebaran berhasil.
Meninjau sumber daya yang disebarkan
Gunakan portal Azure, Azure CLI, atau Azure PowerShell untuk memverifikasi bahwa peran kustom telah dibuat.
az role definition list --name "Custom Role - RG Reader"
Perbarui peran kustom
Mirip dengan membuat peran kustom, Anda dapat memperbarui peran kustom yang ada menggunakan Bicep. Untuk memperbarui peran kustom, Anda perlu menentukan peran yang ingin Anda perbarui. Jika sebelumnya Anda membuat peran kustom di Bicep dengan ID peran unik yang deterministik, Anda dapat menggunakan file Bicep yang sama dan menentukan peran kustom hanya dengan menggunakan nama tampilan.
Tentukan tindakan yang diperbarui.
$myActions='["Microsoft.Resources/resources/read","Microsoft.Resources/subscriptions/resourceGroups/read"]'
Gunakan Azure CLI atau Azure PowerShell untuk memperbarui peran kustom.
az deployment sub create --location eastus --name customrole --template-file ./main.bicep --parameters actions=$myActions roleName="Custom Role - RG Reader"
Catatan
Mungkin perlu waktu beberapa menit agar peran kustom yang diperbarui disebarluaskan.
Membersihkan sumber daya
Saat tidak lagi diperlukan, gunakan portal Azure, Azure CLI, atau Azure PowerShell untuk menghapus peran kustom.
az role definition delete --name "Custom Role - RG Reader"