Delen via


Veilig Azure OpenAI gebruiken op uw gegevens

Notitie

Vanaf juni 2024 is het toepassingsformulier voor het door Microsoft beheerde privé-eindpunt voor Azure AI Search niet meer nodig.

Het beheerde privé-eindpunt wordt verwijderd uit het door Microsoft beheerde virtuele netwerk in juli 2025. Als u vóór juni 2024 al een beheerd privé-eindpunt hebt ingericht via het toepassingsproces, schakelt u vertrouwde Azure AI Search-service zo vroeg mogelijk in om serviceonderbreking te voorkomen.

Gebruik dit artikel voor meer informatie over het veilig gebruiken van Azure OpenAI op uw gegevens door gegevens en resources te beveiligen met op rollen gebaseerd toegangsbeheer van Microsoft Entra ID, virtuele netwerken en privé-eindpunten.

Dit artikel is alleen van toepassing wanneer u Azure OpenAI op uw gegevens gebruikt met tekst. Het is niet van toepassing op Azure OpenAI On Your Data met afbeeldingen.

Architectuur voor gegevensopname

Wanneer u Azure OpenAI op uw gegevens gebruikt om gegevens op te nemen uit Azure Blob Storage, lokale bestanden of URL's in Azure AI Search, wordt het volgende proces gebruikt om de gegevens te verwerken.

Een diagram met het proces van het opnemen van gegevens.

  • Stap 1 en 2 worden alleen gebruikt voor het uploaden van bestanden.
  • Het downloaden van URL's naar uw blobopslag wordt niet geïllustreerd in dit diagram. Nadat webpagina's van internet zijn gedownload en geüpload naar blobopslag, zijn stap 3 en hoger hetzelfde.
  • Twee indexeerfuncties, twee indexen, twee gegevensbronnen en een aangepaste vaardigheid worden gemaakt in de Azure AI Search-resource.
  • De segmentcontainer wordt gemaakt in de blobopslag.
  • Als het schema de opname activeert, begint het opnameproces vanaf stap 7.
  • De API van preprocessing-jobs Azure OpenAI implementeert het web-API-protocol voor azure AI Search-klantvaardigheden en verwerkt de documenten in een wachtrij.
  • Azure OpenAI:
    1. Intern wordt de eerste indexeerfunctie gebruikt die eerder is gemaakt om de documenten te kraken.
    2. Maakt gebruik van een heuristisch algoritme om segmentering uit te voeren. Hierin worden tabelindelingen en andere opmaakelementen in de segmentgrens gehonoreerd om de beste segmentkwaliteit te garanderen.
    3. Als u vectorzoekopdrachten wilt inschakelen, gebruikt Azure OpenAI de geselecteerde instelling voor insluiten om de segmenten te vectoriseren.
  • Wanneer alle gegevens die door de service worden bewaakt, worden verwerkt, activeert Azure OpenAI de tweede indexeerfunctie.
  • De indexeerfunctie slaat de verwerkte gegevens op in een Azure AI-Search-service.

Voor de beheerde identiteiten die worden gebruikt in service-aanroepen, worden alleen door het systeem toegewezen beheerde identiteiten ondersteund. Door de gebruiker toegewezen beheerde identiteiten worden niet ondersteund.

Deductiearchitectuur

Een diagram met het proces voor het gebruik van de deductie-API.

Wanneer u API-aanroepen verzendt om te chatten met een Azure OpenAI-model op uw gegevens, moet de service de indexvelden ophalen tijdens deductie om veldentoewijzing uit te voeren. Daarom vereist de service dat de Azure OpenAI-identiteit de Search Service Contributor rol heeft voor de zoekservice, zelfs tijdens deductie.

Als een insluitafhankelijkheid wordt opgegeven in de deductieaanvraag, wordt de herschreven query door Azure OpenAI gevectoreerd en worden zowel query's als vectoren verzonden naar Azure AI Search voor vectorzoekopdrachten.

Toegangsbeheer op documentniveau

Notitie

Toegangsbeheer op documentniveau wordt alleen ondersteund voor Azure AI Search.

