Tutorial: Membuat peran kustom Azure menggunakan Azure CLI

Jika peran bawaan Microsoft Azure tidak memenuhi kebutuhan spesifik organisasi, Anda dapat membuat peran kustom sendiri. Untuk tutorial ini, Anda membuat peran kustom bernama Reader Support Tickets menggunakan Azure CLI. Peran kustom memungkinkan pengguna melihat semuanya di sarana kontrol langganan dan juga membuka tiket dukungan.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Membuat peran kustom
  • Mencantumkan peran kustom
  • Perbarui peran kustom
  • Menghapus peran kustom

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan memerlukan:

Masuk ke Azure CLI

Masuk ke Azure CLI.

Membuat peran kustom

Cara termudah untuk membuat peran kustom adalah memulai dengan templat JSON, menambahkan perubahan Anda, lalu membuat peran baru.

  1. Tinjau daftar tindakan untuk penyedia sumber daya Microsoft.Support. Mengetahui tindakan yang tersedia untuk membuat izin Anda akan sangat membantu.

    Tindakan Deskripsi
    Microsoft.Support/register/action Mendaftar ke Penyedia Sumber Dukungan
    Microsoft.Support/supportTickets/read Mendapatkan detail Tiket Dukungan (termasuk status, tingkat keparahan, detail kontak, dan komunikasi) atau mendapatkan daftar Tiket Dukungan di seluruh langganan.
    Microsoft.Support/supportTickets/write Membuat atau Memperbarui Tiket Dukungan. Anda dapat membuat Tiket Dukungan untuk masalah Teknis, Tagihan, Kuota, atau Manajemen Langganan. Anda dapat memperbarui tingkat keparahan, detail kontak, dan komunikasi untuk tiket dukungan yang ada.
  2. Buat file baru bernama ReaderSupportRole.json.

  3. Buka ReaderSupportRole.json di editor dan tambahkan JSON berikut.

    Untuk informasi tentang properti yang berbeda, lihatPeran kustom Microsoft Azure.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Tambahkan tindakan berikut ke properti Actions. Tindakan ini memungkinkan pengguna melihat semua yang ada di langganan dan membuat tiket dukungan.

    "*/read",
    "Microsoft.Support/*"
    
  5. Dapatkan ID langganan Anda menggunakan perintah az account list.

    az account list --output table
    
  6. Di AssignableScopes, ganti {subscriptionId1} dengan ID langganan Anda.

    Anda harus menambahkan ID langganan secara eksplisit, jika tidak, Anda tidak akan diizinkan untuk mengimpor peran ke dalam langganan Anda.

  7. Ubah properti Name dan Description menjadi "Tiket Dukungan Pembaca" dan "Lihat semua yang ada di langganan dan juga buka tiket dukungan."

    File JSON Anda akan terlihat seperti berikut:

    {
      "Name": "Reader Support Tickets",
      "IsCustom": true,
      "Description": "View everything in the subscription and also open support tickets.",
      "Actions": [
        "*/read",
        "Microsoft.Support/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  8. Untuk membuat peran kustom baru, gunakan perintah az role definition create dan tentukan file definisi peran JSON.

    az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

    Peran kustom baru sekarang tersedia dan dapat ditetapkan ke pengguna, grup, atau perwakilan layanan seperti peran bawaan.

Mencantumkan peran kustom

  • Untuk mencantumkan semua peran kustom Anda, gunakan perintah az role definition list dengan parameter --custom-role-only.

    az role definition list --custom-role-only true
    
    [
      {
        "additionalProperties": {},
        "assignableScopes": [
          "/subscriptions/00000000-0000-0000-0000-000000000000"
        ],
        "description": "View everything in the subscription and also open support tickets.",
        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
        "name": "22222222-2222-2222-2222-222222222222",
        "permissions": [
          {
            "actions": [
              "*/read",
              "Microsoft.Support/*",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Insights/diagnosticSettings/*/read"
            ],
            "additionalProperties": {},
            "dataActions": [],
            "notActions": [],
            "notDataActions": []
          }
        ],
        "roleName": "Reader Support Tickets",
        "roleType": "CustomRole",
        "type": "Microsoft.Authorization/roleDefinitions"
      }
    ]
    

    Anda juga dapat melihat peran kustom di portal Microsoft Azure.

    screenshot of custom role imported in the Azure portal

Perbarui peran kustom

Untuk memperbarui peran kustom, perbarui file JSON, lalu perbarui peran kustom.

  1. Buka file ReaderSupportRole.json.

  2. Di Actions, tambahkan tindakan untuk membuat dan mengelola penyebaran grup sumber daya "Microsoft.Resources/deployments/*". Pastikan untuk menyertakan koma setelah tindakan sebelumnya.

    File JSON yang diperbarui akan terlihat seperti berikut:

    {
      "Name": "Reader Support Tickets",
      "IsCustom": true,
      "Description": "View everything in the subscription and also open support tickets.",
      "Actions": [
        "*/read",
        "Microsoft.Support/*",
        "Microsoft.Resources/deployments/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  3. Untuk memperbarui peran kustom, gunakan perintah az role definition update dan tentukan file JSON yang diperbarui.

    az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*",
            "Microsoft.Resources/deployments/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

Menghapus peran kustom

  • Gunakan perintah az role definition delete dan tentukan nama peran atau ID peran untuk menghapus peran kustom.

    az role definition delete --name "Reader Support Tickets"
    

Langkah berikutnya