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