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 Tiket Dukungan Pembaca menggunakan Azure CLI. Peran kustom memungkinkan pengguna untuk melihat semua elemen di lapisan kontrol dari sebuah langganan serta membuka tiket dukungan.

Dalam tutorial ini, Anda akan belajar cara:

  • Membuat peran kustom
  • Mencantumkan peran kustom
  • Memperbarui peran kustom
  • Menghapus peran kustom

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

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan:

Masuk ke Azure CLI

Masuk ke Azure CLI.

Membuat peran kustom

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

  1. Tinjau daftar tindakan untuk penyedia sumber daya Microsoft.Support. Sangat membantu untuk mengetahui tindakan yang tersedia untuk membuat izin Anda.

    Tindakan Description
    Microsoft.Support/register/action Mendaftar ke Penyedia Sumber Daya 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 terkait Teknis, Penagihan, 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 berbagai properti, lihat Peran kustom Azure.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Tambahkan tindakan berikut ke Actions properti . Tindakan ini memungkinkan pengguna untuk 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 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 semuanya dalam langganan serta buka tiket dukungan."

    File JSON Anda akan terlihat seperti berikut ini:

    {
      "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 untuk pengguna, grup, atau perwakilan layanan seperti peran bawaan.

Mencantumkan peran kustom

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

    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.

    cuplikan layar peran kustom yang diimpor di portal Microsoft Azure

Memperbarui 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 "Microsoft.Resources/deployments/*"grup sumber daya . Pastikan untuk menyertakan koma setelah tindakan sebelumnya.

    File JSON yang diperbarui akan terlihat seperti berikut ini:

    {
      "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 selanjutnya