Dela via


Ansluta till Azure Storage med en hanterad identitet (Azure AI Search)

Den här artikeln beskriver hur du konfigurerar en söktjänstanslutning till ett Azure Storage-konto med hjälp av en hanterad identitet i stället för att ange autentiseringsuppgifter i niska veze.

Du kan använda en systemtilldelad hanterad identitet eller en användartilldelad hanterad identitet. Hanterade identiteter är Microsoft Entra-inloggningar och kräver rolltilldelningar för åtkomst till Azure Storage.

Förutsättningar

Kommentar

Om lagringen är nätverksskyddad och i samma region som söktjänsten måste du använda en systemtilldelad hanterad identitet och antingen något av följande nätverksalternativ: ansluta som en betrodd tjänst eller ansluta med hjälp av resursinstansregeln.

Skapa en rolltilldelning i Azure Storage

  1. Logga in på Azure-portalen och leta reda på ditt lagringskonto.

  2. Välj Åtkomstkontroll (IAM) .

  3. Välj Lägg till och välj sedan Rolltilldelning.

  4. I listan över jobbfunktionsroller väljer du de roller som behövs för söktjänsten:

    Uppgift Rolltilldelning
    Blobindexering med hjälp av en indexerare Lägg till Storage Blob Data Reader
    ADLS Gen2-indexering med hjälp av en indexerare Lägg till Storage Blob Data Reader
    Tabellindexering med hjälp av en indexerare Lägg till läsare och dataåtkomst
    Filindexering med hjälp av en indexerare Lägg till läsare och dataåtkomst
    Skriva till ett kunskapslager Lägg till Storage Blob DataContributor för objekt- och filprojektioner samt Läsare och Dataåtkomst för tabellprojektioner.
    Skriva till en berikningscache Lägg till Storage Blob Data-deltagare
    Spara sessionstillstånd för felsökning Lägg till Storage Blob Data-deltagare
  5. Välj Nästa.

  6. Välj Hanterad identitet och välj sedan Medlemmar.

  7. Filtrera efter systemtilldelade hanterade identiteter eller användartilldelade hanterade identiteter. Du bör se den hanterade identitet som du skapade tidigare för söktjänsten. Om du inte har någon kan du läsa Konfigurera sökning för att använda en hanterad identitet. Om du redan har konfigurerat en, men den inte är tillgänglig, kan du ge den några minuter.

  8. Välj identiteten och spara rolltilldelningen.

Ange en hanterad identitet i en niska veze

När du har en rolltilldelning kan du konfigurera en anslutning till Azure Storage som fungerar under den rollen.

Indexerare använder ett datakällaobjekt för anslutningar till en extern datakälla. I det här avsnittet beskrivs hur du anger en systemtilldelad hanterad identitet eller en användartilldelad hanterad identitet på en datakälla niska veze. Du hittar fler niska veze exempel i artikeln hanterad identitet.

Dricks

Du kan skapa en datakällaanslutning till Azure Storage i Azure-portalen, ange antingen en system- eller användartilldelad hanterad identitet och sedan visa JSON-definitionen för att se hur niska veze formuleras.

Systemtilldelad hanterad identitet

Du måste redan ha en systemtilldelad hanterad identitet konfigurerad och den måste ha en rolltilldelning i Azure Storage.

För anslutningar som görs med hjälp av en systemtilldelad hanterad identitet är den enda ändringen av datakällans definition formatet för credentials egenskapen.

Ange en ResourceId som inte har någon kontonyckel eller lösenord. ResourceId Måste innehålla prenumerations-ID för lagringskontot, resursgruppen för lagringskontot och namnet på lagringskontot.

POST https://[service name].search.windows.net/datasources?api-version=2023-11-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    }
}   

Användartilldelad hanterad identitet

Du måste ha en användartilldelad hanterad identitet som redan har konfigurerats och associerats med din söktjänst, och identiteten måste ha en rolltilldelning i Azure Storage.

Anslutningar som görs via användartilldelade hanterade identiteter använder samma autentiseringsuppgifter som en systemtilldelad hanterad identitet, plus en extra identitetsegenskap som innehåller samlingen med användartilldelade hanterade identiteter. Endast en användartilldelad hanterad identitet ska anges när datakällan skapas. Ange userAssignedIdentity till den användartilldelade hanterade identiteten.

Ange en ResourceId som inte har någon kontonyckel eller lösenord. ResourceId Måste innehålla prenumerations-ID för lagringskontot, resursgruppen för lagringskontot och namnet på lagringskontot.

Ange en identity syntax som visas i följande exempel.

POST https://[service name].search.windows.net/datasources?api-version=2023-11-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    },
    "identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
    }
}   

Anslutningsinformation och behörigheter för fjärrtjänsten verifieras vid körning under indexeringskörningen. Om indexeraren lyckas är anslutningssyntaxen och rolltilldelningarna giltiga. Mer information finns i Köra eller återställa indexerare, färdigheter eller dokument.

Åtkomst till nätverkssäkrade data i lagringskonton

Azure Storage-konton kan skyddas ytterligare med hjälp av brandväggar och virtuella nätverk. Om du vill indexeras innehåll från ett lagringskonto som skyddas med hjälp av en brandvägg eller ett virtuellt nätverk läser du Skapa indexerareanslutningar till Azure Storage som en betrodd tjänst.

Se även