Tutorial: Membuat peran kustom Microsoft Azure menggunakan Microsoft Azure PowerShell

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 Microsoft Azure PowerShell. 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.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan memerlukan:

Masuk ke Azure PowerShell

Masuk ke Azure PowerShell.

Membuat peran kustom

Cara termudah untuk membuat peran kustom adalah memulai dengan peran bawaan, mengeditnya, lalu membuat peran baru.

  1. Di PowerShell, gunakan perintah Get-AzProviderOperation untuk mendapatkan daftar operasi untuk penyedia sumber Microsoft.Support. Sangat membantu untuk mengetahui operasi yang tersedia untuk membuat izin Anda. Anda juga dapat melihat daftar semua operasi di operasi penyedia sumber Microsoft Azure.

    Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize
    
    Operation                              Description
    ---------                              -----------
    Microsoft.Support/register/action      Registers to Support Resource Provider
    Microsoft.Support/supportTickets/read  Gets Support Ticket details (including status, severity, contact ...
    Microsoft.Support/supportTickets/write Creates or Updates a Support Ticket. You can create a Support Tic...
    
  2. Gunakan perintah Get-AzRoleDefinition untuk menghasilkan peran Pembaca dalam format JSON.

    Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
    
  3. Buka file ReaderSupportRole.json di editor.

    Berikut ini menunjukkan output JSON. Untuk informasi tentang properti yang berbeda, lihatPeran kustom Microsoft Azure.

    {
      "Name": "Reader",
      "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
      "IsCustom": false,
      "Description": "Lets you view everything, but not make any changes.",
      "Actions": [
        "*/read"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/"
      ]
    }
    
  4. Edit file JSON untuk menambahkan tindakan "Microsoft.Support/*" ke properti Actions. Pastikan untuk menyertakan koma setelah tindakan baca. Tindakan ini akan memungkinkan pengguna untuk membuat tiket dukungan.

  5. Dapatkan ID langganan Anda menggunakan perintah Get-AzSubscription.

    Get-AzSubscription
    
  6. Dalam AssignableScopes, tambah ID langganan dengan format berikut: "/subscriptions/00000000-0000-0000-0000-000000000000"

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

  7. Hapus Id garis properti dan ubah IsCustom properti menjadi true.

  8. 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"
      ]
    }
    
  9. Untuk membuat peran kustom baru, gunakan perintah New-AzRoleDefinition dan tentukan file definisi peran JSON.

    New-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole.json"
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    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}
    

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

Mencantumkan peran kustom

  • Untuk mencantumkan semua peran kustom Anda, gunakan perintah Get-AzRoleDefinition.

    Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
    
    Name                   IsCustom
    ----                   --------
    Reader Support Tickets     True
    

    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, Anda dapat memperbarui file JSON atau menggunakan objek PSRoleDefinition.

  1. Untuk memperbarui file JSON, gunakan perintah Get-AzRoleDefinition untuk menghasilkan peran kustom dalam format JSON.

    Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
    
  2. Buka file di editor.

  3. Di Actions, tambahkan tindakan untuk membuat dan mengelola penyebaran grup sumber daya "Microsoft.Resources/deployments/*".

    File JSON yang diperbarui akan terlihat seperti berikut:

    {
      "Name": "Reader Support Tickets",
      "Id": "22222222-2222-2222-2222-222222222222",
      "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"
      ]
    }
    
  4. Untuk memperbarui peran kustom, gunakan perintah Set-AzRoleDefinition dan tentukan file JSON yang diperbarui.

    Set-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole2.json"
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    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}
    
  5. Untuk menggunakan objek PSRoleDefintion untuk memperbarui peran kustom Anda, pertama, gunakan perintah Get-AzRoleDefinition untuk mendapatkan peran.

    $role = Get-AzRoleDefinition "Reader Support Tickets"
    
  6. Panggil metode Add untuk menambah tindakan untuk membaca pengaturan diagnostik.

    $role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
    
  7. Gunakan Set-AzRoleDefinition untuk memperbarui peran.

    Set-AzRoleDefinition -Role $role
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    IsCustom         : True
    Description      : View everything in the subscription and also open support tickets.
    Actions          : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*,
                       Microsoft.Insights/diagnosticSettings/*/read}
    NotActions       : {}
    DataActions      : {}
    NotDataActions   : {}
    AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
    

Menghapus peran kustom

  1. Gunakan perintah Get-AzRoleDefinition untuk mendapatkan ID dari peran kustom.

    Get-AzRoleDefinition "Reader Support Tickets"
    
  2. Gunakan perintah Remove-AzRoleDefinition dan tentukan ID peran untuk menghapus peran kustom.

    Remove-AzRoleDefinition -Id "22222222-2222-2222-2222-222222222222"
    
    Confirm
    Are you sure you want to remove role definition with id '22222222-2222-2222-2222-222222222222'.
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    
  3. Ketika diminta untuk mengonfirmasi, ketik Y.

Langkah berikutnya