Set-AzRoleDefinition
Hiermee wijzigt u een aangepaste rol in Azure RBAC. Geef de gewijzigde roldefinitie op als een JSON-bestand of als een PSRoleDefinition. Gebruik eerst de opdracht Get-AzRoleDefinition om de aangepaste rol op te halen die u wilt wijzigen. Wijzig vervolgens de eigenschappen die u wilt wijzigen. Sla ten slotte de roldefinitie op met behulp van deze opdracht.
Syntax
InputFileParameterSet
Set-AzRoleDefinition
-InputFile <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
RoleDefinitionParameterSet
Set-AzRoleDefinition
-Role <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
De Set-AzRoleDefinition-cmdlet werkt een bestaande aangepaste rol bij in Azure Role-Based Access Control. Geef de bijgewerkte roldefinitie op als invoer voor de opdracht als een JSON-bestand of een PSRoleDefinition-object.
De roldefinitie voor de bijgewerkte aangepaste rol MOET het volgende bevatten:
- Id: de unieke id van de roldefinitie die moet worden bijgewerkt
- Naam: de naam van de aangepaste rol
- Beschrijving: een korte beschrijving van de rol
- Machtigingen: een matrix van machtigingsobjecten die Acties en/of DataActions bevatten
- AssignableScopes: de bereiken waaraan de rol kan worden toegewezen
Elk machtigingsobject in de machtigingsmatrix kan acties, NotActions, DataActions, NotDataActions en optioneel Voorwaarde en ConditionVersion voor Attribute-Based Access Control abac-voorwaarden (ABAC) bevatten.
Important
De vorm van PSRoleDefinition en van de -InputFile JSON is gewijzigd. Zowel -Role (PSRoleDefinition) als -InputFile (JSON) gebruiken nu een Permissions matrix met machtigingsobjecten in plaats van afgevlakte eigenschappen op het hoogste niveauActions, NotActionsDataActionsen NotDataActions eigenschappen. Scripts die worden doorgesluisd Get-AzRoleDefinitionSet-AzRoleDefinition -Role , moeten acties en voorwaarden lezen en wijzigen in $role.Permissions[n] plaats van rechtstreeks op het rolobject. JSON-bestanden met die worden -InputFile gebruikt, moeten eveneens machtigingen onder een Permissions matrix nesten.
Note
De Azure RBAC-API ondersteunt momenteel slechts één element in de matrice Machtigingen bij het bijwerken van aangepaste rollen. Hoewel het gegevensmodel meerdere machtigingsvermeldingen ondersteunt, moeten updatebewerkingen precies één machtigingsobject gebruiken.
Voorbeelden
Voorbeeld 1: Bijwerken met PSRoleDefinitionObject
$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
Voorbeeld 2: Bijwerken met JSON-bestand
Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
Hiermee werkt u een aangepaste roldefinitie bij vanuit een JSON-bestand. Het JSON-bestand moet de id-eigenschap van de rol bevatten.
Parameters
-DefaultProfile
De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure
Parametereigenschappen
| Type: | IAzureContextContainer |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | AzContext, AzureRmContext, AzureCredential |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-InputFile
Bestandsnaam met één json-roldefinitie die moet worden bijgewerkt. Neem alleen de eigenschappen op die moeten worden bijgewerkt in de JSON. Id-eigenschap is vereist.
Parametereigenschappen
| Type: | String |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
InputFileParameterSet
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Role
Roldefinitieobject dat moet worden bijgewerkt
Parametereigenschappen
| Type: | PSRoleDefinition |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
RoleDefinitionParameterSet
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-SkipClientSideScopeValidation
Als u dit hebt opgegeven, slaat u de validatie van het bereik aan de clientzijde over.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
PSRoleDefinition
Uitvoerwaarden
PSRoleDefinition
Notities
Trefwoorden: azure, azurerm, arm, resource, beheer, manager, resource, groep, sjabloon, implementatie