Met Azure OpenAI op uw gegevens kunt u de documenten beperken die kunnen worden gebruikt in antwoorden voor verschillende gebruikers met Azure AI Search-beveiligingsfilters. Wanneer u toegang op documentniveau inschakelt, worden de zoekresultaten door Azure AI Search ingekort op basis van het Microsoft Entra-groepslidmaatschap van de gebruiker dat is opgegeven in het filter. U kunt alleen toegang op documentniveau inschakelen voor bestaande Azure AI Search-indexen. Toegang op documentniveau inschakelen:

  1. Volg de stappen in de Documentatie van Azure AI Search om uw toepassing te registreren en gebruikers en groepen te maken.

  2. Indexeer uw documenten met hun toegestane groepen. Zorg ervoor dat uw nieuwe beveiligingsvelden het schema hebben:

    {"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
    

    group_ids is de standaardveldnaam. Als u een andere veldnaam gebruikt, my_group_idskunt u het veld toewijzen in indexveldtoewijzing.

  3. Zorg ervoor dat voor elk gevoelig document in de index deze waarde voor het beveiligingsveld is ingesteld op de toegestane groepen van het document.

  4. Voeg uw gegevensbron toe in Azure OpenAI Studio. in de sectie indexveldtoewijzing kunt u nul of één waarde toewijzen aan het veld toegestane groepen , zolang het schema compatibel is. Als het veld toegestane groepen niet is toegewezen, is de toegang op documentniveau uitgeschakeld.

Azure OpenAI Studio

Zodra de Azure AI Search-index is verbonden, hebben uw antwoorden in de studio documenttoegang op basis van de Microsoft Entra-machtigingen van de aangemelde gebruiker.

Webapp

Als u een gepubliceerde web-app gebruikt, moet u deze opnieuw implementeren om een upgrade uit te voeren naar de nieuwste versie. De nieuwste versie van de web-app bevat de mogelijkheid om de groepen op te halen van het Microsoft Entra-account van de aangemelde gebruiker, deze in de cache op te nemen en de groeps-id's op te nemen in elke API-aanvraag.

API

Wanneer u de API gebruikt, geeft u de filter parameter door in elke API-aanvraag. Voorbeeld:

{
    "messages": [
        {
            "role": "user",
            "content": "who is my manager?"
        }
    ],
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                "endpoint": "'$AZURE_AI_SEARCH_ENDPOINT'",
                "key": "'$AZURE_AI_SEARCH_API_KEY'",
                "indexName": "'$AZURE_AI_SEARCH_INDEX'",
                "filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
            }
        }
    ]
}
  • my_group_ids is de veldnaam die u hebt geselecteerd voor toegestane groepen tijdens het toewijzen van velden.
  • group_id1, group_id2 zijn groepen die zijn toegeschreven aan de aangemelde gebruiker. De clienttoepassing kan groepen van gebruikers ophalen en in de cache opslaan.

Resourceconfiguratie

Gebruik de volgende secties om uw resources te configureren voor optimaal veilig gebruik. Zelfs als u van plan bent om slechts een deel van uw resources te beveiligen, moet u nog steeds alle stappen volgen.

In dit artikel worden netwerkinstellingen beschreven met betrekking tot het uitschakelen van een openbaar netwerk voor Azure OpenAI-resources, Azure AI-zoekbronnen en opslagaccounts. Het gebruik van geselecteerde netwerken met IP-regels wordt niet ondersteund, omdat de IP-adressen van de services dynamisch zijn.

Resourcegroep maken

Maak een resourcegroep, zodat u alle relevante resources kunt ordenen. De resources in de resourcegroep omvatten, maar zijn niet beperkt tot:

  • Eén virtueel netwerk
  • Drie belangrijke services: één Azure OpenAI, één Azure AI Search, één opslagaccount
  • Drie privé-eindpunten, elk is gekoppeld aan één sleutelservice
  • Drie netwerkinterfaces, elk is gekoppeld aan één privé-eindpunt
  • Eén virtuele netwerkgateway voor toegang vanaf on-premises clientcomputers
  • Eén web-app met geïntegreerd virtueel netwerk
  • Eén Privé-DNS zone, zodat de web-app het IP-adres van uw Azure OpenAI vindt

Een virtueel netwerk maken

Het virtuele netwerk heeft drie subnetten.

  1. Het eerste subnet wordt gebruikt voor de gateway van het virtuele netwerk.
  2. Het tweede subnet wordt gebruikt voor de privé-eindpunten voor de drie sleutelservices.
  3. Het derde subnet is leeg en wordt gebruikt voor de integratie van uitgaande virtuele netwerken van web-apps.

Een diagram met de architectuur van het virtuele netwerk.

Azure OpenAI configureren

Aangepast subdomein ingeschakeld

Het aangepaste subdomein is vereist voor verificatie op basis van Microsoft Entra ID en privé-DNS-zone. Als de Azure OpenAI-resource wordt gemaakt met behulp van een ARM-sjabloon, moet het aangepaste subdomein expliciet worden opgegeven.

Beheerde identiteit inschakelen

