Creare ruoli personalizzati per il controllo degli accessi in base al ruolo di AzureCreate custom roles for Azure Role-Based Access Control

Creare un ruolo personalizzato nel Controllo degli accessi in base al ruolo di Azure, se nessuno dei ruoli predefiniti soddisfa le esigenze di accesso specifiche.Create a custom role in Azure Role-Based Access Control (RBAC) if none of the built-in roles meet your specific access needs. I ruoli personalizzati possono essere creati usando Azure PowerShell, l'interfaccia della riga di comando di Azure e l'API REST.Custom roles can be created using Azure PowerShell, Azure Command-Line Interface (CLI), and the REST API. Analogamente ai ruoli predefiniti, è possibile assegnare ruoli personalizzati a utenti, gruppi e applicazioni nell'ambito della sottoscrizione, del gruppo di risorse e delle risorse.Just like built-in roles, you can assign custom roles to users, groups, and applications at subscription, resource group, and resource scopes. I ruoli personalizzati vengono archiviati in un tenant di Azure AD e possono essere condivisi tra le sottoscrizioni.Custom roles are stored in an Azure AD tenant and can be shared across subscriptions.

Ogni tenant può creare fino a 2000 ruoli personalizzati.Each tenant can create up to 2000 custom roles.

L'esempio seguente mostra un ruolo personalizzato, che consente il monitoraggio e il riavvio di macchine virtuali:The following example shows a custom role for monitoring and restarting virtual machines:

{
  "Name": "Virtual Machine Operator",
  "Id": "cadb4a5a-4e7a-47be-84db-05cad13b6769",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [

  ],
  "AssignableScopes": [
    "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e",
    "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624",
    "/subscriptions/34370e90-ac4a-4bf9-821f-85eeedeae1a2"
  ]
}

AzioniActions

La proprietà Actions di un ruolo personalizzato specifica le operazioni di Azure a cui il ruolo concede l'accesso.The Actions property of a custom role specifies the Azure operations to which the role grants access. Si tratta di una raccolta di stringhe di operazione che identificano operazioni a protezione diretta dei provider di risorse di Azure.It is a collection of operation strings that identify securable operations of Azure resource providers. Le stringhe di operazione seguono il formato di Microsoft.<ProviderName>/<ChildResourceType>/<action>.Operation strings follow the format of Microsoft.<ProviderName>/<ChildResourceType>/<action>. Le stringhe di operazione che contengono caratteri jolly (*) concedono l'accesso a tutte le operazioni corrispondenti alla stringa di operazione.Operation strings that contain wildcards (*) grant access to all operations that match the operation string. Ad esempio:For instance:

  • */read concede l'accesso a operazioni di lettura per tutti i tipi di risorsa di tutti i provider di risorse di Azure.*/read grants access to read operations for all resource types of all Azure resource providers.
  • Microsoft.Compute/* concede l'accesso a tutte le operazioni per tutti i tipi di risorsa nel provider di risorse Microsoft.Compute.Microsoft.Compute/* grants access to all operations for all resource types in the Microsoft.Compute resource provider.
  • Microsoft.Network/*/read concede l'accesso a operazioni di lettura per tutti i tipi di risorsa nel provider di risorse Microsoft.Network di Azure.Microsoft.Network/*/read grants access to read operations for all resource types in the Microsoft.Network resource provider of Azure.
  • Microsoft.Compute/virtualMachines/* concede l'accesso a tutte le operazioni delle macchine virtuali e ai relativi tipi di risorse figlio.Microsoft.Compute/virtualMachines/* grants access to all operations of virtual machines and its child resource types.
  • Microsoft.Web/sites/restart/Action concede l'accesso per il riavvio dei siti Web.Microsoft.Web/sites/restart/Action grants access to restart websites.

Usare Get-AzureRmProviderOperation in PowerShell o azure provider operations show nell'interfaccia della riga di comando di Azure per elencare le operazioni dei provider di risorse di Azure.Use Get-AzureRmProviderOperation (in PowerShell) or azure provider operations show (in Azure CLI) to list operations of Azure resource providers. È anche possibile usare questi comandi per verificare la validità di una stringa di operazione e per espandere le stringhe di operazione con caratteri jolly.You may also use these commands to verify that an operation string is valid, and to expand wildcard operation strings.

Get-AzureRMProviderOperation Microsoft.Compute/virtualMachines/*/action | FT Operation, OperationName

Get-AzureRMProviderOperation Microsoft.Network/*

Schermata PowerShell - Get-AzureRMProviderOperation

azure provider operations show "Microsoft.Compute/virtualMachines/*/action" --js on | jq '.[] | .operation'

azure provider operations show "Microsoft.Network/*"

<span data-ttu-id="98204-124">Screenshot dell'interfaccia della riga di comando di Azure: azure provider operations show "Microsoft.Compute/virtualMachines/*/action"</span><span class="sxs-lookup"><span data-stu-id="98204-124">Azure CLI screenshot - azure provider operations show "Microsoft.Compute/virtualMachines/*/action"</span></span>

NotActionsNotActions

Usare la proprietà NotActions se il set di operazioni che si vuole consentire viene più facilmente definito escludendo le operazioni con restrizioni.Use the NotActions property if the set of operations that you wish to allow is more easily defined by excluding restricted operations. L'accesso concesso da un ruolo personalizzato viene calcolato sottraendo le operazioni NotActions dalle operazioni Actions.The access granted by a custom role is computed by subtracting the NotActions operations from the Actions operations.

Nota

Se a un utente viene assegnato un ruolo che esclude un'operazione in NotActions e un secondo ruolo che concede l'accesso alla stessa operazione, l'utente può eseguire questa operazione.If a user is assigned a role that excludes an operation in NotActions, and is assigned a second role that grants access to the same operation, the user is allowed to perform that operation. NotActions non è una regola di negazione. È semplicemente un modo comodo per creare una serie di operazioni consentite quando è necessario escludere operazioni specifiche.NotActions is not a deny rule – it is simply a convenient way to create a set of allowed operations when specific operations need to be excluded.

AssignableScopesAssignableScopes

La proprietà AssignableScopes del ruolo personalizzato specifica gli ambiti, ovvero sottoscrizioni, gruppi di risorse o risorse, entro i quali il ruolo personalizzato è disponibile per l'assegnazione.The AssignableScopes property of the custom role specifies the scopes (subscriptions, resource groups, or resources) within which the custom role is available for assignment. È possibile rendere disponibile il ruolo personalizzato per l'assegnazione solo nelle sottoscrizioni o nei gruppi di risorse che lo richiedono, in modo da non complicare l'esperienza utente per le altre sottoscrizioni o gli altri gruppi di risorse.You can make the custom role available for assignment in only the subscriptions or resource groups that require it, and not clutter user experience for the rest of the subscriptions or resource groups.

Ecco alcuni esempi di ambiti assegnabili validi:Examples of valid assignable scopes include:

  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": rende disponibile il ruolo per l'assegnazione in due sottoscrizioni.“/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e”, “/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624” - makes the role available for assignment in two subscriptions.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": rende disponibile il ruolo per l'assegnazione in una singola sottoscrizione.“/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e” - makes the role available for assignment in a single subscription.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": rende disponibile il ruolo per l'assegnazione solo nel gruppo di risorse Network.“/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network” - makes the role available for assignment only in the Network resource group.

Nota

È necessario usare almeno una sottoscrizione, un gruppo di risorse o un ID della risorsa.You must use at least one subscription, resource group, or resource ID.

Controllo di accesso ai ruoli personalizzatiCustom roles access control

La proprietà AssignableScopes del ruolo personalizzato controlla anche quali utenti possono visualizzare, modificare ed eliminare il ruolo.The AssignableScopes property of the custom role also controls who can view, modify, and delete the role.

  • È necessario specificare gli utenti autorizzati a creare un ruolo personalizzato.Who can create a custom role? I ruoli Proprietario e Amministratore Accessi utenti di sottoscrizioni, gruppi di risorse e risorse possono creare ruoli personalizzati da usare in questi ambiti.Owners (and User Access Administrators) of subscriptions, resource groups, and resources can create custom roles for use in those scopes. L'utente che crea il ruolo deve poter eseguire l'operazione Microsoft.Authorization/roleDefinition/write in tutte le proprietà AssignableScopes del ruolo.The user creating the role needs to be able to perform Microsoft.Authorization/roleDefinition/write operation on all the AssignableScopes of the role.
  • È necessario specificare gli utenti autorizzati a modificare un ruolo personalizzato.Who can modify a custom role? I ruoli Proprietario e Amministratore Accessi utenti di sottoscrizioni, gruppi di risorse e risorse possono modificare i ruoli personalizzati in questi ambiti.Owners (and User Access Administrators) of subscriptions, resource groups, and resources can modify custom roles in those scopes. Gli utenti devono poter eseguire l'operazione Microsoft.Authorization/roleDefinition/write in tutte le proprietà AssignableScopes di un ruolo personalizzato.Users need to be able to perform the Microsoft.Authorization/roleDefinition/write operation on all the AssignableScopes of a custom role.
  • Chi può visualizzare i ruoli personalizzatiWho can view custom roles? Tutti i ruoli predefiniti nel Controllo degli accessi in base al ruolo di Azure consentono la visualizzazione dei ruoli disponibili per l'assegnazione.All built-in roles in Azure RBAC allow viewing of roles that are available for assignment. Gli utenti che possono eseguire l'operazione Microsoft.Authorization/roleDefinition/read a livello di ambito possono visualizzare i ruoli del Controllo degli accessi in base al ruolo disponibili per l'assegnazione in tale ambito.Users who can perform the Microsoft.Authorization/roleDefinition/read operation at a scope can view the RBAC roles that are available for assignment at that scope.

Vedere ancheSee also