New-AzRoleDefinition
Membuat peran kustom di Azure RBAC. Berikan file definisi peran JSON atau objek PSRoleDefinition sebagai input. Pertama, gunakan perintah Get-AzRoleDefinition untuk menghasilkan objek definisi peran dasar. Kemudian, ubah propertinya sesuai kebutuhan. Terakhir, gunakan perintah ini untuk membuat peran kustom menggunakan definisi peran.
Sintaks
New-AzRoleDefinition
[-InputFile] <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzRoleDefinition
[-Role] <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Deskripsi
Cmdlet New-AzRoleDefinition 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-AzProviderOperation 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 tindakan data 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
Contoh 1: Membuat menggunakan PSRoleDefinitionObject
$role = New-Object -TypeName Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition
$role.Name = 'Virtual Machine Operator'
$role.Description = 'Can monitor, start, and restart virtual machines.'
$role.IsCustom = $true
$role.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
$role.Actions = @(
"Microsoft.Compute/*/read"
"Microsoft.Compute/virtualMachines/start/action"
"Microsoft.Compute/virtualMachines/restart/action"
"Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action"
"Microsoft.Network/*/read"
"Microsoft.Storage/*/read"
"Microsoft.Authorization/*/read"
"Microsoft.Resources/subscriptions/resourceGroups/read"
"Microsoft.Resources/subscriptions/resourceGroups/resources/read"
"Microsoft.Insights/alertRules/*"
"Microsoft.Support/*"
)
New-AzRoleDefinition -Role $role
Contoh 2: Membuat menggunakan file JSON
New-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Parameter
-DefaultProfile
Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan azure
Jenis: | IAzureContextContainer |
Alias: | AzContext, 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 |
-SkipClientSideScopeValidation
Jika ditentukan, lewati validasi cakupan sisi klien.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
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
Link Terkait
Azure PowerShell