Dela via


Rollbaserad åtkomstkontroll för Azure AI Foundry (navfokuserad)

Anmärkning

Det finns en alternativ rbac-artikel med projektfokusering för Foundry: Rollbaserad åtkomstkontroll för Azure AI Foundry.

I den här artikeln får du lära dig hur du hanterar åtkomst på hubb- och projektnivåerna i Azure AI Foundry. Använd rollbaserad åtkomstkontroll i Azure (Azure RBAC) för att hantera åtkomst till Azure-resurser. Azure tillhandahåller inbyggda roller och låter dig skapa anpassade roller.

Azure AI Foundry nav vs projekt

I Azure AI Foundry-portalen har åtkomst två nivåer: hubben och projektet. Hubben är värd för infrastruktur (inklusive konfiguration av virtuella nätverk, kundhanterade nycklar, hanterade identiteter och principer). Det är där du konfigurerar Azure AI-tjänster. Med hubbåtkomst kan du ändra infrastruktur, skapa hubbar och skapa projekt. Projekt är en delmängd av hubben och fungerar som arbetsytor för att skapa och distribuera AI-system. I ett projekt utvecklar du flöden, distribuerar modeller och hanterar projekttillgångar. Med projektåtkomst kan du skapa och distribuera AI från slutpunkt till slutpunkt när du använder hubbinfrastrukturen.

Diagram som visar relationen mellan Azure AI Foundry-resurser.

En viktig fördel med hubb- och projektrelationen är att utvecklare kan skapa projekt som ärver hubbsäkerhetsinställningar. Vissa utvecklare är deltagare i ett projekt och kan inte skapa nya projekt.

Standardroller för hubben

Azure AI Foundry-hubben har inbyggda roller som är tillgängliga som standard.

Role Description
Ägare Fullständig åtkomst till hubben, inklusive möjligheten att hantera hubbar, skapa nya hubbar och tilldela behörigheter. Den här rollen tilldelas automatiskt till hubbskapare.
Bidragsgivare Användaren har fullständig åtkomst till hubben, inklusive möjligheten att skapa nya hubbar, men kan inte hantera hubbbehörigheter för den befintliga resursen.
Azure AI-administratör Tilldelas automatiskt till hubbens systemtilldelade hanterade identitet. Ger den minsta behörighet som den hanterade identiteten behöver för att utföra uppgifter.
Azure AI-utvecklare Utför alla åtgärder förutom att skapa nya hubbar eller hantera hubbbehörigheter. Användare kan tilldela behörigheter i sitt projekt.
Distributionsoperatör för Azure AI-slutsatsdragning Utför alla åtgärder som krävs för att skapa en resursdistribution i en resursgrupp.
Läsare Skrivskyddad åtkomst till hubben. Den här rollen tilldelas automatiskt till alla projektmedlemmar i hubben.

Den största skillnaden mellan Deltagare och Azure AI Developer är möjligheten att skapa nya hubbar. Endast rollerna Ägare och Deltagare låter dig skapa en hubb. Anpassade roller kan inte bevilja skapande av nav.

Azure AI-administratörsroll

Hubbar som skapats efter 2024-11-19 har fått den systemtilldelade hanterade identiteten till rollen Azure AI-administratör i stället för Deltagare.

{
  "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": []
    }
  ]
}

Azure AI Developerroll

{
  "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": []
    }
  ]
}

Standardroller för projekt

När du ger en användare åtkomst till ett projekt tilldelar systemet även rollen Läsare på hubben och rollen Inference Deployment Operator för att tillåta distributioner i resursgruppen.

Role Description
Ägare Fullständig åtkomst till projektet, inklusive tilldelning av behörigheter till projektanvändare.
Bidragsgivare Fullständig åtkomst men kan inte tilldela behörigheter.
Azure AI-administratör Tilldelas automatiskt till den hanterade hubbidentiteten.
Azure AI-utvecklare Skapa distributioner; kan inte tilldela behörigheter.
Distributionsoperatör för Azure AI-slutsatsdragning Åtgärder som krävs för att skapa resursdistributioner.
Läsare Skrivskyddad åtkomst.

För att skapa ett projekt måste en roll inkludera Microsoft.MachineLearningServices/workspaces/hubs/join på hubben (ingår i Azure AI Developer).

Behörigheter för beroendetjänst

Tillåtelse Avsikt
Microsoft.Storage/storageAccounts/write Skapa/uppdatera lagringskonto.
Microsoft.KeyVault/vaults/write Skapa/uppdatera nyckelvalv.
Microsoft.CognitiveServices/accounts/write Skapa API-konton.
Microsoft.MachineLearningServices/workspaces/write Skapa/uppdatera arbetsyta.

Exempel på RBAC-installation för hubbar för företag

Personlighet Role Avsikt
IT-administratör Ägare Säkerställer hubbstandarder. Tilldelar chefsroller.
Managers Deltagare eller Azure AI-utvecklare Hantera nav, kontrollera delade resurser.
Gruppledare Azure AI-utvecklare Skapa projekt och delade resurser.
Developers Bidragsgivare eller Azure AI Developer (projekt) Skapa och distribuera modeller.

Åtkomst till externa resurser

Kontrollera att den hubbhanterade identiteten beviljas nödvändiga roller för externa tjänster (till exempel lagring, sökning) innan du använder den.

Hantera åtkomst

Använd Azure AI Foundry-portalen (bladet Användare) eller Azure-portalens IAM/CLI för att tilldela roller.

Exempel på CLI:

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

Anpassade roller

Definiera anpassade roller när inbyggda roller inte uppfyller behoven. Exempel på utdrag av anpassad roll på prenumerationsnivå:

{
  "properties": {
    "roleName": "Azure AI Foundry Developer",
    "description": "Custom role for Azure AI 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": [] } ]
  }
}

Tilldela roller i portalen

I hanteringscentret väljer du Användare på hubb- eller projektnivå och sedan Ny användare.

Scenariohöjdpunkter

  • Kundhanterad nyckel: Bevilja arbetsyteskapare åtkomst till Key Vault; om du använder användartilldelad identitet beviljar du nödvändiga dataplansbehörigheter.
  • Anslutningar med Microsoft Entra-ID: Tilldela nödvändiga Azure RBAC-roller (till exempel Storage Blob Data Contributor, Search Index Data Contributor).
  • Azure Container Registry: Använd systemtilldelad hanterad identitet eller tilldela ACRPull till användartilldelad identitet.
  • Application Insights: Kräver Microsoft.Insights/Components/Write och Microsoft.OperationalInsights/workspaces/write vid skapandet av hubben.

Felsökning

Om det uppstår problem med nya hubbar med identitetsrollen Azure AI-administratör kan du tillfälligt återgå till Deltagare (se den ursprungliga artikeln för detaljerade steg).

Nästa steg