Dela via


Rollbaserad åtkomstkontroll i Azure AI Foundry-portalen

I den här artikeln får du lära dig hur du hanterar åtkomst (auktorisering) till en Azure AI Foundry-hubb. Rollbaserad åtkomstkontroll i Azure (Azure RBAC) används för att hantera åtkomst till Azure-resurser, till exempel möjligheten att skapa nya eller använda befintliga resurser. Användare i ditt Microsoft Entra-ID tilldelas specifika roller som ger åtkomst till resurser. Azure ger både inbyggda roller och möjlighet att skapa anpassade roller.

Varning

Om vissa roller tillämpas kan användargränssnittsfunktionerna i Azure AI Foundry-portalen begränsas för andra användare. Om en användares roll till exempel inte har möjlighet att skapa en beräkningsinstans blir alternativet att skapa en beräkningsinstans inte tillgängligt i studio. Det här beteendet förväntas och förhindrar att användaren försöker utföra åtgärder som returnerar ett fel om nekad åtkomst.

AI Foundry Hub vs project

I Azure AI Foundry-portalen finns det två åtkomstnivåer: hubben och projektet. Hubben är hem för infrastrukturen (inklusive konfiguration av virtuellt nätverk, kundhanterade nycklar, hanterade identiteter och principer) och där du konfigurerar dina Azure AI-tjänster. Med hubbåtkomst kan du ändra infrastrukturen, skapa nya hubbar och skapa projekt. Projekt är en delmängd av hubben som fungerar som arbetsytor som gör att du kan skapa och distribuera AI-system. I ett projekt kan du utveckla flöden, distribuera modeller och hantera projekttillgångar. Med projektåtkomst kan du utveckla AI från slutpunkt till slutpunkt samtidigt som du drar nytta av infrastrukturkonfigurationen på hubben.

Diagram över relationen mellan AI Foundry-resurser.

En av de viktigaste fördelarna med hubb- och projektrelationen är att utvecklare kan skapa egna projekt som ärver hubbens säkerhetsinställningar. Du kan också ha utvecklare som är deltagare i ett projekt och inte kan skapa nya projekt.

Standardroller för hubben

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

Här är en tabell med de inbyggda rollerna och deras behörigheter för hubben:

Roll Beskrivning
Ägare Fullständig åtkomst till hubben, inklusive möjligheten att hantera och skapa nya hubbar och tilldela behörigheter. Den här rollen tilldelas automatiskt till hubbskapare
Deltagare 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-utvecklare Utför alla åtgärder förutom att skapa nya hubbar och hantera hubbbehörigheterna. Användare kan till exempel skapa projekt, beräkning och anslutningar. Användare kan tilldela behörigheter i sitt projekt. Användare kan interagera med befintliga Azure AI-resurser som Azure OpenAI, Azure AI Search och Azure AI-tjänster.
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. Om du inte vill att användarna ska skapa nya hubbar (på grund av kvot, kostnad eller bara hantera hur många hubbar du har) tilldelar du rollen Azure AI Developer.

Endast rollerna Ägare och Deltagare gör att du kan skapa en hubb. För närvarande kan anpassade roller inte ge dig behörighet att skapa hubbar.

Azure AI Developer-roll

Den fullständiga uppsättningen behörigheter för den nya rollen "Azure AI Developer" är följande:

{
    "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": [], 
        "Condition": null, 
        "ConditionVersion": null 
        } 
    ] 
}

Om den inbyggda Rollen Azure AI Developer inte uppfyller dina behov kan du skapa en anpassad roll.

Standardroller för projekt

Projekt i AI Foundry-portalen har inbyggda roller som är tillgängliga som standard.

Här är en tabell med de inbyggda rollerna och deras behörigheter för projektet:

Roll Beskrivning
Ägare Fullständig åtkomst till projektet, inklusive möjligheten att tilldela behörigheter till projektanvändare.
Deltagare Användaren har fullständig åtkomst till projektet men kan inte tilldela behörigheter till projektanvändare.
Azure AI-utvecklare Användaren kan utföra de flesta åtgärder, inklusive att skapa distributioner, men kan inte tilldela behörigheter till projektanvändare.
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 projektet.