Als u uw Azure AI Search- en opslagaccount wilt toestaan om uw Azure OpenAI-service te herkennen via Microsoft Entra ID-verificatie, moet u een beheerde identiteit toewijzen voor uw Azure OpenAI-service. De eenvoudigste manier is om te schakelen op door het systeem toegewezen beheerde identiteit in Azure Portal. Een schermopname van de door het systeem toegewezen beheerde identiteit in Azure Portal.

Als u de beheerde identiteiten via de beheer-API wilt instellen, raadpleegt u de naslagdocumentatie voor de beheer-API.


"identity": {
  "principalId": "12345678-abcd-1234-5678-abc123def",
  "tenantId": "1234567-abcd-1234-1234-abcd1234",
  "type": "SystemAssigned, UserAssigned", 
  "userAssignedIdentities": {
    "/subscriptions/1234-5678-abcd-1234-1234abcd/resourceGroups/my-resource-group",
    "principalId": "12345678-abcd-1234-5678-abcdefg1234", 
    "clientId": "12345678-abcd-efgh-1234-12345678"
  }
}

Vertrouwde service inschakelen

Als u uw Azure AI Search wilt toestaan om uw Azure OpenAI preprocessing-jobs aan te roepen als web-API voor aangepaste vaardigheden, terwijl Azure OpenAI geen openbare netwerktoegang heeft, moet u Azure OpenAI instellen om Azure AI Search als een vertrouwde service te omzeilen op basis van een beheerde identiteit. Azure OpenAI identificeert het verkeer van uw Azure AI Search door de claims in het JSON-webtoken (JWT) te verifiëren. Azure AI Search moet gebruikmaken van de door het systeem toegewezen verificatie van beheerde identiteiten om de web-API voor aangepaste vaardigheden aan te roepen.

Instellen networkAcls.bypass op basis AzureServices van de beheer-API. Zie het artikel Over virtuele netwerken voor meer informatie.

Deze stap kan alleen worden overgeslagen als u een gedeelde privékoppeling voor uw Azure AI Search-resource hebt.

Openbare netwerktoegang uitschakelen

U kunt openbare netwerktoegang van uw Azure OpenAI-resource uitschakelen in Azure Portal.

Als u toegang wilt verlenen tot uw Azure OpenAI-service vanaf uw clientcomputers, zoals het gebruik van Azure OpenAI Studio, moet u privé-eindpuntverbindingen maken die verbinding maken met uw Azure OpenAI-resource.

U kunt de prijscategorie Basic en hoger gebruiken voor de zoekresource. Het is niet nodig, maar als u de prijscategorie S2 gebruikt, zijn er geavanceerde opties beschikbaar.

Beheerde identiteit inschakelen

Als u wilt dat uw andere resources azure AI Search herkennen met behulp van Microsoft Entra ID-verificatie, moet u een beheerde identiteit toewijzen voor uw Azure AI Search. De eenvoudigste manier is om in te schakelen op de door het systeem toegewezen beheerde identiteit in Azure Portal.

Een schermopname met de instelling voor beheerde identiteiten voor Azure AI Search in Azure Portal.

Op rollen gebaseerd toegangsbeheer inschakelen

Omdat Azure OpenAI beheerde identiteit gebruikt voor toegang tot Azure AI Search, moet u op rollen gebaseerd toegangsbeheer inschakelen in uw Azure AI Search. Als u dit wilt doen in Azure Portal, selecteert u Beide of op rollen gebaseerd toegangsbeheer op het tabblad Sleutels in Azure Portal.

Een schermopname van de optie beheerde identiteit voor Azure AI-zoekopdrachten in Azure Portal.

Zie het Artikel over Azure AI Search RBAC voor meer informatie.

Openbare netwerktoegang uitschakelen

U kunt openbare netwerktoegang van uw Azure AI Search-resource uitschakelen in Azure Portal.

Als u toegang wilt verlenen tot uw Azure AI Search-resource vanaf uw clientcomputers, zoals het gebruik van Azure OpenAI Studio, moet u privé-eindpuntverbindingen maken die verbinding maken met uw Azure AI Search-resource.

Vertrouwde service inschakelen

U kunt een vertrouwde service van uw zoekresource inschakelen vanuit De Azure-portal.

Ga naar het netwerktabblad van uw zoekresource. Als de openbare netwerktoegang is uitgeschakeld, selecteert u Toestaan dat Azure-services in de lijst met vertrouwde services toegang krijgen tot deze zoekservice.

Een diagram met de vertrouwde zoekservice.

U kunt ook de REST API gebruiken om een vertrouwde service in te schakelen. In dit voorbeeld worden de Azure CLI en het jq hulpprogramma gebruikt.

