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