När en användare beviljas åtkomst till ett projekt (till exempel via AI Foundry-portalens behörighetshantering) tilldelas ytterligare två roller automatiskt till användaren. Den första rollen är Läsare på hubben. Den andra rollen är rollen inferensdistributionsoperator, som gör att användaren kan skapa distributioner i resursgruppen som projektet finns i. Den här rollen består av följande två behörigheter: "Microsoft.Authorization/*/read" och "Microsoft.Resources/deployments/*".

För att slutföra utveckling och distribution av AI från slutpunkt till slutpunkt behöver användarna bara dessa två automatiskt tilldelade roller och antingen rollen Deltagare eller Azure AI Developer i ett projekt.

Den minsta behörighet som krävs för att skapa ett projekt är en roll som har den tillåtna åtgärden Microsoft.MachineLearningServices/workspaces/hubs/join på hubben. Den inbyggda rollen Azure AI Developer har den här behörigheten.

Azure AI-administratörsroll

Före 2024-01-19 tilldelades den systemtilldelade hanterade identiteten som skapades för hubben automatiskt rollen Deltagare för resursgruppen som innehåller hubben och projekten. Hubbar som skapats efter det här datumet har den systemtilldelade hanterade identiteten tilldelad rollen Azure AI-administratör . Den här rollen är mer begränsad till de minsta behörigheter som krävs för att den hanterade identiteten ska kunna utföra sina uppgifter.

Azure AI-administratörsrollen finns för närvarande i offentlig förhandsversion.

Viktigt!

Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Azure AI-administratörsrollen har följande behörigheter:

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

Konvertera en befintlig systemhanterad identitet till azure AI-administratörsrollen

Dricks

Vi rekommenderar att du konverterar hubbar som skapats före 2024-11-19 för att använda azure AI-administratörsrollen. Azure AI-administratörsrollen är mer begränsad än den tidigare använda deltagarrollen och följer huvudnamnet för lägsta behörighet.

Du kan konvertera hubbar som skapats före 2024-11-19 med någon av följande metoder:

  • Azure REST API: Använd en PATCH begäran till Azure REST API för arbetsytan. Brödtexten i begäran ska ange {"properties":{"allowRoleAssignmeentOnRG":true}}. I följande exempel visas en PATCH begäran med .curl Ersätt <your-subscription>, <resource-group-name>, <workspace-name>och <YOUR-ACCESS-TOKEN> med värdena för ditt scenario. Mer information om hur du använder REST-API:er finns i dokumentationen för Azure REST API.

    curl -X PATCH https://management.azure.com/subscriptions/<your-subscription>/resourcegroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>?api-version=2024-04-01-preview -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"
    
  • Azure CLI: Använd az ml workspace update kommandot med parametern --allow-roleassignment-on-rg true . I följande exempel uppdateras en arbetsyta med namnet myworkspace. Det här kommandot kräver Azure Machine Learning CLI-tillägget version 2.27.0 eller senare.

    az ml workspace update --name myworkspace --allow-roleassignment-on-rg true
    
  • Azure Python SDK: Ange allow_roleassignment_on_rg egenskapen för arbetsyteobjektet till True och utför sedan en uppdateringsåtgärd. I följande exempel uppdateras en arbetsyta med namnet myworkspace. Den här åtgärden kräver Azure Machine Learning SDK version 1.17.0 eller senare.

    ws = ml_client.workspaces.get(name="myworkspace")
    ws.allow_roleassignment_on_rg = True
    ws = ml_client.workspaces.begin_update(workspace=ws).result()
    

Azure RBAC-behörigheter för beroendetjänsten

Hubben har beroenden för andra Azure-tjänster. I följande tabell visas de behörigheter som krävs för dessa tjänster när du skapar en hubb. Den person som skapar hubben behöver dessa behörigheter. Personen som skapar ett projekt från hubben behöver dem inte.

Behörighet Syfte
Microsoft.Storage/storageAccounts/write Skapa ett lagringskonto med de angivna parametrarna eller uppdatera egenskaperna eller taggarna eller lägg till en anpassad domän för det angivna lagringskontot.
Microsoft.KeyVault/vaults/write Skapa ett nytt nyckelvalv eller uppdatera egenskaperna för ett befintligt nyckelvalv. Vissa egenskaper kan kräva fler behörigheter.
Microsoft.CognitiveServices/accounts/write Skriva API-konton.
Microsoft.MachineLearningServices/workspaces/write Skapa en ny arbetsyta eller uppdatera egenskaperna för en befintlig arbetsyta.

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