rid=/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.Search/searchServices/<YOUR-RESOURCE-NAME>
apiVersion=2024-03-01-Preview
#store the resource properties in a variable
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" > search.json

#replace bypass with AzureServices using jq
jq '.properties.networkRuleSet.bypass = "AzureServices"' search.json > search_updated.json

#apply the updated properties to the resource
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" \
    --method PUT \
    --body @search_updated.json

Tip

Als u een basic- of standard-prijscategorie gebruikt of als het uw eerste keer is om al uw resources veilig in te stellen, moet u dit geavanceerde onderwerp overslaan.

Deze sectie is alleen van toepassing op de zoekresource van de S2-prijscategorie, omdat hiervoor ondersteuning voor privé-eindpunten is vereist voor indexeerfuncties met een vaardighedenset.

Als u een gedeelde privékoppeling wilt maken vanuit uw zoekresource die verbinding maakt met uw Azure OpenAI-resource, raadpleegt u de zoekdocumentatie. Selecteer het resourcetype als Microsoft.CognitiveServices/accounts en de groeps-id als openai_account.

Met gedeelde privékoppeling wordt stap 8 van het architectuurdiagram voor gegevensopname gewijzigd van het overslaan van een vertrouwde service naar een gedeelde privékoppeling.

Een diagram met het proces van het opnemen van gegevens met een S2-zoekresource.

Opslagaccount configureren

Vertrouwde service inschakelen

Als u toegang wilt verlenen tot uw opslagaccount vanuit Azure OpenAI en Azure AI Search, moet u opslagaccount instellen om uw Azure OpenAI en Azure AI Search te omzeilen als vertrouwde services op basis van beheerde identiteit.

Navigeer in Azure Portal naar het tabblad Netwerken van uw opslagaccount, kies Geselecteerde netwerken en selecteer Vervolgens Azure-services in de lijst met vertrouwde services toestaan voor toegang tot dit opslagaccount en klik op Opslaan.

Openbare netwerktoegang uitschakelen

U kunt openbare netwerktoegang van uw opslagaccount uitschakelen in Azure Portal.

Als u toegang wilt verlenen tot uw opslagaccount vanaf uw clientcomputers, zoals het gebruik van Azure OpenAI Studio, moet u privé-eindpuntverbindingen maken die verbinding maken met uw blobopslag.

Roltoewijzingen

Tot nu toe hebt u elke resource al onafhankelijk ingesteld. Vervolgens moet u toestaan dat de services elkaar autoriseren.

Role Gevolmachtigde Bron Beschrijving
Search Index Data Reader Azure OpenAI Azure AI Search Deductieservice voert een query uit op de gegevens uit de index.
Search Service Contributor Azure OpenAI Azure AI Search Deductieservice voert een query uit op het indexschema voor automatisch toewijzen van velden. De gegevensopnameservice maakt index, gegevensbronnen, vaardighedenset, indexeerfunctie en voert query's uit op de status van de indexeerfunctie.
Storage Blob Data Contributor Azure OpenAI Opslagaccount Leest uit de invoercontainer en schrijft het vooraf verwerkte resultaat naar de uitvoercontainer.
Cognitive Services OpenAI Contributor Azure AI Search Azure OpenAI Aangepaste vaardigheid.
Storage Blob Data Reader Azure AI Search Opslagaccount Leest document-blobs en segment-blobs.
Cognitive Services OpenAI User Webapp Azure OpenAI Conclusie.

In de bovenstaande tabel betekent dit de door het Assignee systeem toegewezen beheerde identiteit van die resource.

De beheerder moet de Owner rol voor deze resources hebben om roltoewijzingen toe te voegen.

Zie de Documentatie voor Azure RBAC voor instructies over het instellen van deze rollen in Azure Portal. U kunt het beschikbare script op GitHub gebruiken om de roltoewijzingen programmatisch toe te voegen.

Om de ontwikkelaars in staat te stellen deze resources te gebruiken om toepassingen te bouwen, moet de beheerder de identiteit van de ontwikkelaars toevoegen met de volgende roltoewijzingen aan de resources.

Role Bron Beschrijving
Cognitive Services OpenAI Contributor Azure OpenAI Roep de openbare opname-API aan vanuit Azure OpenAI Studio. De Contributor rol is niet voldoende, omdat als u alleen een rol hebt Contributor , u geen API voor het gegevensvlak kunt aanroepen via Microsoft Entra ID-verificatie en Microsoft Entra ID-verificatie is vereist in de beveiligde installatie die in dit artikel wordt beschreven.
Cognitive Services User Azure OpenAI API-sleutels weergeven vanuit Azure OpenAI Studio.
Contributor Azure AI Search API-sleutels vermelden om indexen weer te geven vanuit Azure OpenAI Studio.
Contributor Opslagaccount Maak een lijst met SAS-accounts voor het uploaden van bestanden vanuit Azure OpenAI Studio.
Contributor De resourcegroep of het Azure-abonnement waarin de ontwikkelaar de web-app moet implementeren Implementeer een web-app in het Azure-abonnement van de ontwikkelaar.

