Controllo degli accessi in base al ruolo per Microsoft Foundry (incentrato sull'hub) (versione classica)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Nota

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.

Importante

Questo articolo fornisce il supporto legacy per i progetti basati su hub. Non funzionerà per i progetti Foundry. Vedere Come si conosce il tipo di progetto di cui si dispone?

nota di compatibilità SDK: gli esempi di codice richiedono una versione specifica Microsoft Foundry SDK. Se si verificano problemi di compatibilità, valutare la possibilità di eseguire la migrazione da un progetto basato su hub a un progetto Foundry.

Suggerimento

È disponibile un articolo alternativo sul controllo degli accessi basato su ruoli focalizzato sul progetto Foundry: Controllo degli accessi in base al ruolo per Microsoft Foundry.

Questo articolo illustra come gestire l'accesso a livello di hub e progetto di Foundry. Usare il controllo degli accessi basato sui ruoli di Azure (Azure RBAC) per gestire l'accesso alle risorse Azure. Azure fornisce ruoli predefiniti e consente di creare ruoli personalizzati.

Hub Foundry e progetto

Nel portale di Foundry l'accesso ha due livelli: l'hub e il progetto. L'hub ospita l'infrastruttura (tra cui la configurazione della rete virtuale, le chiavi gestite dal cliente, le identità gestite dal cliente e i criteri). È qui che si configura Foundry Tools. L'accesso all'hub consente di modificare l'infrastruttura, creare hub e creare progetti. I progetti sono un subset dell'hub e fungono da aree di lavoro per compilare e distribuire sistemi di intelligenza artificiale. In un progetto sviluppare flussi, distribuire modelli e gestire gli asset di progetto. L'accesso al progetto consente di realizzare e distribuire l'intelligenza artificiale completa mentre si utilizza l'infrastruttura hub.

Diagramma che mostra la relazione tra le risorse di Foundry.

Un vantaggio fondamentale della relazione tra hub e progetto è che gli sviluppatori possono creare progetti che ereditano le impostazioni di sicurezza dell'hub. Alcuni sviluppatori sono collaboratori a un progetto e non possono creare nuovi progetti.

Ruoli predefiniti per l'hub

L'hub Foundry ha ruoli integrati disponibili di default.

Ruolo Descrizione
Proprietario Accesso completo all'hub, inclusa la possibilità di gestire gli hub, creare nuovi hub e assegnare autorizzazioni. Questo ruolo viene assegnato automaticamente all'autore 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.
Azure amministratore di intelligenza artificiale Assegnato automaticamente all'identità gestita assegnata dal sistema dell'hub. Concede le autorizzazioni minime necessarie all'identità gestita per eseguire attività.
Azure sviluppatore di intelligenza artificiale Eseguire tutte le azioni tranne la creazione di nuovi hub o la gestione delle autorizzazioni dell'hub. Gli utenti possono assegnare autorizzazioni all'interno del progetto.
Operatore di distribuzione dell'inferenza di intelligenza artificiale Azure 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 Azure sviluppatore di intelligenza artificiale è la possibilità di creare nuovi hub. Solo i ruoli Proprietario e Collaboratore consentono di creare un hub. I ruoli personalizzati non possono concedere la creazione dell'hub.

Azure ruolo di amministratore di intelligenza artificiale

Gli hub creati dopo il 19/11/2024 hanno l'identità gestita assegnata dal sistema all'amministratore di intelligenza artificiale Azure anziché Contributor.

{
  "permissions": [
    {
      "actions": [
        "Microsoft.Authorization/*/read",
        "Microsoft.CognitiveServices/*",
        "Microsoft.ContainerRegistry/registries/*",
        "Microsoft.DocumentDb/databaseAccounts/*",
        "Microsoft.Features/features/read",
        "Microsoft.Features/providers/features/read",
        "Microsoft.Features/providers/features/register/action",
        "Microsoft.Insights/alertRules/*",
        "Microsoft.Insights/components/*",
        "Microsoft.Insights/diagnosticSettings/*",
        "Microsoft.Insights/generateLiveToken/read",
        "Microsoft.Insights/logDefinitions/read",
        "Microsoft.Insights/metricAlerts/*",
        "Microsoft.Insights/metricdefinitions/read",
        "Microsoft.Insights/metrics/read",
        "Microsoft.Insights/scheduledqueryrules/*",
        "Microsoft.Insights/topology/read",
        "Microsoft.Insights/transactions/read",
        "Microsoft.Insights/webtests/*",
        "Microsoft.KeyVault/*",
        "Microsoft.MachineLearningServices/workspaces/*",
        "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action",
        "Microsoft.ResourceHealth/availabilityStatuses/read",
        "Microsoft.Resources/deployments/*",
        "Microsoft.Resources/deployments/operations/read",
        "Microsoft.Resources/subscriptions/operationresults/read",
        "Microsoft.Resources/subscriptions/read",
        "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
        "Microsoft.Resources/subscriptions/resourceGroups/read",
        "Microsoft.Resources/subscriptions/resourceGroups/write",
        "Microsoft.Storage/storageAccounts/*",
        "Microsoft.Support/*",
        "Microsoft.Search/searchServices/write",
        "Microsoft.Search/searchServices/read",
        "Microsoft.Search/searchServices/delete",
        "Microsoft.Search/searchServices/indexes/*",
        "Microsoft.DataFactory/factories/*"
      ],
      "notActions": [],
      "dataActions": [],
      "notDataActions": []
    }
  ]
}

Ruolo sviluppatore AI di Azure

{
  "permissions": [
    {
      "actions": [
        "Microsoft.MachineLearningServices/workspaces/*/read",
        "Microsoft.MachineLearningServices/workspaces/*/action",
        "Microsoft.MachineLearningServices/workspaces/*/delete",
        "Microsoft.MachineLearningServices/workspaces/*/write",
        "Microsoft.MachineLearningServices/locations/*/read",
        "Microsoft.Authorization/*/read",
        "Microsoft.Resources/deployments/*"
      ],
      "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": []
    }
  ]
}

Ruoli predefiniti per i progetti

Quando si concede a un utente l'accesso a un progetto, il sistema assegna anche il ruolo Lettore nell'hub e il ruolo Operatore di distribuzione inferenza per consentire le distribuzioni nel gruppo di risorse.

Ruolo Descrizione
Proprietario Accesso completo al progetto, inclusa l'assegnazione delle autorizzazioni agli utenti del progetto.
Collaboratore Accesso completo, ma non può assegnare autorizzazioni.
Azure amministratore di intelligenza artificiale Assegnato automaticamente all'identità gestita dell'hub.
Azure sviluppatore di intelligenza artificiale Creare distribuzioni; non può assegnare autorizzazioni.
Operatore di distribuzione dell'inferenza AI di Azure Azioni necessarie per creare distribuzioni di risorse.
Lettore Accesso in sola lettura.

Per creare un progetto, un ruolo deve includere Microsoft.MachineLearningServices/workspaces/hubs/join nell'hub (incluso in Azure per sviluppatori di intelligenza artificiale).

Autorizzazioni del servizio di dipendenza

Autorizzazione Scopo
Microsoft.Storage/storageAccounts/write Creare/aggiornare l'account di archiviazione.
Microsoft.KeyVault/vaults/write Creare/aggiornare Key Vault.
Microsoft.CognitiveServices/accounts/write Account API con permessi di scrittura.
Microsoft.MachineLearningServices/workspaces/write Creare/aggiornare l'area di lavoro.

Configurazione di esempio del controllo degli accessi basato sui ruoli aziendali per hub

Persona Ruolo Scopo
Amministratore IT Proprietario Garantisce gli standard dell'hub. Assegna i ruoli di responsabile.
Manager Collaboratore o sviluppatore di intelligenza artificiale Azure Gestire l'hub, controllare le risorse condivise.
Responsabile del team Azure sviluppatore di intelligenza artificiale Creare progetti e risorse condivise.
Gli sviluppatori Collaboratore o Azure sviluppatore di intelligenza artificiale (progetto) Compilare e distribuire modelli.

Accesso alle risorse esterne

Si assicuri che all'identità gestita dell'hub siano assegnati i ruoli richiesti nei servizi esterni (ad esempio, archiviazione, ricerca) prima dell'uso.

Gestire l'accesso

Usare il portale Foundry (pannello Utenti) o il portale Azure IAM/interfaccia della riga di comando per assegnare i ruoli.

Esempio di CLI:

az role assignment create --role "Azure AI Developer" --assignee "user@contoso.com" --scope /subscriptions/<sub-id>/resourceGroups/<rg-name>

Ruoli personalizzati

Definire ruoli personalizzati quando i ruoli predefiniti non soddisfano le esigenze. Estratto di un ruolo personalizzato di esempio a livello di sottoscrizione:

{
  "properties": {
    "roleName": "Foundry Developer",
    "description": "Custom role for Foundry. At subscription level",
    "assignableScopes": ["/subscriptions/<your-subscription-id>"],
    "permissions": [ { "actions": ["Microsoft.MachineLearningServices/workspaces/write", "Microsoft.MachineLearningServices/workspaces/endpoints/write"], "notActions": [], "dataActions": ["Microsoft.CognitiveServices/accounts/OpenAI/*/read"], "notDataActions": [] } ]
  }
}

Assegnazione di ruoli nel portale

Nel Centro gestione selezionare Utenti a livello di hub o progetto, quindi Nuovo utente.

Evidenziazione dello scenario

  • Chiave gestita dal cliente: concedere all'autore dell'area di lavoro l'accesso a Key Vault; se si usa l'identità assegnata dall'utente, concedere le autorizzazioni necessarie per il piano dati.
  • Connessioni con Microsoft Entra ID: assegnare i ruoli Azure RBAC necessari (ad esempio, Storage Blob Data Contributor, Search Index Data Contributor).
  • Registro Azure Container: usare l'identità gestita assegnata dal sistema o assegnare ACRPull all'identità assegnata dall'utente.
  • Application Insights: richiede Microsoft.Insights/Components/Write e Microsoft.OperationalInsights/workspaces/write durante la creazione dell'hub.

Risoluzione dei problemi

Se nuovi hub che usano il ruolo di identità Amministratore di Azure AI riscontrano problemi, è possibile ripristinare temporaneamente a il Collaboratore (vedere l'articolo originale per i passaggi dettagliati).

Passaggi successivi