Bagikan melalui


New-AzureRmRoleDefinition

Membuat peran kustom di Azure RBAC. Berikan file definisi peran JSON atau objek PSRoleDefinition sebagai input. Pertama, gunakan perintah Get-AzureRmRoleDefinition untuk menghasilkan objek definisi peran dasar. Kemudian, ubah propertinya sesuai kebutuhan. Terakhir, gunakan perintah ini untuk membuat peran kustom menggunakan definisi peran.

Peringatan

Modul AzureRM PowerShell telah resmi tidak digunakan lagi per 29 Februari 2024. Pengguna disarankan untuk bermigrasi dari AzureRM ke modul Az PowerShell untuk memastikan dukungan dan pembaruan yang berkelanjutan.

Meskipun modul AzureRM mungkin masih berfungsi, modul tersebut tidak lagi dipertahankan atau didukung, menempatkan penggunaan berkelanjutan berdasarkan kebijaksanaan dan risiko pengguna. Silakan merujuk ke sumber daya migrasi kami untuk panduan tentang transisi ke modul Az.

Sintaks

New-AzureRmRoleDefinition
   [-InputFile] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleDefinition
   [-Role] <PSRoleDefinition>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Deskripsi

Cmdlet New-AzureRmRoleDefinition membuat peran kustom di Kontrol Akses Berbasis Peran Azure. Berikan definisi peran sebagai input ke perintah sebagai file JSON atau objek PSRoleDefinition. Definisi peran input HARUS berisi properti berikut:

  1. DisplayName: nama peran kustom
  2. Deskripsi: deskripsi singkat tentang peran yang meringkas akses yang diberikan peran.
  3. Tindakan: kumpulan operasi tempat peran kustom memberikan akses. Gunakan Get-AzureRmProviderOperation untuk mendapatkan operasi untuk penyedia sumber daya Azure yang dapat diamankan menggunakan Azure RBAC. Berikut ini adalah beberapa string operasi yang valid:
  • "*/read" memberikan akses ke operasi baca semua penyedia sumber daya Azure.
  • "Microsoft.Network/*/read" memberikan akses ke operasi baca untuk semua jenis sumber daya di penyedia sumber daya Microsoft.Network Azure.
  • "Microsoft.Compute/virtualMachines/*" memberikan akses ke semua operasi komputer virtual dan jenis sumber daya anaknya.
  1. AssignableScopes: kumpulan cakupan (langganan Azure atau grup sumber daya) tempat peran kustom akan tersedia untuk penugasan. Menggunakan AssignableScopes, Anda dapat membuat peran kustom tersedia untuk penugasan hanya dalam langganan atau grup sumber daya yang membutuhkannya, dan tidak mengacaukan pengalaman pengguna untuk langganan atau grup sumber daya lainnya. Berikut ini adalah beberapa cakupan yang dapat ditetapkan yang valid:
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": membuat peran tersedia untuk penugasan dalam dua langganan.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": membuat peran tersedia untuk penugasan dalam satu langganan.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": membuat peran tersedia untuk penugasan hanya di grup sumber daya Jaringan. Definisi peran input MUNGKIN berisi properti berikut:
  1. NotActions: kumpulan operasi yang harus dikecualikan dari Tindakan untuk menentukan tindakan efektif untuk peran kustom. Jika ada operasi tertentu yang tidak ingin Anda berikan akses ke dalam peran kustom, lebih mudah untuk menggunakan NotActions untuk mengecualikannya, daripada menentukan semua operasi selain operasi tertentu dalam Tindakan.
  2. DataActions: kumpulan operasi data tempat peran kustom memberikan akses.
  3. NotDataActions: kumpulan operasi yang harus dikecualikan dari DataActions untuk menentukan dataaction yang efektif untuk peran kustom. Jika ada operasi data tertentu yang tidak ingin Anda berikan aksesnya dalam peran kustom, lebih mudah untuk menggunakan NotDataActions untuk mengecualikannya, daripada menentukan semua operasi selain operasi tertentu dalam Tindakan. CATATAN: Jika pengguna diberi peran yang menentukan operasi di NotActions dan juga menetapkan peran lain memberikan akses ke operasi yang sama - pengguna akan dapat melakukan operasi tersebut. NotActions bukan aturan tolak - ini hanyalah cara mudah untuk membuat serangkaian operasi yang diizinkan ketika operasi tertentu perlu dikecualikan. Berikut adalah contoh definisi peran json yang dapat disediakan sebagai input { "Name": "Updated Role", "Description": "Can monitor all resources and start and restart virtual machines", "Actions": [ "/read", "Microsoft.ClassicCompute/virtualmachines/restart/action", "Microsoft.ClassicCompute/virtualmachines/start/action" ], "NotActions": [ "/write" ], "DataActions": [ "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read" ], "NotDataActions": [ "Microsoft. Storage/storageAccounts/blobServices/containers/blobs/write" ], "AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxx"] }

Contoh

Membuat menggunakan PSRoleDefinitionObject

PS C:\> $role = Get-AzureRmRoleDefinition -Name "Virtual Machine Contributor"
          PS C:\> $role.Id = $null
          PS C:\> $role.Name = "Virtual Machine Operator"
          PS C:\> $role.Description = "Can monitor, start, and restart virtual machines."
          PS C:\> $role.Actions.RemoveRange(0,$role.Actions.Count)
          PS C:\> $role.Actions.Add("Microsoft.Compute/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/start/action")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/restart/action")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action")
          PS C:\> $role.Actions.Add("Microsoft.Network/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Storage/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Authorization/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/read")
          PS C:\> $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/resources/read")
          PS C:\> $role.Actions.Add("Microsoft.Insights/alertRules/*")
          PS C:\> $role.Actions.Add("Microsoft.Support/*")
          PS C:\> $role.AssignableScopes.Clear()
          PS C:\> $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

          PS C:\> New-AzureRmRoleDefinition -Role $role

Membuat menggunakan file JSON

PS C:\> New-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json

Parameter

-DefaultProfile

Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan azure

Jenis:IAzureContextContainer
Alias:AzureRmContext, AzureCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-InputFile

Nama file yang berisi satu definisi peran json.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Role

Objek definisi peran.

Jenis:PSRoleDefinition
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

Input

None

Output

PSRoleDefinition

Catatan

Kata kunci: azure, azurerm, arm, sumber daya, manajemen, manajer, sumber daya, grup, templat, penyebaran