Condividi tramite


New-AzRoleDefinition

Crea un ruolo personalizzato nel controllo degli accessi in base al ruolo di Azure. Specificare un file di definizione del ruolo JSON o un oggetto PSRoleDefinition come input. Usare prima di tutto il comando Get-AzRoleDefinition per generare un oggetto definizione del ruolo di base. Modificare quindi le relative proprietà in base alle esigenze. Usare infine questo comando per creare un ruolo personalizzato usando la definizione del ruolo.

Sintassi

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

Descrizione

Il cmdlet New-AzRoleDefinition crea un ruolo personalizzato nella Controllo di accesso basata su ruoli di Azure. Specificare una definizione di ruolo come input per il comando come file JSON o come oggetto PSRoleDefinition. La definizione del ruolo di input DEVE contenere le proprietà seguenti:

  1. DisplayName: nome del ruolo personalizzato
  2. Descrizione: breve descrizione del ruolo che riepiloga l'accesso concesso dal ruolo.
  3. Azioni: set di operazioni a cui il ruolo personalizzato concede l'accesso. Usare Get-AzProviderOperation per ottenere l'operazione per i provider di risorse di Azure che possono essere protetti con il controllo degli accessi in base al ruolo di Azure. Di seguito sono riportate alcune stringhe di operazione valide:
  • "*/read" concede l'accesso alle operazioni di lettura di tutti i provider di risorse di Azure.
  • "Microsoft.Network/*/read" concede l'accesso alle operazioni di lettura per tutti i tipi di risorse nel provider di risorse Microsoft.Network di Azure.
  • "Microsoft.Compute/virtualMachines/*" concede l'accesso a tutte le operazioni delle macchine virtuali e ai relativi tipi di risorse figlio.
  1. AssignableScopes: set di ambiti (sottoscrizioni di Azure o gruppi di risorse) in cui il ruolo personalizzato sarà disponibile per l'assegnazione. L'uso di AssignableScopes consente di rendere disponibile il ruolo personalizzato per l'assegnazione solo nelle sottoscrizioni o nei gruppi di risorse che ne hanno bisogno e non include l'esperienza utente per il resto delle sottoscrizioni o dei gruppi di risorse. Di seguito sono riportati alcuni ambiti assegnabili validi:
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": rende il ruolo disponibile per l'assegnazione in due sottoscrizioni.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": rende il ruolo disponibile per l'assegnazione in una singola sottoscrizione.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": rende disponibile il ruolo per l'assegnazione solo nel gruppo di risorse di rete. La definizione del ruolo di input PUÒ contenere le proprietà seguenti:
  1. NotActions: set di operazioni che devono essere escluse dalle azioni per determinare le azioni effettive per il ruolo personalizzato. Se è presente un'operazione specifica a cui non si vuole concedere l'accesso in un ruolo personalizzato, è consigliabile usare NotActions per escluderlo, anziché specificare tutte le operazioni diverse da quella specifica operazione in Azioni.
  2. DataActions: set di operazioni sui dati a cui il ruolo personalizzato concede l'accesso.
  3. NotDataActions: set di operazioni che devono essere escluse da DataActions per determinare le azioni di dati effettive per il ruolo personalizzato. Se è presente un'operazione di dati specifica a cui non si vuole concedere l'accesso in un ruolo personalizzato, è consigliabile usare NotDataActions per escluderla, anziché specificare tutte le operazioni diverse da quella specifica operazione in Azioni. NOTA: se a un utente viene assegnato un ruolo che specifica un'operazione in NotActions e a un altro ruolo viene concesso l'accesso alla stessa operazione. L'utente sarà in grado di eseguire tale operazione. NotActions non è una regola di negazione: è semplicemente un modo pratico per creare un set di operazioni consentite quando è necessario escludere operazioni specifiche. Di seguito è riportata una definizione di ruolo JSON di esempio che può essere fornita come input { "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"] }

Esempio

Esempio 1: Creare con PSRoleDefinitionObject

$role = New-Object -TypeName Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition 
$role.Name = 'Virtual Machine Operator'
$role.Description = 'Can monitor, start, and restart virtual machines.'
$role.IsCustom = $true
$role.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
$role.Actions = @(
    "Microsoft.Compute/*/read"
    "Microsoft.Compute/virtualMachines/start/action"
    "Microsoft.Compute/virtualMachines/restart/action"
    "Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action"
    "Microsoft.Network/*/read"
    "Microsoft.Storage/*/read"
    "Microsoft.Authorization/*/read"
    "Microsoft.Resources/subscriptions/resourceGroups/read"
    "Microsoft.Resources/subscriptions/resourceGroups/resources/read"
    "Microsoft.Insights/alertRules/*"
    "Microsoft.Support/*"
)

New-AzRoleDefinition -Role $role

Esempio 2: Creare usando il file JSON

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

Parametri

-DefaultProfile

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

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputFile

Nome file contenente una singola definizione di ruolo JSON.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Role

Oggetto definizione ruolo.

Tipo:PSRoleDefinition
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SkipClientSideScopeValidation

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

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Output

PSRoleDefinition

Note

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