Delen via


Verbinding maken met Azure Storage met behulp van een beheerde identiteit (Azure AI Search)

In dit artikel wordt uitgelegd hoe u een zoekserviceverbinding met een Azure Storage-account configureert met behulp van een beheerde identiteit in plaats van referenties op te geven in de verbindingsreeks.

U kunt een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit gebruiken. Beheerde identiteiten zijn Microsoft Entra-aanmeldingen en vereisen roltoewijzingen voor toegang tot Azure Storage.

Vereisten

Notitie

Als de opslag is beveiligd met het netwerk en in dezelfde regio als uw zoekservice, moet u een door het systeem toegewezen beheerde identiteit en een van de volgende netwerkopties gebruiken: verbinding maken als een vertrouwde service of verbinding maken met behulp van de regel voor het resource-exemplaar.

Een roltoewijzing maken in Azure Storage

  1. Meld u aan bij Azure Portal en zoek uw opslagaccount.

  2. Klik op Toegangsbeheer (IAM) .

  3. Selecteer Toevoegen en selecteer vervolgens Roltoewijzing.

  4. Selecteer in de lijst met functierollen de rollen die nodig zijn voor uw zoekservice:

    Opdracht Roltoewijzing
    Blob-indexering met behulp van een indexeerfunctie Opslagblobgegevenslezer toevoegen
    ADLS Gen2-indexering met behulp van een indexeerfunctie Opslagblobgegevenslezer toevoegen
    Tabelindexering met behulp van een indexeerfunctie Opslagtabelgegevenslezer toevoegen
    Bestandsindexering met behulp van een indexeerfunctie Lezer en gegevenstoegang toevoegen
    Schrijven naar een kennisarchief Voeg Inzender voor opslagblobgegevens toe voor object- en bestandsprojecties, en Lezer en Gegevenstoegang voor tabelprojecties.
    Schrijven naar een verrijkingscache Inzender voor opslagblobgegevens en Lezer voor opslagtabelgegevens toevoegen
    Foutopsporingssessiestatus opslaan Inzender voor opslagblobgegevens toevoegen
  5. Selecteer Volgende.

  6. Selecteer Beheerde identiteit en selecteer vervolgens Leden.

  7. Filter op door het systeem toegewezen beheerde identiteiten of door de gebruiker toegewezen beheerde identiteiten. U ziet nu de beheerde identiteit die u eerder hebt gemaakt voor uw zoekservice. Als u er nog geen hebt, raadpleegt u Zoeken configureren om een beheerde identiteit te gebruiken. Als u er al een hebt ingesteld, maar deze niet beschikbaar is, geeft u deze een paar minuten.

  8. Selecteer de identiteit en sla de roltoewijzing op.

Een beheerde identiteit opgeven in een verbindingsreeks

Zodra u een roltoewijzing hebt, kunt u een verbinding met Azure Storage instellen die onder die rol werkt.

Indexeerfuncties gebruiken een gegevensbronobject voor verbindingen met een externe gegevensbron. In deze sectie wordt uitgelegd hoe u een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit op een gegevensbron verbindingsreeks opgeeft. Meer verbindingsreeks voorbeelden vindt u in het artikel over beheerde identiteiten.

Tip

U kunt een gegevensbronverbinding maken met Azure Storage in Azure Portal, een door het systeem of de gebruiker toegewezen beheerde identiteit opgeven en vervolgens de JSON-definitie bekijken om te zien hoe de verbindingsreeks is geformuleerd.

Door het systeem toegewezen beheerde identiteit

U moet al een door het systeem toegewezen beheerde identiteit hebben geconfigureerd en deze moet een roltoewijzing hebben in Azure Storage.

Voor verbindingen die zijn gemaakt met een door het systeem toegewezen beheerde identiteit, is de enige wijziging in de definitie van de gegevensbron de indeling van de credentials eigenschap.

Geef een verbindingsreeks op die een ResourceId, zonder accountsleutel of wachtwoord bevat. De ResourceId id moet de abonnements-id van het opslagaccount, de resourcegroep van het opslagaccount en de naam van het opslagaccount bevatten.

POST https://[service name].search.windows.net/datasources?api-version=2024-07-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>" 
    }
}   

Door de gebruiker toegewezen beheerde identiteit

U moet een door de gebruiker toegewezen beheerde identiteit hebben die al is geconfigureerd en gekoppeld aan uw zoekservice en de identiteit moet een roltoewijzing hebben in Azure Storage.

Verbindingen die zijn gemaakt via door de gebruiker toegewezen beheerde identiteiten gebruiken dezelfde referenties als een door het systeem toegewezen beheerde identiteit, plus een extra identiteitseigenschap die de verzameling door de gebruiker toegewezen beheerde identiteiten bevat. Er moet slechts één door de gebruiker toegewezen beheerde identiteit worden opgegeven bij het maken van de gegevensbron.

Geef een verbindingsreeks op die een ResourceId, zonder accountsleutel of wachtwoord bevat. De ResourceId id moet de abonnements-id van het opslagaccount, de resourcegroep van het opslagaccount en de naam van het opslagaccount bevatten.

Geef een identity gebruik van de syntaxis op die wordt weergegeven in het volgende voorbeeld. Ingesteld userAssignedIdentity op de door de gebruiker toegewezen beheerde identiteit.

POST https://[service name].search.windows.net/datasources?api-version=2024-07-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" 
    }
}   

Verbindingsgegevens en machtigingen voor de externe service worden tijdens runtime gevalideerd tijdens de uitvoering van de indexeerfunctie. Als de indexeerfunctie is geslaagd, zijn de verbindingssyntaxis en roltoewijzingen geldig. Zie Indexeerfuncties, vaardigheden of documenten uitvoeren of opnieuw instellen voor meer informatie.

Toegang tot met het netwerk beveiligde gegevens in opslagaccounts

Azure-opslagaccounts kunnen verder worden beveiligd met behulp van firewalls en virtuele netwerken. Als u inhoud wilt indexeren van een opslagaccount dat is beveiligd met behulp van een firewall of virtueel netwerk, raadpleegt u Indexeerfunctieverbindingen maken met Azure Storage als een vertrouwde service.

Zie ook