Gateway en client configureren

Voor toegang tot de Azure OpenAI-service vanaf uw on-premises clientcomputers is een van de methoden om Azure VPN Gateway en Azure VPN Client te configureren.

Volg deze richtlijn voor het maken van een virtuele netwerkgateway voor uw virtuele netwerk.

Volg deze richtlijn om punt-naar-site-configuratie toe te voegen en verificatie op basis van Microsoft Entra ID in te schakelen. Download het configuratiepakket voor het Azure VPN-clientprofiel, pak het uit en importeer het AzureVPN/azurevpnconfig.xml bestand in uw Azure VPN-client.

Een schermopname die laat zien waar u een Azure VPN-clientprofiel importeert.

Configureer uw lokale-machinebestand hosts om de hostnamen van uw resources te laten verwijzen naar de privé-IP's in uw virtuele netwerk. Het hosts bestand bevindt zich in C:\Windows\System32\drivers\etc voor Windows en op /etc/hosts Linux. Voorbeeld:

10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net

Azure OpenAI Studio

U moet alle Functies van Azure OpenAI Studio, inclusief opname en deductie, van uw on-premises clientcomputers kunnen gebruiken.

Webapp

De web-app communiceert met uw Azure OpenAI-resource. Omdat uw Azure OpenAI-resource een openbaar netwerk heeft uitgeschakeld, moet de web-app worden ingesteld om het privé-eindpunt in uw virtuele netwerk te gebruiken voor toegang tot uw Azure OpenAI-resource.

De web-app moet uw Azure OpenAI-hostnaam oplossen naar het privé-IP-adres van het privé-eindpunt voor Azure OpenAI. U moet dus eerst de privé-DNS-zone voor uw virtuele netwerk configureren.

  1. Maak een privé-DNS-zone in uw resourcegroep.
  2. Voeg een DNS-record toe. Het IP-adres is het privé-IP-adres van het privé-eindpunt voor uw Azure OpenAI-resource en u kunt het IP-adres ophalen van de netwerkinterface die is gekoppeld aan het privé-eindpunt voor uw Azure OpenAI.
  3. Koppel de privé-DNS-zone aan uw virtuele netwerk , zodat de web-app die is geïntegreerd in dit virtuele netwerk deze privé-DNS-zone kan gebruiken.

Wanneer u de web-app implementeert vanuit Azure OpenAI Studio, selecteert u dezelfde locatie met het virtuele netwerk en selecteert u een juiste SKU, zodat deze de integratiefunctie van het virtuele netwerk kan ondersteunen.

Nadat de web-app is geïmplementeerd, configureert u op het tabblad Netwerken in Azure Portal de integratie van het uitgaande verkeer van het virtuele netwerk van de web-app en kiest u het derde subnet dat u voor de web-app hebt gereserveerd.

Een schermopname van de configuratie van uitgaand verkeer voor de web-app.

De API gebruiken

Zorg ervoor dat uw aanmeldingsreferentie een rol heeft Cognitive Services OpenAI Contributor in uw Azure OpenAI-resource en voer deze eerst uit az login .

Een schermopname van de rol OpenAI-inzender voor Cognitive Services in Azure Portal.

Opname-API

Zie het naslagartikel over de opname-API voor meer informatie over de aanvraag- en antwoordobjecten die worden gebruikt door de opname-API.

Deductie-API

Zie het naslagartikel over de deductie-API voor meer informatie over de aanvraag- en antwoordobjecten die worden gebruikt door de deductie-API.

Microsoft Defender voor Cloud gebruiken

U kunt nu Microsoft Defender voor Cloud (preview) integreren met uw Azure-resources om uw toepassingen te beveiligen. Microsoft Defender voor Cloud uw toepassingen beveiligt met bedreigingsbeveiliging voor AI-workloads, waardoor teams beschikken over op bewijs gebaseerde beveiligingswaarschuwingen die zijn verrijkt met bedreigingsinformatiesignalen van Microsoft en teams in staat stellen hun beveiligingspostuur te versterken met geïntegreerde aanbevelingen voor best practice voor beveiliging.

Gebruik dit formulier om toegang aan te vragen.

Een schermopname met Microsoft Defender voor Cloud.