Bagikan melalui


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

  1. Simpan file Bicep sebagai main.bicep ke penyimpanan lokal komputer Anda.

  2. Buat variabel bernama myActions dengan tindakan untuk roleDefinition.

    $myActions='["Microsoft.Resources/subscriptions/resourceGroups/read"]'
    
  3. 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.

  1. Tentukan tindakan yang diperbarui.

    $myActions='["Microsoft.Resources/resources/read","Microsoft.Resources/subscriptions/resourceGroups/read"]'
    
  2. 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"

Langkah berikutnya