Set-AzRoleDefinition
Azure RBAC'deki özel rolü değiştirir. Değiştirilen rol tanımını JSON dosyası veya PSRoleDefinition olarak sağlayın. İlk olarak, değiştirmek istediğiniz özel rolü almak için Get-AzRoleDefinition komutunu kullanın. Ardından, değiştirmek istediğiniz özellikleri değiştirin. Son olarak, bu komutu kullanarak rol tanımını kaydedin.
Syntax
InputFileParameterSet
Set-AzRoleDefinition
-InputFile <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
RoleDefinitionParameterSet
Set-AzRoleDefinition
-Role <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Set-AzRoleDefinition cmdlet'i Azure Role-Based Access Control'da var olan bir özel rolü güncelleştirir. Güncelleştirilmiş rol tanımını komutuna JSON dosyası veya PSRoleDefinition nesnesi olarak giriş olarak sağlayın.
Güncelleştirilmiş özel rolün rol tanımı AŞAĞıDAKILERI içermelidir:
- Kimlik: Güncelleştirilecek rol tanımının benzersiz tanımlayıcısı
- Ad: Özel rolün adı
- Açıklama: rolün kısa bir açıklaması
- İzinler: Eylemler ve/veya DataActions içeren izin nesneleri dizisi
- AssignableScopes: rolün atanabileceği kapsamlar
permissions dizisindeki her izin nesnesi Actions, NotActions, DataActions, NotDataActions ve isteğe bağlı olarak Attribute-Based Access Control (ABAC) koşulları için Condition ve ConditionVersion içerebilir.
Important
JSON'un PSRoleDefinition-InputFile ve şekli değişti. Hem (PSRoleDefinition) hem -Role de -InputFile (JSON) artık düzleştirilmiş üst düzey Permissions, , ActionsNotActionsve DataActions özellikleri yerine bir NotDataActions izin nesneleri dizisi kullanıyor. içine aktaran Get-AzRoleDefinitionSet-AzRoleDefinition -Role betikler, doğrudan rol nesnesi yerine eylemleri ve koşulları $role.Permissions[n] okumalı ve değiştirmelidir. ile -InputFile kullanılan JSON dosyalarının aynı şekilde bir Permissions dizi altında izinleri iç içe yerleştirmesi gerekir.
Note
Azure RBAC API'si şu anda özel rolleri güncelleştirirken İzinler dizisinde yalnızca tek bir öğeyi destekler. Veri modeli birden çok izin girdisini desteklese de güncelleştirme işlemlerinin tam olarak bir izin nesnesi kullanması gerekir.
Örnekler
Örnek 1: PSRoleDefinitionObject kullanarak güncelleştirme
$roleDef = Get-AzRoleDefinition "Contoso On-Call"
$roleDef.Permissions[0].Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
$roleDef.Description = "Can monitor all resources and start and restart virtual machines"
$roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
Set-AzRoleDefinition -Role $roleDef
Örnek 2: JSON dosyasını kullanarak güncelleştirme
Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Bir JSON dosyasından özel rol tanımını güncelleştirir. JSON dosyası rolün Id özelliğini içermelidir.
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
Güncelleştirilecek tek bir json rol tanımını içeren dosya adı. Yalnızca JSON'da güncelleştirilecek özellikleri ekleyin. Kimlik özelliği Gerekli'dir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
InputFileParameterSet
| Position: | Named |
| 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
Güncelleştirilecek rol tanımı nesnesi
Parametre özellikleri
| Tür: | PSRoleDefinition |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
RoleDefinitionParameterSet
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Ö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
PSRoleDefinition
Çıkışlar
PSRoleDefinition
Notlar
Anahtar sözcükler: azure, azurerm, arm, kaynak, yönetim, yönetici, kaynak, grup, şablon, dağıtım