Condividi tramite


Autenticazione e autorizzazione per gli endpoint online

SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)Python SDK azure-ai-ml v2 (corrente)

Questo articolo illustra i concetti relativi all'identità e all'autorizzazione nel contesto degli endpoint online di Azure Machine Learning. L'articolo illustra gli ID di Microsoft Entra che supportano il controllo e le autorizzazioni degli accessi in base al ruolo. Un ID Microsoft Entra viene chiamato identità utente o identità dell'endpoint, a seconda dello scopo.

  • Un'identità utente è un ID Microsoft Entra che può creare un endpoint e le relative distribuzioni o interagire con endpoint o aree di lavoro. Un'identità utente genera richieste agli endpoint, alle distribuzioni o alle aree di lavoro. L'identità utente necessita di autorizzazioni appropriate per eseguire operazioni del piano di controllo e del piano dati sugli endpoint o sulle aree di lavoro.

  • Un'identità endpoint è un'istanza di Microsoft Entra ID che esegue il contenitore utente nelle distribuzioni. Il contenitore utente usa l'identità dell'endpoint per la distribuzione. L'identità dell'endpoint richiede anche le autorizzazioni appropriate per consentire al contenitore utente di interagire con le risorse in base alle esigenze. Ad esempio, l'identità dell'endpoint richiede le autorizzazioni appropriate per eseguire il pull delle immagini da Registro Azure Container o per interagire con altri servizi di Azure.

L'identità utente e l'identità dell'endpoint hanno requisiti di autorizzazione distinti. Per altre informazioni sulla gestione delle identità e delle autorizzazioni, vedere Come autenticare i client per gli endpoint online.

Importante

L'autenticazione con ID aad_token Entra di Microsoft è supportata solo per gli endpoint online gestiti. Per gli endpoint online kubernetes, è possibile usare una chiave o un'istanza di Azure Machine Learning aml_token.

Autorizzazioni e ambito per l'autorizzazione

Il controllo degli accessi in base al ruolo di Azure consente di definire e assegnare ruoli con un set di azioni consentite e/o negate in ambiti specifici. È possibile personalizzare questi ruoli e ambiti in base alle proprie esigenze aziendali. Gli esempi seguenti fungono da punto di partenza che è possibile estendere in base alle esigenze.

Per l'identità utente:

  • Per gestire le operazioni del piano di controllo e del piano dati, è possibile usare il ruolo predefinito AzureML Scienziato dei dati che include l'azione Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsdi autorizzazione .
  • Per controllare le operazioni per un endpoint specifico, usare l'ambito /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Per controllare le operazioni per tutti gli endpoint in un'area di lavoro, usare l'ambito /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Per l'identità dell'endpoint, per consentire al contenitore utente di leggere i BLOB, il ruolo predefinito Lettore di dati BLOB di archiviazione include l'azione Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readrelativa ai dati di autorizzazione.

Per altre informazioni sulla gestione dell'autorizzazione per le aree di lavoro di Azure Machine Learning, vedere Gestire l'accesso ad Azure Machine Learning. Per altre informazioni sulla definizione del ruolo, sull'ambito e sull'assegnazione di ruolo, vedere Controllo degli accessi in base al ruolo di Azure. Per comprendere l'ambito per i ruoli assegnati, vedere Informazioni sull'ambito per il controllo degli accessi in base al ruolo di Azure.

Autorizzazioni necessarie per l'identità utente

Quando si accede al tenant di Azure con l'account Microsoft, ad esempio usando az login, si completa il passaggio di autenticazione utente che determina l'identità come utente. Per creare un endpoint online in un'area di lavoro di Azure Machine Learning, l'identità necessita dell'autorizzazione appropriata, detta anche autorizzazione o autenticazione. Le identità utente necessitano delle autorizzazioni appropriate per eseguire operazioni sia sul piano di controllo che sul piano dati.

Operazioni del piano di controllo

Le operazioni del piano di controllo controllano e modificano gli endpoint online. Queste operazioni includono operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD) su endpoint online e distribuzioni online. Per gli endpoint e le distribuzioni online, le richieste per eseguire operazioni del piano di controllo passano all'area di lavoro di Azure Machine Learning.

Autenticazione per le operazioni del piano di controllo

Per le operazioni del piano di controllo, usare un token Microsoft Entra per autenticare un client nell'area di lavoro. A seconda del caso d'uso, è possibile scegliere tra diversi flussi di lavoro di autenticazione per ottenere questo token. L'identità utente deve avere anche il ruolo di Controllo degli accessi in base al ruolo di Azure appropriato per accedere alle risorse.

Autorizzazione per le operazioni del piano di controllo

Per le operazioni del piano di controllo, l'identità utente deve avere il ruolo controllo degli accessi in base al ruolo di Azure appropriato assegnato per accedere alle risorse. In particolare, per le operazioni CRUD su endpoint e distribuzioni online, l'identità utente deve avere ruoli assegnati per le azioni seguenti:

Operazione Ruolo Controllo degli accessi in base al ruolo di Azure obbligatorio Ambito
Eseguire operazioni di creazione/aggiornamento su endpoint e distribuzioni online. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Area di lavoro
Eseguire operazioni di eliminazione su endpoint e distribuzioni online. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Area di lavoro
Eseguire operazioni di creazione/aggiornamento/eliminazione su endpoint e distribuzioni online tramite studio di Azure Machine Learning. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.Resources/deployments/write Gruppo di risorse che contiene l'area di lavoro
Eseguire operazioni di lettura su endpoint e distribuzioni online. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Area di lavoro
Recuperare un token di Azure Machine Learning (aml_token) per richiamare endpoint online gestiti e Kubernetes dall'area di lavoro. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Endpoint
Recuperare una chiave per richiamare gli endpoint online (gestiti e Kubernetes) dall'area di lavoro. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Endpoint
Rigenerare le chiavi per gli endpoint online gestiti e Kubernetes. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Endpoint
Recuperare un'istanza di Microsoft Entra aad_token per richiamare gli endpoint online gestiti. Non richiede un ruolo Non applicabile*

* È possibile recuperare Microsoft Entra direttamente da Microsoft Entra aad_token ID dopo l'accesso, in modo che l'operazione non richieda l'autorizzazione controllo degli accessi in base al ruolo di Azure per l'area di lavoro.

Autorizzazioni per l'identità utente per applicare l'accesso agli archivi segreti predefiniti

Se si usa la funzionalità di inserimento dei segreti e si imposta il flag per applicare l'accesso agli archivi segreti predefiniti durante la creazione di endpoint, l'identità utente deve disporre dell'autorizzazione per leggere i segreti dalle connessioni dell'area di lavoro.

Un'identità dell'endpoint può essere un'identità assegnata dal sistema (SAI) o un'identità assegnata dall'utente (UAI). Quando l'endpoint viene creato con un sai e il flag per applicare l'accesso agli archivi segreti predefiniti è impostato, un'identità utente deve disporre delle autorizzazioni per leggere i segreti dalle connessioni dell'area di lavoro durante la creazione di un endpoint e distribuzioni. Questa restrizione garantisce che solo un'identità utente con l'autorizzazione per leggere i segreti possa concedere all'identità endpoint l'autorizzazione per leggere i segreti.

Se un'identità utente che non dispone dell'autorizzazione per leggere i segreti dalle connessioni all'area di lavoro tenta di creare un endpoint o una distribuzione con un sai e il flag dell'endpoint è impostato per applicare l'accesso agli archivi segreti predefiniti, all'endpoint o alla creazione della distribuzione viene rifiutato.

Se l'endpoint viene creato con un UAI o l'endpoint usa un sai, ma il flag per applicare l'accesso agli archivi segreti predefiniti non è impostato, l'identità utente non deve essere in grado di leggere i segreti dalle connessioni dell'area di lavoro per creare un endpoint o una distribuzione. In questo caso, all'identità dell'endpoint non viene concessa automaticamente l'autorizzazione per leggere i segreti, ma è possibile concedere manualmente questa autorizzazione assegnando il ruolo appropriato.

Indipendentemente dal fatto che l'assegnazione di ruolo sia automatica o manuale, il recupero del segreto e l'inserimento viene attivato se è stato eseguito il mapping delle variabili di ambiente con riferimenti segreti nella definizione dell'endpoint o della distribuzione. La funzionalità di inserimento dei segreti usa l'identità dell'endpoint per eseguire il recupero e l'inserimento dei segreti. Per altre informazioni sull'inserimento di segreti, vedere Inserimento di segreti negli endpoint online.

Operazioni del piano dati

Le operazioni del piano dati non modificano gli endpoint online, ma usano i dati che interagiscono con gli endpoint. Un esempio di operazione del piano dati consiste nell'inviare una richiesta di assegnazione dei punteggi a un endpoint online e ottenere una risposta dallo stesso. Per gli endpoint e le distribuzioni online, le richieste di eseguire operazioni del piano dati passano all'URI di assegnazione dei punteggi dell'endpoint.

Autenticazione per le operazioni del piano dati

Per le operazioni del piano dati, è possibile scegliere tra i modi seguenti per autenticare un client per inviare richieste all'URI di assegnazione dei punteggi di un endpoint:

  • Chiave
  • Azure Machine Learning aml_token
  • Microsoft Entra aad_token

Per altre informazioni su come autenticare i client per le operazioni del piano dati, vedere Come autenticare i client per gli endpoint online.

Autorizzazione per le operazioni del piano dati

Per le operazioni del piano dati, l'identità utente necessita di ruoli appropriati del controllo degli accessi in base al ruolo di Azure per consentire l'accesso alle risorse solo se l'endpoint è impostato per l'uso di Microsoft Entra aad_token. Per le operazioni del piano dati su endpoint e distribuzioni online, l'identità utente deve avere un ruolo assegnato con le azioni seguenti:

Operazione Ruolo Controllo degli accessi in base al ruolo di Azure obbligatorio Ambito
Richiamare endpoint online con key o Azure Machine Learning aml_token. Non richiede un ruolo. Non applicabile
Richiamare endpoint online gestiti con Microsoft Entra aad_token. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Endpoint
Richiamare gli endpoint online kubernetes con Microsoft Entra aad_token. L'endpoint online Kubernetes non supporta il token di Microsoft Entra per operazioni del piano dati. Non applicabile

Autorizzazioni necessarie per l'identità endpoint

Una distribuzione online esegue il contenitore utente con l'identità endpoint, ovvero l'identità gestita associata all'endpoint. L'identità dell'endpoint è un ID Microsoft Entra che supporta il controllo degli accessi in base al ruolo di Azure. È quindi possibile assegnare ruoli di Azure all'identità endpoint per controllare le autorizzazioni necessarie per eseguire le operazioni. Questa identità dell'endpoint può essere un sai o un UAI. È possibile decidere se usare un'identità assegnata dal sistema o un'identità assegnata dall'utente quando si crea l'endpoint.

  • Per un sai, l'identità viene creata automaticamente quando si crea l'endpoint e i ruoli con autorizzazioni fondamentali, ad esempio l'autorizzazione pull del Registro Contenitori AcrPull e il lettore di dati dei BLOB di archiviazione, vengono assegnati automaticamente.
  • Per un'interfaccia utente utente, è prima necessario creare l'identità e quindi associarla all'endpoint quando si crea l'endpoint. L'utente è anche responsabile dell'assegnazione dei ruoli appropriati all'identità assegnata dall'utente in base alle esigenze.

Assegnazione automatica dei ruoli per l'identità endpoint

Se l'identità dell'endpoint è un sai, i ruoli seguenti vengono assegnati all'identità dell'endpoint per praticità.

Ruolo Descrizione Condizione per l'assegnazione automatica dei ruoli
AcrPull Consente all'identità dell'endpoint di eseguire il pull delle immagini dal Registro Azure Container associato all'area di lavoro L'identità dell'endpoint è un sai.
Lettore dei dati del BLOB di archiviazione Consente all'identità dell'endpoint di leggere i BLOB dall'archivio dati predefinito dell'area di lavoro L'identità dell'endpoint è un sai.
Writer metriche di AzureML (anteprima) Consente all'identità dell'endpoint di scrivere metriche nell'area di lavoro L'identità dell'endpoint è un sai.
Lettore dei segreti di connessione dell'area di lavoro di Azure Machine Learning Consente all'identità dell'endpoint di leggere i segreti dalle connessioni all'area di lavoro L'identità dell'endpoint è un sai e la creazione dell'endpoint ha un flag per applicare l'accesso agli archivi segreti predefiniti. L'identità utente che crea l'endpoint ha anche l'autorizzazione per leggere i segreti dalle connessioni dell'area di lavoro.
  • Se l'identità dell'endpoint è un sai e il flag di applicazione non è impostato o l'identità utente non ha l'autorizzazione per leggere i segreti, non esiste alcuna assegnazione di ruolo automatica per il ruolo Lettore segreti di connessione dell'area di lavoro di Azure Machine Learning. Per altre informazioni, vedere Come distribuire l'endpoint online con l'inserimento di segreti.
  • Se l'identità dell'endpoint è un'interfaccia utente utente, non esiste alcuna assegnazione di ruolo automatica per il ruolo lettore dei segreti di connessione dell'area di lavoro di Azure Machine Learning. In questo caso, è necessario assegnare manualmente i ruoli all'identità endpoint in base alle esigenze.

Per altre informazioni sul ruolo Lettore segreti di connessione dell'area di lavoro di Azure Machine Learning, vedere Assegnare le autorizzazioni all'identità.