New-AzRoleDefinition

Azure RBAC'de özel bir rol oluşturur. Giriş olarak bir JSON rol tanımı dosyası veya PSRoleDefinition nesnesi sağlayın. İlk olarak, temel rol tanımı nesnesi oluşturmak için Get-AzRoleDefinition 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.

Syntax

InputFileParameterSet

New-AzRoleDefinition
    [-InputFile] <String>
    [-SkipClientSideScopeValidation]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

RoleDefinitionParameterSet

New-AzRoleDefinition
    [-Role] <PSRoleDefinition>
    [-SkipClientSideScopeValidation]
    [-DefaultProfile <IAzureContextContainer>]
    [<CommonParameters>]

Description

New-AzRoleDefinition cmdlet'i Azure Role-Based Access Control içinde ö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:

  1. DisplayName: Özel rolün adı
  2. Açıklama: rolün, rolün iznini özetleyen kısa bir açıklaması.
  3. 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-AzProviderOperation 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. Ağ/*/okuma" Microsoft tüm kaynak türleri için okuma işlemlerine erişim verir. Azure ağ kaynağı sağlayıcısı.
  • "Microsoft. Compute/virtualMachines/*" sanal makinelerin ve alt kaynak türlerinin tüm işlemlerine erişim verir.
  1. AssignableScopes: Özel rolün atanabilecekleri kapsam kümesi (Azure abonelikler 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:
  1. 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.
  2. DataActions: Özel rolün erişim iznini aldığı veri işlemleri kümesi.
  3. NotDataActions: Özel rolün etkili veri eylemlerini 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. Aşağıda , giriş { "Ad": "Güncelleştirilmiş Rol", "Açıklama": "Tüm kaynakları izleyebilir ve sanal makineleri başlatabilir ve yeniden başlatabilir", "Eylemler": [ "/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-xxxxx"] }

Örnekler

Örnek 1: PSRoleDefinitionObject kullanarak oluşturma

$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

Örnek 2: JSON dosyası kullanarak oluşturma

New-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json

Parametreler

-DefaultProfile

Azure ile iletişim için kullanılan kimlik bilgileri, hesap, kiracı ve abonelik

Parametre özellikleri

Tür:IAzureContextContainer
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:AzContext, AzureRmContext, AzureCredential

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-InputFile

Tek bir json rol tanımı içeren dosya adı.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

InputFileParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Role

Rol tanımı nesnesi.

Parametre özellikleri

Tür:PSRoleDefinition
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

RoleDefinitionParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-SkipClientSideScopeValidation

Belirtilirse, istemci tarafı kapsam doğrulamayı atlayın.

Parametre özellikleri

Tür:SwitchParameter
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

None

Çıkışlar

PSRoleDefinition

Notlar

Anahtar sözcükler: azure, azurerm, arm, kaynak, yönetim, yönetici, kaynak, grup, şablon, dağıtım