Come usare il controllo degli accessi in base al ruolo in Gestione API di AzureHow to use Role-Based Access Control in Azure API Management

Gestione API di Azure si basa sul controllo degli accessi in base al ruolo di Azure per abilitare la gestione degli accessi con granularità fine per i servizi e le entità di Gestione API (ad esempio, API e criteri).Azure API Management relies on Azure Role-Based Access Control (RBAC) to enable fine-grained access management for API Management services and entities (for example, APIs and policies). Questo articolo offre una panoramica dei ruoli predefiniti e personalizzati in Gestione API.This article gives you an overview of the built-in and custom roles in API Management. Per altre informazioni sulla gestione degli accessi nel portale di Azure, vedere Introduzione alla gestione degli accessi nel portale di Azure.For more information on access management in the Azure portal, see Get started with access management in the Azure portal.

Ruoli predefinitiBuilt-in roles

In Gestione API sono attualmente disponibili tre ruoli predefiniti e altri due ne verranno aggiunti prossimamente.API Management currently provides three built-in roles and will add two more roles in the near future. Questi ruoli possono essere assegnati ad ambiti diversi, tra cui una sottoscrizione, un gruppo di risorse e una singola istanza di Gestione API.These roles can be assigned at different scopes, including subscription, resource group, and individual API Management instance. Ad esempio, se il ruolo di lettura del servizio Gestione API di Azure viene assegnato a un utente a livello di gruppo di risorse, l'utente ha accesso in lettura a tutte le istanze di Gestione API all'interno del gruppo di risorse.For instance, if you assign the "Azure API Management Service Reader" role to a user at the resource-group level, then the user has read access to all API Management instances inside the resource group.

La tabella seguente contiene descrizioni brevi dei ruoli predefiniti.The following table provides brief descriptions of the built-in roles. È possibile assegnare questi ruoli tramite il portale di Azure o altri strumenti, tra cui Azure PowerShell, l'interfaccia della riga di comando di Azure e l'API REST.You can assign these roles by using the Azure portal or other tools, including Azure PowerShell, Azure CLI, and REST API. Per dettagli su come assegnare ruoli predefiniti, vedere Usare le assegnazioni di ruolo per gestire l'accesso alle risorse della sottoscrizione di Azure.For details about how to assign built-in roles, see Use role assignments to manage access to your Azure subscription resources.

RuoloRole Accesso in lettura[1]Read access[1] Accesso in scrittura[2]Write access[2] Creazione, eliminazione e ridimensionamento di servizi, VPN e configurazione dominio personalizzatoService creation, deletion, scaling, VPN, and custom domain configuration Accesso al portale di pubblicazione legacyAccess to the legacy publisher portal DescrizioneDescription
Collaboratore Servizio Gestione API di AzureAzure API Management Service Contributor Utente con privilegi avanzati.Super user. Dispone di accesso CRUD completo a servizi ed entità di Gestione API (ad esempio, API e criteri).Has full CRUD access to API Management services and entities (for example, APIs and policies). Dispone di accesso al portale di pubblicazione legacy.Has access to the legacy publisher portal.
Ruolo lettura del servizio Gestione API di AzureAzure API Management Service Reader Dispone di accesso in sola lettura a servizi ed entità Gestione API.Has read-only access to API Management services and entities.
Operatore del servizio Gestione API di AzureAzure API Management Service Operator Può gestire i servizi di Gestione API, ma non le entità.Can manage API Management services, but not entities.
Editor del servizio Gestione API di AzureAzure API Management Service Editor Può gestire le entità di Gestione API, ma non i servizi.Can manage API Management entities, but not services.
Gestione contenuto del servizio Gestione API di AzureAzure API Management Content Manager Può gestire il portale per sviluppatori.Can manage the developer portal. Accesso in sola lettura a servizi ed entità.Read-only access to services and entities.

[1] Accesso in lettura a servizi ed entità di Gestione API (ad esempio, API e criteri).[1] Read access to API Management services and entities (for example, APIs and policies).

[2] Accesso in scrittura a servizi ed entità di Gestione API, tranne per le operazioni seguenti: creazione, eliminazione e ridimensionamento di istanze; configurazione di VPN; configurazione di domini personalizzati.[2] Write access to API Management services and entities except the following operations: instance creation, deletion, and scaling; VPN configuration; and custom domain setup.

* Il ruolo Editor del servizio sarà disponibile dopo la migrazione dell'intera interfaccia utente di amministrazione dal portale di pubblicazione esistente al portale di Azure. Il ruolo Gestione contenuto sarà disponibile dopo il refactoring del portale di pubblicazione affinché contenga solo le funzionalità relative alla gestione del portale per sviluppatori.* The Service Editor role will be available after we migrate all the admin UI from the existing publisher portal to the Azure portal. The Content Manager role will be available after the publisher portal is refactored to only contain functionality related to managing the developer portal.

Ruoli personalizzatiCustom roles

Se i ruoli predefiniti non soddisfano le proprie esigenze, è possibile creare ruoli personalizzati per fornire una gestione degli accessi più granulare per le entità di Gestione API.If none of the built-in roles meet your specific needs, custom roles can be created to provide more granular access management for API Management entities. È ad esempio possibile creare un ruolo personalizzato con accesso in sola lettura a un servizio di Gestione API, ma che ha accesso in scrittura solo a un'API specifica.For example, you can create a custom role that has read-only access to an API Management service, but only has write access to one specific API. Per altre informazioni sui ruoli personalizzati, vedere Ruoli personalizzati nel Controllo degli accessi in base al ruolo di Azure.To learn more about custom roles, see Custom roles in Azure RBAC.

Quando si crea un ruolo personalizzato, è più semplice iniziare con uno dei ruoli predefiniti.When you create a custom role, it's easier to start with one of the built-in roles. Modificare gli attributi per aggiungere Actions, NotActions o AssignableScopes e quindi salvare le modifiche come nuovo ruolo.Edit the attributes to add Actions, NotActions, or AssignableScopes, and then save the changes as a new role. L'esempio seguente inizia con il ruolo "Azure API Management Service Reader Role" (Ruolo lettura del servizio Gestione API di Azure) e crea un ruolo personalizzato denominato "Calculator API Editor" (Editor API di calcolo).The following example begins with the "Azure API Management Service Reader" role and creates a custom role called "Calculator API Editor." È possibile assegnare il ruolo personalizzato a un'API specifica.You can assign the custom role to a specific API. Di conseguenza, questo ruolo può accedere solo a tale API.Consequently, this role only has access to that API.

$role = Get-AzureRmRoleDefinition "API Management Service Reader Role"
$role.Id = $null
$role.Name = 'Calculator API Contributor'
$role.Description = 'Has read access to Contoso APIM instance and write access to the Calculator API.'
$role.Actions.Add('Microsoft.ApiManagement/service/apis/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<service name>/apis/<api ID>')
New-AzureRmRoleDefinition -Role $role
New-AzureRmRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<service name>/apis/<api ID>'

Nell'articolo Operazioni di provider di risorse con Azure Resource Manager è disponibile l'elenco delle autorizzazioni che possono essere concesse a livello di Gestione API.The Azure Resource Manager resource provider operations article contains the list of permissions that can be granted on the API Management level.

VideoVideo

Passaggi successiviNext steps

Per altre informazioni sul controllo degli accessi in base al ruolo in Azure, vedere gli articoli seguenti:To learn more about Role-Based Access Control in Azure, see the following articles: