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'istanza di Microsoft Entra ID che può creare un endpoint e le relative distribuzioni oppure 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 effettuare operazioni sul piano di controllo e sul 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 di Kubernetes, è possibile usare una chiave o un componente 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à endpoint, per consentire al contenitore utente di leggere i BLOB, il Ruolo con autorizzazioni di lettura per i dati dei BLOB di archiviazione predefinito che include l'azione dati di autorizzazione Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read.

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 dei ruoli assegnati, vedere Comprendere l'ambito per il RBAC 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 la tua identità come utente. Per creare un endpoint online in un'area di lavoro di Azure Machine Learning, l'identità necessita dei permessi adeguati, chiamati anche autorizzazione o authz. Le identità utente necessitano delle autorizzazioni appropriate per eseguire operazioni sia sul pianodi 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 anche disporre del ruolo 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 disporre del ruolo Controllo degli accessi in base al ruolo di Azure appropriato 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 richiesto 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 Punto finale
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 Punto finale
Rigenerare le chiavi per gli endpoint online gestiti e Kubernetes. Proprietario, Collaboratore o qualsiasi ruolo che consente Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Punto finale
Recuperare un aad_token di Microsoft Entra per richiamare gli endpoint online gestiti. Non richiede un ruolo Non applicabile*

* È possibile recuperare il Microsoft Entra aad_token direttamente da Microsoft Entra ID dopo aver effettuato l'accesso, in modo che l'operazione non richieda permessi di Azure RBAC sullo spazio di lavoro.

Autorizzazioni per l'identità utente per implementare l'accesso agli archivi dei 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 una SAI e viene impostato il flag per applicare l'accesso agli archivi segreti predefiniti, l'identità utente deve disporre dell'autorizzazione per leggere i segreti dalle connessioni all'area di lavoro durante la creazione di un endpoint e le 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, la creazione dell'endpoint o della distribuzione viene rifiutata.

Se l'endpoint viene creato con una UAI o usa una SAI, ma il flag per applicare l'accesso agli archivi segreti predefiniti non è impostato, non è necessario che l'identità utente sia 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 vengono attivati se hai eseguito la mappatura 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 utilizzano dati che interagiscono con questi ultimi. 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
  • aad_token di Microsoft Entra

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, la tua identità utente ha bisogno dei ruoli Azure RBAC appropriati per consentire l'accesso alle risorse solo se l'endpoint è impostato per utilizzare Microsoft Entra aad_token. In particolare, per le operazioni del piano dati su endpoint e distribuzioni online, è necessario che l'identità utente abbia un ruolo assegnato con le azioni seguenti:

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

Autorizzazioni necessarie per l'identità del punto finale

Una distribuzione online esegue il contenitore utente con l'identità endpoint, ovvero l'identità gestita associata all'endpoint. L'identità endpoint è un'istanza di Microsoft Entra ID 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 una SAI o una 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, come il permesso di pull del Container Registry AcrPull e il permesso Storage Blob Data Reader, vengono assegnati automaticamente.
  • Per un UAI, è necessario prima 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 di ruolo automatica per l'identità endpoint

Se l'identità dell'endpoint è un SAI, i seguenti ruoli 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 è una SAI.
Ruolo con autorizzazioni di lettura per i dati dei BLOB di archiviazione Consente all'identità dell'endpoint di leggere i BLOB dall'archivio dati predefinito dell'area di lavoro L'identità dell'endpoint è una SAI.
Scrittore di metriche AzureML (anteprima) Consente all'identità endpoint di scrivere metriche nell'area di lavoro L'identità dell'endpoint è una SAI.
Lettore dei segreti di connessione dell'area di lavoro di Azure Machine Learning Consente all'identità endpoint di leggere i segreti dalle connessioni dell'area di lavoro L'identità dell'endpoint è una SAI e la creazione dell'endpoint ha un flag per applicare l'accesso agli archivi dei segreti predefiniti. L'identità utente che crea l'endpoint ha anche l'autorizzazione per leggere i segreti dalle connessioni all'area di lavoro.
  • Se l'identità dell'endpoint è una SAI e il flag di applicazione non è impostato o l'identità utente non ha l'autorizzazione per leggere i segreti, il ruolo Lettore di segreti di connessione dell'area di lavoro di Azure Machine Learning non viene assegnato automaticamente. Per ulteriori informazioni, vedere Come distribuire l'endpoint online con l'inserimento delle credenziali segrete.
  • Se l'identità dell'endpoint è un'identità assegnata dall'utente (UAI), 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 ulteriori informazioni sul ruolo Lettore dei segreti di connessione dell'area di lavoro di Azure Machine Learning, vedere Assegnare le autorizzazioni all'identità.