New-AzureRmRoleDefinition
Azure RBAC'de özel bir rol oluşturur. Giriş olarak bir JSON rol tanımı dosyası veya PSRoleDefinition nesnesi sağlayın. İlk olarak, bir temel rol tanımı nesnesi oluşturmak için Get-AzureRmRoleDefinition komutunu kullanın. Ardından, özelliklerini gerektiği gibi değiştirin. Son olarak, rol tanımını kullanarak özel bir rol oluşturmak için bu komutu kullanın.
Uyarı
AzureRM PowerShell modülü 29 Şubat 2024 itibarıyla resmi olarak kullanım dışı bırakılmıştır. Kullanıcıların destek ve güncelleştirmelerin devam etmesini sağlamak için AzureRM'den Az PowerShell modülüne geçmeleri tavsiye edilir.
AzureRM modülü çalışmaya devam edebilir, ancak artık bakım yapılmaz veya desteklenmez ve kullanıcının takdirine ve riskine bağlı olarak sürekli kullanım sağlanır. Az modülüne geçiş konusunda yönergeler için lütfen geçiş kaynaklarımıza bakın.
Sözdizimi
New-AzureRmRoleDefinition
[-InputFile] <String>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzureRmRoleDefinition
[-Role] <PSRoleDefinition>
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
New-AzureRmRoleDefinition cmdlet'i, Azure Rol Tabanlı Erişim Denetimi'nde özel bir rol oluşturur. JSON dosyası veya PSRoleDefinition nesnesi olarak komutuna giriş olarak rol tanımı sağlayın. Giriş rolü tanımı aşağıdaki özellikleri içermelidir:
- DisplayName: Özel rolün adı
- Açıklama: rolün, rolün iznini özetleyen kısa bir açıklaması.
- Eylemler: Özel rolün erişim iznini aldığı işlem kümesi. Azure RBAC kullanılarak güvenliği sağlanabilir Azure kaynak sağlayıcılarının işlemini almak için Get-AzureRmProviderOperation komutunu kullanın. Bazı geçerli işlem dizeleri aşağıdadır:
- "*/read" tüm Azure kaynak sağlayıcılarının okuma işlemlerine erişim verir.
- "Microsoft.Network/*/read", Azure'ın Microsoft.Network kaynak sağlayıcısındaki tüm kaynak türleri için okuma işlemlerine erişim verir.
- "Microsoft.Compute/virtualMachines/*" sanal makinelerin ve alt kaynak türlerinin tüm işlemlerine erişim verir.
- AssignableScopes: Özel rolün atanabilecekleri kapsam kümesi (Azure abonelikleri veya kaynak grupları). AssignableScopes kullanarak, özel rolü yalnızca buna ihtiyaç duyan aboneliklerde veya kaynak gruplarında atama için kullanılabilir hale getirebilirsiniz; diğer abonelikler veya kaynak grupları için kullanıcı deneyimini karmaşık hale getiremezsiniz. Bazı geçerli atanabilir kapsamlar aşağıdadır:
- "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": rolü iki abonelikte atama için kullanılabilir hale getirir.
- "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": rolü tek bir abonelikte atama için kullanılabilir hale getirir.
- "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": rolü yalnızca Ağ kaynak grubunda atama için kullanılabilir hale getirir. Giriş rolü tanımı aşağıdaki özellikleri içerebilir:
- NotActions: Özel rolün etkili eylemlerini belirlemek için Eylemler'den dışlanması gereken işlem kümesi. Özel bir rolde erişim vermek istemediğiniz belirli bir işlem varsa, Eylemler'de bu işlem dışındaki tüm işlemleri belirtmek yerine NotActions'ı dışlamak için kullanmak uygundur.
- DataActions: Özel rolün erişim iznini aldığı veri işlemleri kümesi.
- NotDataActions: Özel rol için etkili verileri belirlemek için DataActions'ın dışında tutulması gereken işlem kümesi. Özel bir rolde erişim vermek istemediğiniz belirli bir veri işlemi varsa, Eylemler'de söz konusu işlem dışındaki tüm işlemleri belirtmek yerine NotDataActions'ı dışlamak için kullanmak uygundur. NOT: Kullanıcıya NotActions'ta bir işlemi belirten bir rol atanırsa ve başka bir rol de aynı işleme erişim izni verirse, kullanıcı bu işlemi gerçekleştirebilir. NotActions bir reddetme kuralı değildir; belirli işlemlerin dışlanması gerektiğinde izin verilen bir dizi işlem oluşturmanın kolay bir yoludur. Giriş { "Ad": "Güncelleştirilmiş Rol", "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.Depolama/storageAccounts/blobServices/containers/blobs/read" ], "NotDataActions": [ "Microsoft.Depolama/storageAccounts/blobServices/containers/blobs/write" ], "AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx"] }
Örnekler
PSRoleDefinitionObject kullanarak oluşturma
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
JSON dosyasını kullanarak oluşturma
PS C:\> New-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json
Parametreler
-DefaultProfile
Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik
Tür: | IAzureContextContainer |
Diğer adlar: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InputFile
Tek bir json rol tanımı içeren dosya adı.
Tür: | String |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Role
Rol tanımı nesnesi.
Tür: | PSRoleDefinition |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
None
Çıkışlar
Notlar
Anahtar sözcükler: azure, azurerm, arm, kaynak, yönetim, yönetici, kaynak, grup, şablon, dağıtım