Freigeben über


Set-AzRoleDefinition

Ändert eine benutzerdefinierte Rolle in Azure RBAC. Geben Sie die geänderte Rollendefinition entweder als JSON-Datei oder als PSRoleDefinition an. Verwenden Sie zunächst den Befehl "Get-AzRoleDefinition", um die benutzerdefinierte Rolle abzurufen, die Sie ändern möchten. Ändern Sie dann die Eigenschaften, die Sie ändern möchten. Speichern Sie schließlich die Rollendefinition mit diesem Befehl.

Syntax

Set-AzRoleDefinition
   -InputFile <String>
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzRoleDefinition
   -Role <PSRoleDefinition>
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Beschreibung

Das Cmdlet Set-AzRoleDefinition aktualisiert eine vorhandene benutzerdefinierte Rolle in der Azure-Rollenbasierten Zugriffssteuerung. Stellen Sie die aktualisierte Rollendefinition als Eingabe für den Befehl als JSON-Datei oder als PSRoleDefinition-Objekt bereit. Die Rollendefinition für die aktualisierte benutzerdefinierte Rolle MUSS die ID und alle anderen erforderlichen Eigenschaften der Rolle enthalten, auch wenn sie nicht aktualisiert werden: DisplayName, Beschreibung, Aktionen, AssignableScopes. NotActions, DataActions, NotDataActions sind optional.

Beispiele

Beispiel 1: Aktualisieren mit PSRoleDefinitionObject

$roleDef = Get-AzRoleDefinition "Contoso On-Call"
$roleDef.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

Beispiel 2: Erstellen mit JSON-Datei

Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
<#
Following is a sample updated role definition json for Set-AzRoleDefinition:
{
        "Id": "52a6cc13-ff92-47a8-a39b-2a8205c3087e",
        "Name": "Updated Role",
        "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.Storage/storageAccounts/blobServices/containers/blobs/read"
        ],
        "NotDataActions":
        [
            "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write"
        ],
        "AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
}
#>

Parameter

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputFile

Dateiname, der eine einzelne json-Rollendefinition enthält, die aktualisiert werden soll. Fügen Sie nur die Eigenschaften hinzu, die im JSON-Code aktualisiert werden sollen. Id-Eigenschaft ist erforderlich.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Role

Rollendefinitionsobjekt, das aktualisiert werden soll

Typ:PSRoleDefinition
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-SkipClientSideScopeValidation

Wenn angegeben, überspringen Sie die clientseitige Bereichsüberprüfung.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSRoleDefinition

Ausgaben

PSRoleDefinition

Hinweise

Schlüsselwörter: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment