Konfigurera en söktjänst för att ansluta med hjälp av en hanterad identitet

Note

Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.

Du kan använda Microsoft Entra ID säkerhetsobjekt och rolltilldelningar för utgående anslutningar från Azure AI-sökning till andra Azure resurser som tillhandahåller data, tillämpad AI eller vektorisering under indexering eller frågor.

Om du vill använda roller på en utgående anslutning konfigurerar du först söktjänsten så att den använder antingen en systemtilldelad eller användartilldelad hanterad identitet som säkerhetsobjekt för din söktjänst i en Microsoft Entra klientorganisation. När du har en hanterad identitet kan du tilldela roller för auktoriserad åtkomst. Hanterade identiteter och rolltilldelningar eliminerar behovet av att skicka hemligheter och autentiseringsuppgifter i en reťazec pripojenia eller kod.

Förutsättningar

  • En Azure AI-sökning tjänst i alla regioner på nivån Basic eller högre.

  • En Azure-resurs som accepterar inkommande förfrågningar från ett Microsoft Entra-säkerhetsobjekt som har en giltig rolltilldelning.

  • Om du vill skapa en hanterad identitet måste du vara ägare eller administratör för användaråtkomst. Om du vill tilldela roller måste du vara ägare, administratör för användaråtkomst, administratör för rollbaserad åtkomstkontroll eller medlem i en anpassad roll med Microsoft.Authorization/roleAssignments/write-behörigheter.

Scenarier som stöds

Du kan använda hanterade identiteter för följande scenarier.

Scenario Tilldelad av systemet Tilldelad användare
Ansluta till indexerarens datakällor1 Ja Ja
Anslut till inbäddning och chattkompletteringsmodeller i Azure OpenAI, Microsoft Foundry och Azure Functions via färdigheter/vektoriserare 2 Ja Ja
Anslut till Azure Key Vault för kundhanterade nycklar Ja Ja
Anslut till felsökningssessioner (i Azure Storage)1 Ja Nej
Anslut till en berikningscache (som finns i Azure Storage)1,3 Ja Ja 4
Anslut till ett kunskapslager (finns i Azure Storage)1 Ja Ja

1 För anslutning mellan sökning och lagring medför nätverkssäkerhet begränsningar för vilken typ av hanterad identitet du kan använda. Endast en systemhanterad identitet kan användas för en anslutning i samma region till Azure Storage, och anslutningen måste ske via undantag för betrodd tjänst eller resursinstansregel. Mer information finns i Åtkomst till ett nätverksskyddat lagringskonto .

2 Anslutningar till Azure OpenAI, Foundry och Azure Functions via färdigheter/vektoriserare omfattar: Anpassad skicklighet, Anpassad vektoriserare, Azure OpenAI-inbäddningsfärdighet, Azure OpenAI-vektoriserare, AML och Microsoft Foundry-modellkatalogvektoriserare.

3 AI-söktjänsten kan för närvarande inte ansluta till tabeller på ett lagringskonto som har delad nyckelåtkomst inaktiverad.

4 Användartilldelad hanterad identitet för cacheanslutningar för berikning kräver ett REST API för förhandsversion (2025-11-01-preview eller senare) eller ett förhandsversions-SDK-paket. Alla andra användartilldelade hanterade identitetsscenarier i den här tabellen stöds i REST API version 2026-04-01 och senare.

Skapa en systemhanterad identitet

En systemtilldelad hanterad identitet är ett Microsoft Entra ID säkerhetsobjekt som skapas automatiskt och länkas till en Azure resurs, till exempel en Azure AI-sökning tjänst.

Du kan ha en systemtilldelad hanterad identitet för varje söktjänst. Den är unik för din söktjänst och är bunden till tjänsten under dess livslängd.

När du aktiverar en systemtilldelad hanterad identitet skapar Microsoft Entra ID ett säkerhetsobjekt för söktjänsten som används för att autentisera till andra Azure resurser. Du kan sedan använda den här identiteten i rolltilldelningar för auktoriserad åtkomst till data och åtgärder.

  1. Gå till söktjänsten i Azure-portalen.

  2. I den vänstra rutan väljer du Inställningar>Identitet.

  3. På fliken Systemtilldelat går du till Status och väljer .

  4. Välj Spara.

    Skärmbild av identitetssidan i Azure portal.

    När du har sparat inställningarna uppdateras sidan så att en objektidentifierare som har tilldelats söktjänsten visas.

    Skärmbild av en systemidentitetsobjektidentifierare.

Skapa en användartilldelad hanterad identitet

En användartilldelad hanterad identitet är en Azure resurs som kan begränsas till prenumerationer, resursgrupper eller resurstyper.

Du kan skapa flera användartilldelade hanterade identiteter för mer detaljerad information i rolltilldelningar. Du kanske till exempel vill ha separata identiteter för olika program och scenarier. Som en oberoende skapad och hanterad resurs är den inte bunden till själva tjänsten.

Stegen för att konfigurera en användartilldelad hanterad identitet är följande:

  • I din Azure-prenumeration skapar du en användartilldelad hanterad identitet.

  • I söktjänsten associerar du den användartilldelade hanterade identiteten med söktjänsten.

  • Skapa en rolltilldelning för identiteten på andra Azure tjänster som du vill ansluta till.

Det finns stöd för att associera en användartilldelad hanterad identitet med en Azure AI-sökning-tjänst i Azure-portalen, REST-API:er för sökhantering och SDK-paket som tillhandahåller funktionen.

  1. Logga in på Azure-portalen.

  2. I det övre vänstra hörnet på instrumentpanelen väljer du Skapa en resurs.

  3. Använd sökrutan för att hitta användartilldelad hanterad identitet och välj sedan Skapa.

    Skärmbild av den användartilldelade hanterade identitetspanelen i Azure Marketplace.

  4. Välj prenumeration, resursgrupp och region. Ge identiteten ett beskrivande namn.

  5. Välj Skapa och vänta tills resursen har distribuerats klart.

    Det tar flera minuter innan du kan använda identiteten.

  6. På sidan söktjänst väljer du Inställningar>Identitet.

  7. På fliken Användartilldelade väljer du Lägg till.

  8. Välj prenumerationen och den användartilldelade hanterade identiteten som du skapade tidigare.

Tilldela en roll

När du har en hanterad identitet tilldelar du roller som bestämmer behörigheter för söktjänsten för den Azure resursen.

  • Läsbehörigheter krävs för indexerarens dataanslutningar och för åtkomst till en kundhanterad nyckel i Azure Key Vault.

  • Skrivbehörigheter krävs för AI-berikningsfunktioner som använder Azure Storage för att hantera felsökningssessionsdata, cachelagring av berikning och långsiktig innehållslagring i ett kunskapslager.

Följande steg illustrerar arbetsflödet för rolltilldelning. Det här exemplet gäller Azure OpenAI. Andra Azure resurser finns i Anslut till Azure Storage, Anslut till Azure Cosmos DB eller Anslut till Azure SQL.

  1. Gå till din Azure OpenAI-resurs i Azure-portalen.

  2. Välj Åtkomstkontroll på den vänstra menyn.

  3. Välj Lägg till och sedan Lägg till rolltilldelning.

  4. Under Jobbfunktionsroller väljer du Cognitive Services OpenAI-användare och sedan Nästa.

  5. Under Medlemmar väljer du Hanterad identitet och sedan Medlemmar.

  6. Filtrera efter prenumeration och resurstyp (Söktjänster) och välj sedan söktjänstens hanterade identitet.

  7. Välj Granska + tilldela.

Exempel på anslutningssträngar

Kom ihåg från beskrivningen av scenarier att du kan använda hanterade identiteter i anslutningssträngar till andra Azure resurser. Det här avsnittet innehåller exempel.

Systemtilldelade hanterade identitetsanslutningar använder allmänt tillgängliga REST API-versioner. Användartilldelade hanterade identitetsanslutningar använder REST API version 2026-04-01 eller senare, med undantag för cacheanslutningar för berikande, som fortfarande kräver en förhandsversion av API:et.

Tips

Du kan skapa de flesta av dessa objekt i Azure portalen, ange antingen en system- eller användartilldelad hanterad identitet och sedan visa JSON-definitionen för att hämta reťazec pripojenia.

Blobdatakälla (systemhanterad identitet):

En indexerares datakälla innehåller en credentials egenskap som avgör hur anslutningen görs till datakällan. I följande exempel visas en reťazec pripojenia som anger det unika resurs-ID:t för ett lagringskonto.

En systemhanterad identitet anges när en anslutningssträng är det unika resurs-ID:t för en tjänst eller ett program som är medveten om Microsoft Entra ID. En användartilldelad hanterad identitet anges via en identity egenskap.

"credentials": {
    "connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
    }

Blobdatakälla (användarhanterad identitet):

En användartilldelad hanterad identitet stöds via identity egenskapen på SearchIndexerDataSource med REST API version 2026-04-01 eller senare.

"credentials": {
    "connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
    },
  . . .
"identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
  }

Kunskapslager (systemhanterad identitet):

En definition för kunskapslager innehåller en reťazec pripojenia till Azure Storage. Connection string är det unika resurs-ID:t för ditt lagringskonto. Observera att strängen inte innehåller containrar eller tabeller i sökvägen. Dessa definieras i den inbäddade projektionsdefinitionen, inte i reťazec pripojenia.

"knowledgeStore": {
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}

Kunskapsarkiv (användarhanterad identitet):

En användartilldelad hanterad identitet stöds via identity egenskapen på SearchIndexerKnowledgeStore med REST API version 2026-04-01 eller senare.

"knowledgeStore": {
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};",
  "identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
  }
}

Berikningscache:

En indexerare skapar, använder och minns containern som används för cachelagrade berikningar. Det är inte nödvändigt att ta med containern i cacheanslutningssträngen. Du hittar objekt-ID:t på sidan Identity i söktjänsten i Azure-portalen.

"cache": {
  "enableReprocessing": true,
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}

Felsökningssession:

En felsökningssession körs i Azure-portalen och tar en reťazec pripojenia när du startar sessionen. Du kan klistra in en sträng som liknar följande exempel.

"ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/{container-name};",

Anpassad färdighet:

En anpassad färdighet riktar sig mot slutpunkten för en Azure-funktion eller app som värd för anpassad kod.

  • uri är slutpunkten för funktionen eller appen.

  • authResourceId instruerar söktjänsten att ansluta med hjälp av en hanterad identitet, och överför program-ID:t för målfunktionen eller appen i egenskapsfältet.

{
  "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
  "description": "A custom skill that can identify positions of different phrases in the source text",
  "uri": "https://contoso.count-things.com",
  "authResourceId": "<Azure-AD-registered-application-ID>",
  "batchSize": 4,
  "context": "/document",
  "inputs": [ ... ],
  "outputs": [ ...]
}

Anslutningsexempel för modeller

För anslutningar som görs med hanterade identiteter visar det här avsnittet exempel på anslutningsinformation som används av en söktjänst för att ansluta till en modell på en annan resurs. En anslutning via en systemhanterad identitet är transparent. identiteten och rollerna är på plats och anslutningen lyckas om de är korrekt konfigurerade. En användarhanterad identitet kräver däremot extra anslutningsegenskaper.

Azure OpenAI-inbäddningsfärdighet och Azure OpenAI-vektoriserare:

Ett Azure OpenAI-inbäddingsverktyg och en vektoriserare i AI Search riktar sig mot slutpunkten för en Azure OpenAI som är värd för en inbäddad modell. Slutpunkten anges i Azure OpenAI-inbäddningsfärdighetsdefinitionen och/eller i definitionen Azure OpenAI vectorizer.

Den systemhanterade identiteten används automatiskt om "apikey" och "authIdentity" är tom, vilket visas i följande exempel. Egenskapen "authIdentity" används endast för användartilldelade hanterade identiteter.

Exempel på systemhanterad identitet:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://url.openai.azure.com/",
  "deploymentId": "text-embedding-ada-002",
  "modelName": "text-embedding-ada-002",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Här är ett vektoriserarexempel som konfigurerats för en systemtilldelad hanterad identitet. En vektoriserare anges i ett sökindex.

 "vectorizers": [
    {
      "name": "my_azure_open_ai_vectorizer",
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://url.openai.azure.com",
        "deploymentId": "text-embedding-ada-002",
        "modelName": "text-embedding-ada-002"
      }
    }
  ]

Exempel på användartilldelad hanterad identitet:

En användartilldelad hanterad identitet används om "apiKey" är tom och ett giltigt "authIdentity" anges.

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://url.openai.azure.com/",
  "deploymentId": "text-embedding-ada-002",
  "modelName": "text-embedding-ada-002",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ],
  "authIdentity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
   }
}

Här är ett vektoriserarexempel som konfigurerats för en användartilldelad förvaltad identitet. En vektoriserare anges i ett sökindex.

 "vectorizers": [
    {
      "name": "my_azure_open_ai_vectorizer",
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://url.openai.azure.com",
        "deploymentId": "text-embedding-ada-002",
        "modelName": "text-embedding-ada-002"
        "authIdentity": {
            "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
            "userAssignedIdentity": "/subscriptions/<subscription_id>/resourcegroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-managed-identity-name>"
          }
      }
    }
  ]

Sök efter brandväggsåtkomst

Om din Azure resurs finns bakom en brandvägg kontrollerar du att det finns en regel för inkommande trafik som tar emot begäranden från söktjänsten och från Azure portalen.

Se även