Följande tabell är ett exempel på hur du konfigurerar rollbaserad åtkomstkontroll för azure AI Foundry för ett företag.

Persona Roll Syfte
IT-administratör Hubbens ägare IT-administratören kan se till att hubben är konfigurerad enligt företagets standarder. De kan tilldela chefer rollen Deltagare på resursen om de vill göra det möjligt för chefer att skapa nya hubbar. Eller så kan de tilldela chefer rollen Azure AI Developer på resursen för att inte tillåta skapande av ny hubb.
Chefer Deltagare eller Azure AI-utvecklare på hubben Chefer kan hantera hubben, granska beräkningsresurser, granska anslutningar och skapa delade anslutningar.
Teamledare/Leadutvecklare Azure AI Developer på hubben Leadutvecklare kan skapa projekt för sitt team och skapa delade resurser (till exempel beräkning och anslutningar) på hubbnivå. När projektet har skapats kan projektägare bjuda in andra medlemmar.
Teammedlemmar/utvecklare Deltagare eller Azure AI Developer i projektet Utvecklare kan skapa och distribuera AI-modeller i ett projekt och skapa tillgångar som möjliggör utveckling, till exempel beräkningar och anslutningar.

Åtkomst till resurser som skapats utanför hubben

När du skapar en hubb ger de inbyggda rollbaserade åtkomstkontrollbehörigheterna dig åtkomst för att använda resursen. Men om du vill använda resurser utanför det som skapades för din räkning måste du se till att båda:

  • Resursen som du försöker använda har behörigheter konfigurerade så att du kan komma åt den.
  • Hubben har åtkomst till den.

Om du till exempel försöker använda en ny Blob Storage måste du se till att hubbens hanterade identitet läggs till i bloblagringsläsarrollen för bloben. Om du försöker använda en ny Azure AI Search-källa kan du behöva lägga till hubben i Rolltilldelningarna för Azure AI Search.

Hantera åtkomst med roller

Om du är ägare till en hubb kan du lägga till och ta bort roller för AI Foundry. Gå till startsidan i AI Foundry och välj din hubb. Välj sedan Användare för att lägga till och ta bort användare för hubben. Du kan också hantera behörigheter från Azure Portal under Åtkomstkontroll (IAM) eller via Azure CLI. Använd till exempel Azure CLI för att tilldela rollen Azure AI Developer till "joe@contoso.com" för resursgruppen "this-rg" med följande kommando:

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

Skapa anpassade roller

Om de inbyggda rollerna är otillräckliga kan du skapa anpassade roller. Anpassade roller kan ha behörigheterna för läs-, skriv-, borttagnings- och beräkningsresurser i AI Foundry. Du kan göra rollen tillgänglig på en specifik projektnivå, en specifik resursgruppsnivå eller en viss prenumerationsnivå.

Kommentar

Du måste vara ägare till resursen på den nivån för att kunna skapa anpassade roller i resursen.

I följande JSON-exempel definieras en anpassad AI Foundry-utvecklarroll på prenumerationsnivå:

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

Om du vill ha steg för att skapa en anpassad roll använder du någon av följande artiklar:

Mer information om hur du skapar anpassade roller i allmänhet finns i artikeln anpassade Roller i Azure.

Tilldela roller i AI Foundry-portalen

Du kan lägga till användare och tilldela roller direkt från Azure AI Foundry på hubb- eller projektnivå. I hanteringscentret väljer du Användare i antingen hubben eller projektavsnittet och väljer sedan Ny användare för att lägga till en användare.

Kommentar

Du är begränsad till att välja inbyggda roller. Om du behöver tilldela anpassade roller måste du använda Azure Portal, Azure CLI eller Azure PowerShell.

Skärmbild av översikten över Azure AI Foundry Hub med den nya användarknappen markerad.

Du uppmanas sedan att ange användarinformationen och välja en inbyggd roll.

Skärmbild av uppmaningen lägg till användare med rollen inställd på Azure AI Developer.

Scenario: Använda en kundhanterad nyckel

När du konfigurerar en hubb för att använda en kundhanterad nyckel (CMK) används ett Azure Key Vault för att lagra nyckeln. Användaren eller tjänstens huvudnamn som används för att skapa arbetsytan måste ha ägar- eller deltagaråtkomst till nyckelvalvet.

