Set-AzRoleDefinition

Modifica un ruolo personalizzato in Azure controllo degli accessi in base al ruolo. Specificare la definizione di ruolo modificata come file JSON o come PSRoleDefinition. Usare prima di tutto il comando Get-AzRoleDefinition per recuperare il ruolo personalizzato che si desidera modificare. Modificare quindi le proprietà da modificare. Salvare infine la definizione del ruolo usando questo comando.

Sintassi

InputFileParameterSet

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

RoleDefinitionParameterSet

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

Descrizione

Il cmdlet Set-AzRoleDefinition aggiorna un ruolo personalizzato esistente in Azure Role-Based Controllo di accesso. Specificare la definizione del ruolo aggiornata come input per il comando come file JSON o un oggetto PSRoleDefinition.

La definizione del ruolo per il ruolo personalizzato aggiornato deve contenere:

  • ID: identificatore univoco della definizione del ruolo da aggiornare
  • Nome: nome del ruolo personalizzato
  • Descrizione: breve descrizione del ruolo
  • Autorizzazioni: matrice di oggetti autorizzazione contenenti Azioni e/o DataActions
  • AssignableScopes: ambiti a cui è possibile assegnare il ruolo

Ogni oggetto autorizzazione nella matrice Permissions può contenere Actions, NotActions, DataActions, NotDataActions e facoltativamente Condition e ConditionVersion per le condizioni di Attribute-Based Controllo di accesso (ABAC).

Importante

La forma di PSRoleDefinition e del -InputFile codice JSON è cambiata. Sia -Role (PSRoleDefinition) che -InputFile (JSON) ora usano una Permissions matrice di oggetti autorizzazione invece delle proprietà di primo livello Actions, , NotActions, DataActionse NotDataActions . Gli script che eseggono tramite pipe Get-AzRoleDefinition in Set-AzRoleDefinition -Role devono leggere e modificare azioni e condizioni tramite $role.Permissions[n] anziché direttamente nell'oggetto ruolo. I file JSON usati con -InputFile devono anche annidare le autorizzazioni in una Permissions matrice.

Annotazioni

L'API controllo degli accessi in base al ruolo Azure supporta attualmente solo un singolo elemento nella matrice Permissions durante l'aggiornamento dei ruoli personalizzati. Mentre il modello di dati supporta più voci di autorizzazione, le operazioni di aggiornamento devono usare esattamente un oggetto autorizzazione.

Esempio

Esempio 1: Eseguire l'aggiornamento con 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

Esempio 2: Aggiornare usando il file JSON

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

Aggiorna una definizione di ruolo personalizzata da un file JSON. Il file JSON deve includere la proprietà Id del ruolo.

Parametri

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure

Proprietà dei parametri

Tipo:IAzureContextContainer
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:AzContext, AzureRmContext, AzureCredential

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InputFile

Nome file contenente una singola definizione di ruolo JSON da aggiornare. Includere solo le proprietà da aggiornare nel codice JSON. La proprietà ID è Required.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

InputFileParameterSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Role

Oggetto definizione ruolo da aggiornare

Proprietà dei parametri

Tipo:PSRoleDefinition
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

RoleDefinitionParameterSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-SkipClientSideScopeValidation

Se specificato, ignorare la convalida dell'ambito lato client.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSRoleDefinition

Output

PSRoleDefinition

Note

Parole chiave: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment