Come usare il controllo degli accessi in base al ruolo in Gestione API di Azure

SI APPLICA A: Tutti i livelli di Gestione API

Gestione API di Azure si basa sul controllo degli accessi in base al ruolo di Azure (RBAC 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). Questo articolo offre una panoramica dei ruoli predefiniti e personalizzati in Gestione API. Per altre informazioni sulla gestione degli accessi nel portale di Azure, vedere Introduzione alla gestione degli accessi nel portale di Azure.

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Ruoli del servizio predefiniti

In Gestione API sono attualmente disponibili tre ruoli predefiniti e altri due ne verranno aggiunti prossimamente. Questi ruoli possono essere assegnati ad ambiti diversi, tra cui una sottoscrizione, un gruppo di risorse e una singola istanza di Gestione API. Ad esempio, se il ruolo di "Lettura del servizio Gestione API" 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.

La tabella seguente contiene descrizioni brevi dei ruoli predefiniti. È 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. Per informazioni dettagliate su come assegnare ruoli predefiniti, vedere Assegnare ruoli di Azure per gestire l'accesso alle risorse della sottoscrizione di Azure.

Ruolo Accesso in lettura[1] Accesso in scrittura[2] Creazione, eliminazione e ridimensionamento di servizi, VPN e configurazione dominio personalizzato Accesso al portale di pubblicazione legacy Descrizione
Collaboratore servizio Gestione API Utente con privilegi avanzati. Dispone di accesso CRUD completo a servizi ed entità di Gestione API (ad esempio, API e criteri). Dispone di accesso al portale di pubblicazione legacy.
Lettura del servizio Gestione API Dispone di accesso in sola lettura a servizi ed entità Gestione API.
Operatore del servizio Gestione API Può gestire i servizi di Gestione API, ma non le entità.

[1] Accesso in lettura a servizi ed entità di Gestione API (ad esempio, API e criteri).

[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.

Ruoli dell'area di lavoro predefiniti

Gestione API fornisce i ruoli predefiniti seguenti per i collaboratori nelle aree di lavoro in un'istanza di Gestione API.

A un collaboratore dell'area di lavoro deve essere assegnato sia un ruolo con ambito area di lavoro che un ruolo con ambito servizio.

Ruolo Ambito Descrizione
Collaboratore all'area di lavoro Gestione API area di lavoro Può gestire l'area di lavoro e la visualizzazione, ma non modificarne i membri. Questo ruolo deve essere assegnato nell'ambito dell'area di lavoro.
Lettore dell'area di lavoro gestione API area di lavoro Ha accesso in sola lettura alle entità nell'area di lavoro. Questo ruolo deve essere assegnato nell'ambito dell'area di lavoro.
Sviluppatore API dell'area di lavoro gestione API area di lavoro Ha accesso in lettura alle entità nell'area di lavoro e accesso in lettura e scrittura alle entità per la modifica delle API. Questo ruolo deve essere assegnato nell'ambito dell'area di lavoro.
Product Manager API dell'area di lavoro Gestione API area di lavoro Ha accesso in lettura alle entità nell'area di lavoro e accesso in lettura e scrittura alle entità per la pubblicazione delle API. Questo ruolo deve essere assegnato nell'ambito dell'area di lavoro.
Developer API dell'area di lavoro del servizio Gestione API servizio Ha accesso in lettura a tag e prodotti e accesso in scrittura per consentire:

▪️ Assegnazione di API ai prodotti
▪️ Assegnazione di tag a prodotti e API

Questo ruolo deve essere assegnato nell'ambito del servizio.
Product Manager API dell'area di lavoro del servizio Gestione API servizio Ha lo stesso accesso dello Sviluppatore API dell'area di lavoro del servizio Gestione API, nonché l'accesso in lettura agli utenti e l'accesso in scrittura per consentire l'assegnazione degli utenti ai gruppi. Questo ruolo deve essere assegnato nell'ambito del servizio.

Ruoli personalizzati

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. È 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. Per altre informazioni sui ruoli personalizzati, vedere Ruoli personalizzati nel Controllo degli accessi in base al ruolo di Azure.

Nota

Per poter visualizzare un'istanza di Gestione API nel portale di Azure, un ruolo personalizzato deve includere l'azione Microsoft.ApiManagement/service/read.

Quando si crea un ruolo personalizzato, è più semplice iniziare con uno dei ruoli predefiniti. Modificare gli attributi per aggiungere Actions, NotActions o AssignableScopes e quindi salvare le modifiche come nuovo ruolo. L'esempio seguente inizia con il ruolo "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). È possibile assegnare il ruolo personalizzato nell'ambito di un'API specifica. Di conseguenza, questo ruolo può accedere solo a tale API.

$role = Get-AzRoleDefinition "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.Actions.Add('Microsoft.ApiManagement/service/apis/*/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<Azure subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>')
New-AzRoleDefinition -Role $role
New-AzRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>'

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.

Passaggi successivi

Per altre informazioni sul controllo degli accessi in base al ruolo in Azure, vedere gli articoli seguenti: