Condividi tramite


Controllo degli accessi in base al ruolo in Studio AI della piattaforma Azure

Importante

Alcune funzionalità descritte in questo articolo potrebbero essere disponibili solo in anteprima. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Questo articolo illustra come gestire l'accesso (autorizzazione) a un hub di Studio AI della piattaforma Azure. Il controllo degli accessi in base al ruolo di Azure (Azure RBAC) viene usato per gestire l'accesso alle risorse di Azure, ad esempio la possibilità di creare nuove risorse o di usare quelle esistenti. Agli utenti con Microsoft Entra ID vengono assegnati ruoli specifici, che concedono l'accesso alle risorse. Azure fornisce sia ruoli predefiniti che la possibilità di creare ruoli personalizzati.

Avviso

L'applicazione di alcuni ruoli potrebbe limitare la funzionalità dell'interfaccia utente in Studio AI della piattaforma Azure per altri utenti. Ad esempio, se il ruolo di un utente non consente di creare un'istanza di ambiente di calcolo, l'opzione per creare tale istanza non è disponibile in Studio. Questo comportamento è previsto e impedisce all'utente di provare a eseguire operazioni che restituirebbero un errore di accesso negato.

Hub di Studio aI e progetto

In Studio AI della piattaforma Azure sono disponibili due livelli di accesso: l'hub e il progetto. L'hub è la sede dell'infrastruttura (inclusa la configurazione della rete virtuale, le chiavi gestite dal cliente, le identità gestite e i criteri) nonché la posizione in cui si configurano i Servizi di Azure AI. L'accesso all'hub consente di modificare l'infrastruttura, creare nuovi hub e creare progetti. I progetti sono un subset della risorsa dell'hub che funge da aree di lavoro che consentono di creare e distribuire i sistemi di intelligenza artificiale. All'interno di un progetto è possibile sviluppare flussi, distribuire modelli e gestire gli asset del progetto. L'accesso al progetto consente di sviluppare l'intelligenza artificiale end-to-end sfruttando al tempo stesso la configurazione dell'infrastruttura nell'hub.

Diagramma della relazione tra le risorse di Studio AI.

Uno dei principali vantaggi della relazione tra l'hub e il progetto è che gli sviluppatori possono creare progetti personalizzati che ereditano le impostazioni di sicurezza dell'hub. È anche possibile che gli sviluppatori siano collaboratori di un progetto e non possano creare nuovi progetti.

Ruoli predefiniti per l'hub

L'hub di Studio AI include ruoli predefiniti disponibili per impostazione predefinita.

Ecco una tabella dei ruoli predefiniti e delle relative autorizzazioni per l'hub:

Ruolo Descrizione
Proprietario Accesso completo all'hub, inclusa la possibilità di gestire e creare nuovi hub e assegnare le autorizzazioni. Questo ruolo viene assegnato automaticamente al creatore dell'hub
Collaboratore L'utente ha accesso completo all'hub, inclusa la possibilità di creare nuovi hub, ma non è in grado di gestire le autorizzazioni dell'hub per la risorsa esistente.
Sviluppatore di Azure per intelligenza artificiale Eseguire tutte le azioni tranne creare nuovi hub e gestire le autorizzazioni dell'hub. Ad esempio, gli utenti possono creare progetti, risorse di calcolo e connessioni. Gli utenti possono assegnare autorizzazioni all'interno del progetto. Gli utenti possono interagire con le risorse di Azure per intelligenza artificiale esistenti, ad esempio OpenAI di Azure, Azure AI Search e Servizi di Azure AI.
Operatore di distribuzione dell'inferenza di Azure per intelligenza artificiale Eseguire tutte le azioni necessarie per creare una distribuzione di risorse all'interno di un gruppo di risorse.
Lettore Accesso in sola lettura all'hub. Questo ruolo viene assegnato automaticamente a tutti i membri del progetto all'interno dell'hub.

La differenza principale tra Collaboratore e Sviluppatore di Azure per intelligenza artificiale è la possibilità di creare nuovi hub. Se non si vuole che gli utenti creino nuovi hub (a causa della quota, dei costi o solo alla gestione del numero di hub disponibili), assegnare il ruolo di Sviluppatore di intelligenza artificiale.

Solo i ruoli di Proprietario e Collaboratore consentono di creare un hub. Al momento, i ruoli personalizzati non possono concedere l'autorizzazione per creare gli hub.

Il set completo di autorizzazioni per il nuovo ruolo di "Sviluppatore di Azure per intelligenza artificiale" è il seguente:

{
    "Permissions": [ 
        { 
        "Actions": [ 
    
            "Microsoft.MachineLearningServices/workspaces/*/read", 
            "Microsoft.MachineLearningServices/workspaces/*/action", 
            "Microsoft.MachineLearningServices/workspaces/*/delete", 
            "Microsoft.MachineLearningServices/workspaces/*/write" 
        ], 
    
        "NotActions": [ 
            "Microsoft.MachineLearningServices/workspaces/delete", 
            "Microsoft.MachineLearningServices/workspaces/write", 
            "Microsoft.MachineLearningServices/workspaces/listKeys/action", 
            "Microsoft.MachineLearningServices/workspaces/hubs/write", 
            "Microsoft.MachineLearningServices/workspaces/hubs/delete", 
            "Microsoft.MachineLearningServices/workspaces/featurestores/write", 
            "Microsoft.MachineLearningServices/workspaces/featurestores/delete" 
        ], 
        "DataActions": [ 
            "Microsoft.CognitiveServices/accounts/OpenAI/*", 
            "Microsoft.CognitiveServices/accounts/SpeechServices/*", 
            "Microsoft.CognitiveServices/accounts/ContentSafety/*" 
        ], 
        "NotDataActions": [], 
        "Condition": null, 
        "ConditionVersion": null 
        } 
    ] 
}

Ruoli predefiniti per i progetti

I progetti in Studio AI include ruoli predefiniti disponibili per impostazione predefinita.

Ecco una tabella dei ruoli predefiniti e delle relative autorizzazioni per il progetto:

Ruolo Descrizione
Proprietario Accesso completo al progetto, inclusa la possibilità di assegnare autorizzazioni agli utenti del progetto.
Collaboratore L'utente ha accesso completo al progetto, ma non può assegnare autorizzazioni agli utenti del progetto.
Sviluppatore di Azure per intelligenza artificiale L'utente può eseguire la maggior parte delle azioni, inclusa la creazione di distribuzioni, ma non può assegnare autorizzazioni agli utenti del progetto.
Operatore di distribuzione dell'inferenza di Azure per intelligenza artificiale Eseguire tutte le azioni necessarie per creare una distribuzione di risorse all'interno di un gruppo di risorse.
Lettore Accesso in sola lettura al progetto.

Quando a un utente viene concesso l'accesso a un progetto (ad esempio, tramite la gestione delle autorizzazioni di Studio AI), all'utente vengono assegnati automaticamente altri due ruoli. Il primo ruolo è Lettore nell'hub. Il secondo ruolo è il ruolo Operatore per la distribuzione dell'inferenza, che consente all'utente di creare distribuzioni nel gruppo di risorse in cui si trova il progetto. Questo ruolo è composto da queste due autorizzazioni: "Microsoft.Authorization/*/read" e "Microsoft.Resources/deployments/*".

Per completare lo sviluppo e la distribuzione dell'intelligenza artificiale end-to-end, gli utenti hanno bisogno solo di questi due ruoli assegnati automaticamente e del ruolo di Collaboratore o di Sviluppatore di Azure per intelligenza artificiale in un progetto.

Le autorizzazioni minime necessarie per creare un progetto sono un ruolo con l'azione consentita di Microsoft.MachineLearningServices/workspaces/hubs/join nell'hub. Il ruolo predefinito di Sviluppatore di Azure per intelligenza artificiale ha questa autorizzazione.

Autorizzazioni del controllo degli accessi in base al ruolo di Azure del servizio di dipendenza

L'hub ha dipendenze da altri servizi di Azure. La tabella seguente elenca le autorizzazioni necessarie per questi servizi quando si crea un hub. La persona che crea l'hub necessita di queste autorizzazioni. La persona che crea un progetto dall'hub non ne ha bisogno.

Autorizzazione Scopo
Microsoft.Storage/storageAccounts/write Creare un account di archiviazione con i parametri specificati, aggiornare le proprietà o i tag o aggiungere un dominio personalizzato per l'account di archiviazione specificato.
Microsoft.KeyVault/vaults/write Crea un nuovo insieme di credenziali delle chiavi o aggiornare le proprietà di un insieme di credenziali delle chiavi esistente. Alcune proprietà potrebbero richiedere più autorizzazioni.
Microsoft.CognitiveServices/accounts/write Scrivere gli account API.
Microsoft.MachineLearningServices/workspaces/write Crea una nuova area di lavoro o aggiornare le proprietà di una esistente.

Configurazione di esempio del controllo degli accessi in base al ruolo aziendale

Nella tabella di seguito è riportato un esempio di come configurare il controllo degli accessi in base al ruolo per Studio AI della piattaforma Azure per un'azienda.

Utente tipo Ruolo Scopo
Amministratore IT Proprietario dell'hub L'amministratore IT può assicurarsi che l'hub sia configurato in base agli standard aziendali. Può assegnare ai manager il ruolo Collaboratore nella risorsa se vuole consentirgli di creare nuovi hub. In alternativa, può assegnare ai manager il ruolo Sviluppatore di Azure per intelligenza artificiale nella risorsa per non consentire la creazione di un nuovo hub.
Manager Collaboratore o Sviluppatore di Azure per intelligenza artificiale nell'hub I manager possono gestire l'hub, controllare le risorse di calcolo, controllare le connessioni e creare connessioni condivise.
Responsabile del team/Responsabile degli sviluppatori Sviluppatore di Azure per intelligenza artificiale nell'hub I responsabili degli sviluppatori possono creare progetti per il team e risorse condivise (ad esempio, risorse di calcolo e connessioni) a livello dell'hub. Dopo la creazione del progetto, i proprietari del progetto possono invitare altri membri.
Membri del team/sviluppatori Collaboratore o Sviluppatore di Azure per intelligenza artificiale nel progetto Gli sviluppatori possono compilare e distribuire modelli di intelligenza artificiale in un progetto e possono creare asset che consentono lo sviluppo, ad esempio risorse di calcoli e connessioni.

Accesso alle risorse create all'esterno dell'hub

Quando si crea un hub, le autorizzazioni predefinite per il controllo degli accessi in base al ruolo concedono l'accesso per l'uso della risorsa. Tuttavia, se si vogliono usare le risorse al di fuori degli elementi creati per conto dell'utente, è necessario assicurarsi che:

  • Siano state configurate le autorizzazioni per consentire l'accesso alla risorsa che si sta tentando di usare.
  • L'hub è autorizzato ad accedervi.

Ad esempio, se si sta provando a utilizzare una nuova risorsa di archiviazione BLOB, è necessario assicurarsi che l'identità gestita dell'hub venga aggiunta al ruolo di Lettore della risorsa di archiviazione BLOB per il BLOB. Se si sta provando a usare una nuova origine di Azure AI Search, potrebbe essere necessario aggiungere l'hub alle assegnazioni del ruolo di Azure AI Search.

Gestire l'accesso con i ruoli

Se si è proprietari di un hub, è possibile aggiungere e rimuovere ruoli per AI Studio. Passare alla pagina Home in AI Studio e selezionare l'hub. Selezionare quindi Utenti per aggiungere e rimuovere utenti per l'hub. È anche possibile gestire le autorizzazioni dal portale di Azure in Controllo di accesso (IAM) o tramite l'interfaccia della riga di comando di Azure. Ad esempio, usare l'interfaccia della riga di comando di Azure per assegnare il ruolo di Sviluppatore di Azure per intelligenza artificiale a "joe@contoso.com" per il gruppo di risorse "this-rg" con il comando seguente:

az role assignment create --role "Azure AI Developer" --assignee "joe@contoso.com" --resource-group this-rg 

Creare ruoli personalizzati

Nota

Per creare un nuovo hub, è necessario il ruolo di Proprietario o Collaboratore. Al momento, un ruolo personalizzato, anche con tutte le azioni consentite, non consentirà di creare un hub.

Se i ruoli predefiniti non sono sufficienti, è possibile creare ruoli personalizzati. I ruoli personalizzati possono avere le autorizzazioni di lettura, scrittura, eliminazione e calcolo delle risorse in Studio AI. È possibile rendere il ruolo disponibile a un livello di progetto specifico, a un livello di gruppo di risorse specifico o a un livello di sottoscrizione specifico.

Nota

Per creare ruoli personalizzati all'interno di tale risorsa, è necessario essere proprietari della risorsa a tale livello.

L'esempio JSON seguente definisce un ruolo di sviluppatore di AI Studio personalizzato a livello di abbonamento:

{
    "properties": {
        "roleName": "AI Studio Developer",
        "description": "Custom role for AI Studio. At subscription level",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/endpoints/write",
                    "Microsoft.Storage/storageAccounts/write",
                    "Microsoft.Resources/deployments/validate/action",
                    "Microsoft.KeyVault/vaults/write",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read",
                    "Microsoft.CognitiveServices/*/read"
                ],
                "notActions": [
                    "Microsoft.MachineLearningServices/workspaces/delete",
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/listKeys/action",
                    "Microsoft.MachineLearningServices/workspaces/hubs/write",
                    "Microsoft.MachineLearningServices/workspaces/hubs/delete",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/write",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
                ],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action"
                ],
                "notDataActions": []
            }
        ]
    }
}

