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.

  1. 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 Actions atau NotActions dari definisi peran. Jika Anda memiliki tindakan data, Anda akan menambahkannya ke properti DataActions atau NotDataActions.

    Untuk informasi selengkapnya, lihat bagian berikutnya Cara menentukan izin yang Anda butuhkan.

  2. Tentukan bagaimana Anda ingin membuat peran kustom.

    Anda dapat membuat peran kustom menggunakan portal Azure, Azure PowerShell, Azure CLI, atau REST API.

  3. 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.

  4. 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.

    Add permissions pane with resource provider

  • 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.

    Add permissions list

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
Name
roleName
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.
Id
name
Ya Untai (karakter) ID unik dari peran kustom. Untuk Azure PowerShell dan Azure CLI, ID ini secara otomatis dihasilkan saat Anda membuat peran baru.
IsCustom
roleType
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.
Description
description
Ya Untai (karakter) Deskripsi peran kustom. Dapat mencakup huruf, angka, spasi, dan karakter khusus. Jumlah karakter maksimum adalah 2048.
Actions
actions
Ya Untai[] Array untai (karakter) yang menentukan tindakan sarana kontrol yang perannya mengizinkan untuk dilakukan. Untuk informasi selengkapnya, lihat Actions.
NotActions
notActions
Tidak Untai[] Array untai (karakter) yang menentukan tindakan sarana kontrol yang dikecualikan dari Actions yang diizinkan. Untuk informasi selengkapnya, lihat NotActions.
DataActions
dataActions
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.
NotDataActions
notDataActions
Tidak Untai[] Array untai (karakter) yang menentukan tindakan data plane yang dikecualikan dari DataActions yang diizinkan. Untuk informasi selengkapnya, lihat NotDataActions.
AssignableScopes
assignableScopes
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 AssignableScopes ke lingkup root ("/").
  • Anda tidak dapat menggunakan wildcard (*) di AssignableScopes. 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 AssignableScopes dalam peran kustom. Menambahkan grup manajemen ke AssignableScopes saat ini dalam pratinjau.
  • Anda hanya dapat memiliki satu wildcard dalam untai (karakter) tindakan.
  • Peran kustom dengan DataActions tidak 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": ""
}

Langkah berikutnya