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:
- DisplayName: nama peran kustom
- Deskripsi: deskripsi singkat tentang peran yang meringkas akses yang diberikan peran.
- 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.
- 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:
- 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.
- DataActions: kumpulan operasi data tempat peran kustom memberikan akses.
- 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
Catatan
Kata kunci: azure, azurerm, arm, sumber daya, manajemen, manajer, sumber daya, grup, templat, penyebaran