Om ai Foundry-hubben har konfigurerats med en användartilldelad hanterad identitet måste identiteten beviljas följande roller. Med de här rollerna kan den hanterade identiteten skapa de Azure Storage-, Azure Cosmos DB- och Azure Search-resurser som används när du använder en kundhanterad nyckel:

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

I nyckelvalvet måste användaren eller tjänstens huvudnamn ha åtkomsten till nyckeln genom en åtkomstprincip för nyckelvalvet. Mer information finns i Azure Key Vault-säkerhet.

Scenario: Anslutningar med Microsoft Entra ID-autentisering

När du skapar en anslutning som använder Microsoft Entra-ID-autentisering måste du tilldela roller till dina utvecklare så att de kan komma åt resursen.

Resursanslutning Roll beskrivning
Azure AI-sökning Deltagare Lista API-nycklar för att visa index från Azure AI Foundry.
Azure AI-sökning Search Index Data Contributor Krävs för indexeringsscenarier
Azure AI-tjänster/Azure OpenAI Cognitive Services OpenAI-deltagare Anropa offentligt inmatnings-API från Azure AI Foundry.
Azure AI-tjänster/Azure OpenAI Cognitive Services-användare Lista API-nycklar från Azure AI Foundry.
Azure AI-tjänster/Azure OpenAI Cognitive Services-deltagare Tillåter anrop till kontrollplanet.
Azure Blob Storage Storage blobb data-deltagare Krävs för att läsa och skriva data till bloblagringen.
Azure Data Lake Storage Gen 2 Storage blobb data-deltagare Krävs för att läsa och skriva data till datasjön.
Microsoft OneLake Deltagare Om du vill ge någon ess till Microsoft OneLake måste du ge dem åtkomst till din Microsoft Fabric-arbetsyta.

Viktigt!

Om du använder Promptflow med Azure Storage (inklusive Azure Data Lake Storage Gen 2) måste du även tilldela rollen Storage File Data Privileged Contributor .

När du använder Microsoft Entra ID-autentiserade anslutningar i chattlekplatsen måste tjänsterna auktorisera varandra för att få åtkomst till de resurser som krävs. Administratören som utför konfigurationen måste ha rollen Ägare för dessa resurser för att lägga till rolltilldelningar. I följande tabell visas de rolltilldelningar som krävs för varje resurs. Kolumnen Tilldelad refererar till den systemtilldelade hanterade identiteten för den angivna resursen. Kolumnen Resurs refererar till den resurs som den tilldelade personen behöver åtkomst till. Azure OpenAI har till exempel en systemtilldelad hanterad identitet som måste tilldelas rollen Search Index Data Reader för Azure AI Search-resursen.

Roll Tilldelad Resurs beskrivning
Dataläsare för sökindex Azure AI-tjänster/Azure OpenAI Azure AI-sökning Slutsatsdragningstjänsten frågar data från indexet. Används endast för slutsatsdragningsscenarier.
Search Index Data Contributor Azure AI-tjänster/Azure OpenAI Azure AI-sökning Läs- och skrivåtkomst till innehåll i index. Importera, uppdatera eller fråga dokumentsamlingen för ett index. Används endast för inmatnings- och slutsatsdragningsscenarier.
Söktjänstdeltagare Azure AI-tjänster/Azure OpenAI Azure AI-sökning Läs- och skrivåtkomst till objektdefinitioner (index, alias, synonymkartor, indexerare, datakällor och kompetensuppsättningar). Slutsatsdragningstjänsten frågar indexschemat för automatisk fältmappning. Datainmatningstjänsten skapar index, datakällor, kompetensuppsättning, indexerare och frågar indexerarens status.
Cognitive Services OpenAI-deltagare Azure AI-sökning Azure AI-tjänster/Azure OpenAI Anpassad färdighet
Cognitive Services OpenAI-användare Azure OpenAI-resurs för chattmodell Azure OpenAI-resurs för inbäddningsmodell Krävs endast om du använder två Azure OpenAI-resurser för att kommunicera.
Storage blobb data-deltagare Azure AI-sökning Azure Storage-konto Läser blob och skriver kunskapslager.
Storage blobb data-deltagare Azure AI-tjänster/Azure OpenAI Azure Storage-konto Läser från indatacontainern och skriver förbearbetningsresultatet till utdatacontainern.

Kommentar

Cognitive Services OpenAI-användarrollen krävs endast om du använder två Azure OpenAI-resurser: en för chattmodellen och en för din inbäddningsmodell. Om detta gäller aktiverar du Betrodda tjänster OCH ser till att anslutningen för inbäddningsmodellens Azure OpenAI-resurs har Microsoft Entra-ID aktiverat.

Scenario: Använda en befintlig Azure OpenAI-resurs

När du skapar en anslutning till en befintlig Azure OpenAI-resurs måste du även tilldela roller till dina användare så att de kan komma åt resursen. Du bör tilldela rollen Cognitive Services OpenAI-användare eller Cognitive Services OpenAI-deltagare , beroende på vilka uppgifter de behöver utföra. Information om dessa roller och de uppgifter som de aktiverar finns i Azure OpenAI-roller.

Scenario: Använda Azure Container Registry

En Azure Container Registry-instans är ett valfritt beroende för Azure AI Foundry Hub. I följande tabell visas stödmatrisen när du autentiserar en hubb till Azure Container Registry, beroende på autentiseringsmetoden och Azure Container Registrys konfiguration för offentlig nätverksåtkomst.

Autentiseringsmetod Åtkomst till
offentligt nätverk har inaktiverats
Offentlig nätverksåtkomst i Azure Container Registry
är aktiverad
Administratörsanvändare
AI Foundry Hub systemtilldelad hanterad identitet
AI Foundry Hub användartilldelad hanterad identitet
med ACRPull-rollen tilldelad till identiteten

En systemtilldelad hanterad identitet tilldelas automatiskt till rätt roller när hubben skapas. Om du använder en användartilldelad hanterad identitet måste du tilldela ACRPull-rollen till identiteten.

Scenario: Använda Azure Application Insights för loggning

Azure Application Insights är ett valfritt beroende för Azure AI Foundry Hub. I följande tabell visas de behörigheter som krävs om du vill använda Application Insights när du skapar en hubb. Den person som skapar hubben behöver dessa behörigheter. Den person som skapar ett projekt från hubben behöver inte dessa behörigheter.

Behörighet Syfte
Microsoft.Insights/Components/Write Skriv till en application insights-komponentkonfiguration.
Microsoft.OperationalInsights/workspaces/write Skapa en ny arbetsyta eller länkar till en befintlig arbetsyta genom att ange kund-ID:t från den befintliga arbetsytan.

Scenario: Etablerad dataflödesenhetsupphandlare

I följande exempel definieras en anpassad roll som kan skaffa etablerade dataflödesenheter (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 för Azure OpenAI-assistenter

I följande exempel definieras en roll för en utvecklare som använder Azure OpenAI Assistants.

{
    "id": "",
    "properties": {
        "roleName": "Azure OpenAI Assistants API Developer",
        "description": "Custom role to work with Azure OpenAI 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": []
            }
        ]
    }
}

Felsökning

Fel: Huvudkontot har inte åtkomst till API/åtgärd

Symtom

När du använder Azure AI Foundry-portalens chattlekplats får du ett felmeddelande om att "Huvudkontot inte har åtkomst till API/operation". Felet kan också innehålla ett "Apim-request-id".

Orsak

Användaren eller tjänstens huvudnamn som används för att autentisera begäranden till Azure OpenAI eller Azure AI Search har inte de behörigheter som krävs för att få åtkomst till resursen.

Lösning

Tilldela följande roller till användaren eller tjänstens huvudnamn. Vilken roll du tilldelar beror på vilka tjänster du använder och den åtkomstnivå som användaren eller tjänstens huvudnamn kräver:

Tjänsten används Roll beskrivning
Azure OpenAI Cognitive Services OpenAI-deltagare Anropa offentligt inmatnings-API från Azure AI Foundry.
Azure OpenAI Cognitive Services-användare Lista API-nycklar från Azure AI Foundry.
Azure AI-sökning Search Index Data Contributor Krävs för indexeringsscenarier.
Azure AI-sökning Dataläsare för sökindex Slutsatsdragningstjänsten frågar data från indexet. Används endast för slutsatsdragningsscenarier.

Nästa steg