Scenario: usare una chiave gestita dal cliente

Quando si configura un hub per usare una chiave gestita dal cliente, per archiviare la chiave si usa Azure Key Vault. L'utente o l'entità servizio usata per creare l'area di lavoro deve avere accesso come Proprietario o Collaboratore all'insieme di credenziali delle chiavi.

Se l'hub di AI Studio è configurato con una identità gestita assegnata dall'utente, all'identità devono essere concessi i ruoli seguenti. Questi ruoli consentono all'identità gestita di creare le risorse di Archiviazione di Azure, Azure Cosmos DB e Ricerca cognitiva di Azure usate quando si usa una chiave gestita dal cliente:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

All'interno dell'insieme di credenziali delle chiavi, l'utente o l'entità servizio deve avere accesso alla chiave per le operazioni di creazione, recupero, eliminazione e rimozione definitiva tramite un criterio di accesso dell'insieme di credenziali delle chiavi. Per altre informazioni, vedere Sicurezza in Azure Key Vault.

Scenario: Usare una risorsa OpenAI di Azure esistente

Quando si crea una connessione a una risorsa OpenAI di Azure esistente, è anche necessario assegnare ruoli agli utenti in modo che possano accedere alla risorsa. È consigliabile assegnare il ruolo Utente OpenAI di Servizi cognitivi o Collaboratore OpenAI di Servizi cognitivi, a seconda delle attività da eseguire. Per informazioni su questi ruoli e sulle attività abilitate, vedere Ruoli OpenAI di Azure.

Scenario: Usare Registro contenitori di Azure

Un'istanza di Registro Azure Container è una dipendenza facoltativa per l'hub di Studio AI della piattaforma Azure. La tabella seguente elenca la matrice di supporto durante l'autenticazione di un hub in Registro Azure Container, a seconda del metodo di autenticazione e della configurazione dell'accesso alla rete pubblica del Registro Azure Container.

Authentication method L'accesso alla rete pubblica è
disabilitato
Registro Azure Container
Accesso alla rete pubblica abilitato
Utente amministratore
Un'identità gestita assegnata dal sistema hub Studio AI
L'identità gestita assegnata dall'utente dell'hub di Studio AI
con il ruolo ACRPull assegnato all'identità

Un'identità gestita assegnata dal sistema è automaticamente assegnata ai ruoli corretti quando viene creato l'hub. Se si usa un'identità gestita assegnata dall'utente, è necessario assegnare il ruolo ACRPull all'identità.

Scenario: usare Azure Application Insights per la registrazione

Azure Application Insights è una dipendenza facoltativa per l'hub di Studio AI della piattaforma Azure. La tabella seguente elenca le autorizzazioni necessarie se si vuole usare Application Insights quando si crea un hub. La persona che crea l'hub necessita di queste autorizzazioni. La persona che crea un progetto dall'hub non ha bisogno di queste autorizzazioni.

Autorizzazione Scopo
Microsoft.Insights/Components/Write Scrivere nella configurazione di un componente di Application Insights.
Microsoft.OperationalInsights/workspaces/write Creare una nuova area di lavoro o collegarsi a un'area di lavoro esistente fornendo l'ID cliente dell'area di lavoro esistente.

Scenario: procuratore unità elaborate con provisioning

L'esempio seguente definisce un ruolo personalizzato in grado di ottenere unità elaborate con provisioning (PTU).

{
    "properties": {
        "roleName": "PTU procurer",
        "description": "Custom role to purchase PTU",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.CognitiveServices/locations/commitmentTiers/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.Features/features/read",
                    "Microsoft.Features/providers/features/read",
                    "Microsoft.Features/providers/features/register/action",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/operations/read",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Scenario: API Assistenti Azure OpenAI

L'esempio seguente definisce un ruolo per uno sviluppatore usando Assistenti Azure OpenAI.

{
    "id": "",
    "properties": {
        "roleName": "CognitiveServices OpenAI Assistants API Developer",
        "description": "Custom role to work with AOAI Assistants API",
        "assignableScopes": [
            "<your-scope>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/*/read",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/steps/read"
                ],
                "notDataActions": []
            }
        ]
    }
}

Passaggi successivi