Sicheres Verwenden von Azure OpenAI für Ihre Daten

In diesem Artikel erfahren Sie, wie Sie Azure OpenAI sicher mit Ihren Daten verwenden, indem Sie Daten und Ressourcen mit der rollenbasierter Zugriffssteuerung von Microsoft Entra ID, virtuellen Netzwerken und privaten Endpunkten schützen.

Dieser Artikel gilt nur bei Verwendung von Azure OpenAI für Ihre Daten mit Text. Er gilt nicht für Azure OpenAI für Ihre Daten mit Bildern.

Architektur für die Datenerfassung

Wenn Sie Azure OpenAI für Ihre Daten zum Erfassen von Daten aus Azure-Blobspeicher, lokalen Dateien oder von URLs in der Azure KI-Suche verwenden, wird der folgende Prozess verwendet, um die Daten zu verarbeiten.

Eine Abbildung, die den Prozess der Datenerfassung zeigt.

  • Die Schritte 1 und 2 werden nur für den Dateiupload verwendet.
  • Das Herunterladen von URLs in Ihre Blob Storage-Instanz wird in diesem Diagramm nicht veranschaulicht. Nachdem Webseiten aus dem Internet heruntergeladen und in Blob Storage hochgeladen wurden, ist die Vorgehensweise ab Schritt 3 identisch.
  • Zwei Indexer, zwei Indizes, zwei Datenquellen und ein benutzerdefinierte Skill werden in der Azure KI-Suche-Ressource erstellt.
  • Der Blockcontainer wird in Blob Storage erstellt.
  • Wenn die Erfassung durch eine geplante Aktualisierung ausgelöst wird, beginnt der Erfassungsprozess bei Schritt 7.
  • Die preprocessing-jobs-API von Azure OpenAI implementiert das Web-API-Protokoll für benutzerdefinierte Skills von Azure KI-Suche und verarbeitet die Dokumente in einer Warteschlange.
  • Azure OpenAI:
    1. verwendet intern den ersten zuvor erstellten Indexer, um die Dokumente aufzuschlüsseln.
    2. verwendet einen Algorithmus auf Heuristikbasis zum Durchführen der Blockerstellung und berücksichtigt dabei Tabellenlayouts und andere Formatierungselemente in der Blockgrenze, um die beste Qualität bei der Blockerstellung sicherzustellen.
    3. Wenn Sie die Vektorsuche aktivieren, verwendet Azure OpenAI die ausgewählte Einbettungsbereitstellung, um die Blöcke intern zu vektorisieren.
  • Wenn alle Daten, die der Dienst überwacht, verarbeitet wurden, löst Azure OpenAI den zweiten Indexer aus.
  • Der Indexer speichert die verarbeiteten Daten in einem Azure KI-Suchdienst.

Für die verwalteten Identitäten, die in Dienstaufrufen verwendet werden, werden nur systemseitig zugewiesene verwaltete Identitäten unterstützt. Benutzerseitig zugewiesene verwaltete Identitäten werden nicht unterstützt.

Rückschlussarchitektur

Eine Abbildung, die den Prozess der Verwendung der Rückschluss-API zeigt.

Wenn Sie API-Aufrufe zum Chatten mit einem Azure OpenAI-Modell für Ihre Daten senden, muss der Dienst die Indexfelder während des Rückschlusses abrufen, um die Feldzuordnung automatisch auszuführen, wenn die Feldzuordnung nicht explizit in der Anforderung festgelegt ist. Daher erfordert der Dienst, dass die Azure OpenAI-Identität auch während Rückschlüssen über die Rolle Search Service Contributor für den Suchdienst verfügt.

Wenn in der Rückschlussanforderung eine Einbettungsbereitstellung bereitgestellt wird, wird die umgeschriebene Abfrage von Azure OpenAI vektorisiert, und sowohl die Abfrage als auch der Vektor werden für die Vektorsuche an Azure KI-Suche übermittelt.

Zugriffssteuerung auf Dokumentebene

Hinweis

Zugriffssteuerung auf Dokumentebene wird nur für die Azure KI-Suche unterstützt.

Mit Azure OpenAI für Ihre Daten können Sie die Dokumente, die in Antworten für verschiedene Benutzer verwendet werden können, mit Sicherheitsfiltern der Azure KI-Suche einschränken. Wenn Sie den Zugriff auf Dokumentebene aktivieren, werden die Suchergebnisse, die von Azure KI Search zurückgegeben und zum Generieren einer Antwort verwendet werden, basierend auf der Benutzergruppenmitgliedschaft in Microsoft Entra gekürzt. Sie können den Zugriff auf Dokumentebene nur für vorhandene Azure KI Search-Indizes aktivieren. So aktivieren Sie den Zugriff auf Dokumentebene:

  1. Führen Sie die Schritte in der Azure KI Search-Dokumentation aus, um Ihre Anwendung zu registrieren und Benutzer und Gruppen zu erstellen.

  2. Indizieren Sie Ihre Dokumente mit den zugehörigen zulässigen Gruppen. Stellen Sie sicher, dass Ihre neuen Sicherheitsfelder das folgende Schema aufweisen:

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

    group_ids ist der Standardfeldname. Wenn Sie einen anderen Feldnamen, wie my_group_ids, verwenden, können Sie das Feld in der Indexfeldzuordnung zuordnen.

  3. Stellen Sie für jedes vertrauliche Dokument im Index sicher, dass der Wert in diesem Sicherheitsfeld ordnungsgemäß festgelegt ist, um die zulässigen Gruppen des Dokuments anzugeben.

  4. Fügen Sie in Azure OpenAI Studio Ihre Datenquelle hinzu. Im Abschnitt Indexfeldzuordnung können Sie dem Feld für zulässige Gruppen null oder einen Wert zuordnen, sofern das Schema kompatibel ist. Wenn das Feld Zulässige Gruppen nicht zugeordnet ist, wird der Zugriff auf Dokumentebene nicht aktiviert.

Azure OpenAI Studio

Sobald der Azure KI Search-Index verbunden ist, erhalten Ihre Antworten in Studio Dokumentzugriff basierend auf den Microsoft Entra-Berechtigungen des angemeldeten Benutzers.

Web-App

Wenn Sie eine veröffentlichte Web-App verwenden, müssen Sie sie erneut bereitstellen, um ein Upgrade auf die neueste Version durchzuführen. Die neueste Version der Web-App umfasst die Möglichkeit, die Gruppen des Microsoft Entra-Kontos angemeldeter Benutzer abzurufen, zwischenzuspeichern und die Gruppen-IDs in die einzelnen API-Anforderungen einzuschließen.

API

Wenn Sie die API verwenden, übergeben Sie den filter-Parameter in jeder API-Anforderung. Beispiel:

{
    "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 ist der Feldname, den Sie während der Feldzuordnung für Zulässige Gruppen ausgewählt haben.
  • group_id1, group_id2 sind Gruppen, die dem angemeldeten Benutzer zugeordnet sind. Die Clientanwendung kann Benutzergruppen abrufen und zwischenspeichern.

Ressourcenkonfiguration

Verwenden Sie die folgenden Abschnitte, um Ihre Ressourcen für eine optimale und sichere Verwendung zu konfigurieren. Auch wenn Sie beabsichtigen, nur einen Teil Ihrer Ressourcen zu sichern, müssen Sie dennoch alle nachstehenden Schritte ausführen.

Dieser Artikel beschreibt die Netzwerkeinstellungen für die Deaktivierung des öffentlichen Netzwerks für Azure OpenAI-Ressourcen, Azure KI-Suchressourcen und Speicherkonten. Die Verwendung ausgewählter Netzwerke mit IP-Regeln wird nicht unterstützt, da die IP-Adressen der Dienste dynamisch sind.

Tipp

Sie können das bash-Skript, das auf GitHub verfügbar ist, verwenden, um Ihr Setup zu überprüfen, und zu ermitteln, ob alle hier aufgeführten Anforderungen erfüllt sind.

Ressourcengruppe erstellen

Erstellen Sie eine Ressourcengruppe, damit Sie alle relevanten Ressourcen organisieren können. Die Ressourcen in der Ressourcengruppe umfassen unter anderem:

  • Ein virtuelles Netzwerk
  • Drei wichtige Dienste: eine Azure OpenAI-Instanz, eine Azure KI-Suche-Instanz, ein Speicherkonto
  • Drei private Endpunkte, die jeweils mit einem Schlüsseldienst verknüpft sind
  • Drei Netzwerkschnittstellen, die jeweils einem privaten Endpunkt zugeordnet sind
  • Ein Gateway für virtuelle Netzwerke für den Zugriff von lokalen Clientcomputern
  • Eine Web-App mit integriertem virtuellen Netzwerk
  • Eine private DNS-Zone, damit die Web-App die IP-Adresse Ihrer Azure OpenAI-Instanz findet

Virtuelles Netzwerk erstellen

Das virtuelle Netzwerk umfasst drei Subnetze.

  1. Das erste Subnetz wird für die privaten IP-Adressen der drei privaten Endpunkte verwendet.
  2. Das zweite Subnetz wird automatisch erstellt, wenn Sie das Gateway für das virtuelle Netzwerk erstellen.
  3. Das dritte Subnetz ist leer und wird für die Integration ausgehender virtueller Netzwerke in der Web-App verwendet.

Abbildung der Architektur des virtuellen Netzwerks.

Beachten Sie, dass das von Microsoft verwaltete virtuelle Netzwerk von Microsoft erstellt wird und für Sie nicht sichtbar ist. Das von Microsoft verwaltete virtuelle Netzwerk wird von Azure OpenAI verwendet, um sicher auf Ihre Instanz von Azure KI-Suche zuzugreifen.

Konfigurieren von Azure OpenAI

Aktivierte benutzerdefinierte Unterdomäne

Wenn Sie Azure OpenAI über das Azure-Portal erstellt haben, sollte die benutzerdefinierte Unterdomäne bereits erstellt worden sein. Die benutzerdefinierte Unterdomäne ist für die auf Microsoft Entra ID basierende Authentifizierung und die private DNS-Zone erforderlich.

Aktivieren einer verwalteten Identität

Damit Ihre Azure KI-Suche-Instanz und Ihr Speicherkonto Ihren Azure OpenAI-Dienst über die Microsoft Entra ID-Authentifizierung erkennen, müssen Sie Ihrem Azure OpenAI-Dienst eine verwaltete Identität zuweisen. Die einfachste Möglichkeit besteht darin, die systemseitig zugewiesene verwaltete Identität im Azure-Portal zu aktivieren. Screenshot der Option „Systemseitig zugewiesene verwaltete Identität“ im Azure-Portal.

Informationen zum Festlegen der verwalteten Identitäten über die Verwaltungs-API finden Sie in der Verwaltungs-API-Referenzdokumentation.


"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"
  }
}

Aktivieren eines vertrauenswürdigen Diensts

Damit Ihre Instanz von Azure KI-Suche Ihre Azure OpenAI-preprocessing-jobs als benutzerdefinierte Web-API aufrufen kann, auch wenn Azure OpenAI keinen Zugriff auf das öffentliche Netzwerk hat, müssen Sie Azure OpenAI so einrichten, dass Azure KI-Suche basierend auf der verwalteten Identität als vertrauenswürdiger Dienst umgangen wird. Azure OpenAI identifiziert den Datenverkehr von Azure KI-Suche, indem die Ansprüche im JSON Web Token (JWT) überprüft werden. Azure KI-Suche muss die Authentifizierung mit einer systemseitig zugewiesenen verwalteten Identität verwenden, um die Web-API für benutzerdefinierte Skills aufzurufen.

Legen Sie networkAcls.bypass über die Verwaltungs-API auf AzureServices fest. Weitere Informationen finden Sie im Artikel zu virtuellen Netzwerken.

Dieser Schritt kann nur übersprungen werden, wenn Sie über einen freigegebenen privaten Link für Ihre Azure AI Search-Ressource verfügen.

Deaktivieren des Zugriffs auf das öffentliche Netzwerk

Sie können den Zugriff aus öffentlichen Netzwerken auf Ihre Azure OpenAI-Ressource im Azure-Portal deaktivieren.

Um den Zugriff auf Ihren Azure OpenAI-Dienst von Ihren Clientcomputern z. B. für die Verwendung von Azure OpenAI Studio zuzulassen, müssen Sie Verbindungen mit privaten Endpunkten herstellen, über die eine Verbindung mit Ihrer Azure OpenAI-Ressource hergestellt werden kann.

Sie können den grundlegenden Tarif und höhere Tarife für die nachstehende Konfiguration verwenden. Es ist nicht erforderlich, aber wenn Sie das Preisniveau S2 verwenden, werden zusätzliche Optionen zur Auswahl verfügbar angezeigt.

Aktivieren einer verwalteten Identität

Damit Ihre anderen Ressourcen Azure KI-Suche mithilfe der Microsoft Entra ID-Authentifizierung erkennen können, müssen Sie Ihrer Instanz von Azure KI-Suche eine verwaltete Identität zuweisen. Die einfachste Möglichkeit besteht darin, die systemseitig zugewiesene verwaltete Identität im Azure-Portal zu aktivieren.

Screenshot der Einstellung für verwaltete Identitäten für die Azure KI-Suche im Azure-Portal.

Aktivieren der rollenbasierten Zugriffssteuerung

Da Azure OpenAI für den Zugriff auf Azure KI-Suche eine verwaltete Identität verwendet, müssen Sie die rollenbasierte Zugriffssteuerung in Azure KI-Suche aktivieren. Um diesen Schritt im Azure-Portal auszuführen, wählen Sie Beides auf der Registerkarte Schlüssel im Azure-Portal aus.

Screenshot der Option „Verwaltete Identität“ für die Azure KI Suche im Azure-Portal.

Um die rollenbasierte Zugriffssteuerung über die REST-API zu aktivieren, legen Sie authOptions auf aadOrApiKey fest. Weitere Informationen finden Sie im Artikel zur rollenbasierten Zugriffssteuerung für Azure KI-Suche.

"disableLocalAuth": false,
"authOptions": { 
    "aadOrApiKey": { 
        "aadAuthFailureMode": "http401WithBearerChallenge"
    }
}

Wenn Sie Azure OpenAI Studio verwenden möchten, dürfen Sie die Authentifizierung mit API-Schlüssel für Azure KI-Suche nicht deaktivieren, da Azure OpenAI Studio den API-Schlüssel verwendet, um die API für Azure KI-Suche in Ihrem Browser aufzurufen.

Tipp

Um eine optimale Sicherheit zu erzielen, sollten Sie den API-Schlüssel deaktivieren, wenn Sie für die Produktion bereit sind und Azure OpenAI Studio nicht mehr zum Testen verwenden müssen. Ausführliche Informationen finden Sie im Artikel zur RBAC für Azure KI-Suche.

Deaktivieren des Zugriffs auf das öffentliche Netzwerk

Sie können den Zugriff aus öffentlichen Netzwerken auf Ihre Azure KI-Suche-Ressource im Azure-Portal deaktivieren.

Um den Zugriff auf Ihre Azure KI-Suche-Ressource von Ihren Clientcomputern z. B. für die Verwendung von Azure OpenAI Studio zuzulassen, müssen Sie Verbindungen mit privaten Endpunkten herstellen, über die eine Verbindung mit Ihrer Azure KI-Suche-Ressource hergestellt werden kann.

Hinweis

Um den Zugriff auf Ihre Azure KI-Suche-Ressource von der Azure OpenAI-Ressource aus zu ermöglichen, müssen Sie ein Anwendungsformular übermitteln. Der Antrag wird innerhalb von fünf Werktagen überprüft, und Sie werden per E-Mail über die Ergebnisse informiert. Wenn Sie zugelassen werden, stellen wir den privaten Endpunkt im von Microsoft verwalteten virtuellen Netzwerk bereit und senden eine Anforderung für eine Verbindung mit einem privaten Endpunkt an Ihren Suchdienst. Sie müssen diese Anforderung dann genehmigen.

Screenshot des Bildschirms zum Genehmigen des privaten Endpunkts.

Die private Endpunktressource wird in einem von Microsoft verwalteten Mandanten bereitgestellt, während sich die verknüpfte Ressource in Ihrem Mandanten befindet. Sie können nicht auf die private Endpunktressource zugreifen, indem Sie einfach den Link für den privaten Endpunkt (in blauer Schriftart) auf der Registerkarte Privater Zugriff auf der Seite Netzwerk auswählen. Wählen Sie stattdessen eine andere Stelle in der Zeile und dann die Schaltfläche Genehmigen oben aus.

Erfahren Sie mehr über den Workflow der manuellen Genehmigung.

Tipp

Wenn Sie ein einfaches oder standardmäßiges Preisniveau verwenden oder wenn es Ihr erstes Mal ist, alle Ihre Ressourcen sicher einzurichten, sollten Sie dieses erweiterte Thema überspringen.

Dieser Abschnitt gilt nur für S2-Ressourcen für die Preisstufensuche, da er Unterstützung privater Endpunkte für Indizierer mit einem Fertigkeitsprofil erfordert.

Informationen zum Erstellen eines freigegebenen privaten Links aus Ihrer Suchressource, die eine Verbindung mit Ihrer Azure OpenAI-Ressource herstellt, finden Sie in der Suchdokumentation. Wählen Sie Ressourcentyp als Microsoft.CognitiveServices/accounts und Gruppen-ID als openai_account aus.

Bei freigegebener privater Verknüpfung wird Schritt acht des Datenaufnahmearchitekturdiagramms von Umgehung des vertrauenswürdigen Diensts in privaten Endpunkt geändert.

Eine Abbildung, die den Vorgang zur Datenerfassung mit einer S2-Suchressource zeigt.

Der von Ihnen erstellte freigegebene private Azure KI Search-Link befindet sich auch in einem von Microsoft verwalteten virtuellen Netzwerk, nicht in Ihrem virtuellen Netzwerk. Der Unterschied gegenüber dem anderen verwalteten privaten Endpunkt, der zuvor erstellt wurde, besteht darin, dass der verwaltete private Endpunkt [1] von Azure OpenAI zu Azure Search über die Formularanwendung bereitgestellt wird, während der verwaltete private Endpunkt [2] von Azure Search zu Azure OpenAI über das Azure-Portal oder die REST-API von Azure Search bereitgestellt wird.

Eine Abbildung, die die Architektur des virtuellen Netzwerks mit der S2-Suchressource zeigt.

Konfigurieren des Speicherkontos

Aktivieren eines vertrauenswürdigen Diensts

Um den Zugriff auf Ihr Speicherkonto über Azure OpenAI und Azure KI-Suche zu ermöglichen, auch wenn das Speicherkonto keinen Zugriff auf das öffentliche Netzwerk hat, müssen Sie Speicherkonto so einrichten, dass Ihre Instanzen von Azure OpenAI und Azure KI-Suche basierend auf der verwalteten Identität als vertrauenswürdige Dienste umgangen werden.

Navigieren Sie im Azure-Portal zur Registerkarte „Netzwerk“ für Ihr Speicherkonto, und wählen Sie „Ausgewählte Netzwerke“, anschließend Erlauben Sie Azure-Diensten auf der Liste der vertrauenswürdigen Dienste den Zugriff auf dieses Speicherkonto und dann „Speichern“ aus.

Hinweis

Das Feature für vertrauenswürdige Dienste ist nur über die oben beschriebene Befehlszeile verfügbar und kann nicht über das Azure-Portal verwendet werden.

Deaktivieren des Zugriffs auf das öffentliche Netzwerk

Sie können den Zugriff auf öffentliche Netzwerke für Ihr Speicherkonto im Azure-Portal deaktivieren.

Um den Zugriff auf Ihr Speicherkonto von Ihren Clientcomputern z. B. für die Verwendung von Azure OpenAI Studio zuzulassen, müssen Sie Verbindungen mit privaten Endpunkten herstellen, über die eine Verbindung mit Ihrer Blob Storage-Instanz hergestellt werden kann.

Rollenzuweisungen

Bislang haben Sie alle Ressource so eingerichtet, dass sie unabhängig voneinander funktionieren. Als Nächstes müssen Sie es den Diensten gestatten, sich gegenseitig zu autorisieren.

Rolle Zugewiesene Person Resource Beschreibung
Search Index Data Reader Azure OpenAI Azure KI Cognitive Search Der Rückschlussdienst fragt die Daten aus dem Index ab.
Search Service Contributor Azure OpenAI Azure KI Cognitive Search Der Rückschlussdienst fragt das Indexschema für die automatische Feldzuordnung ab. Der Datenerfassungsdienst erstellt den Index, Datenquellen, Skills und den Indexer und fragt den Indexerstatus ab.
Storage Blob Data Contributor Azure OpenAI Speicherkonto Liest aus dem Eingabecontainer und schreibt das vorverarbeitete Ergebnis in den Ausgabecontainer.
Cognitive Services OpenAI Contributor Azure KI Cognitive Search Azure OpenAI Benutzerdefinierter Skill
Storage Blob Data Contributor Azure KI Cognitive Search Speicherkonto Liest Blobs und schreibt in den Wissensspeicher.

In der obigen Tabelle ist Assignee die systemseitig zugewiesene verwaltete Identität dieser Ressource.

Administrator*innen benötigen die Rolle Owner für diese Ressourcen, um Rollenzuweisungen hinzuzufügen.

Anweisungen zum Festlegen dieser Rollen im Azure-Portal finden Sie in der Azure RBAC-Dokumentation. Sie können das verfügbare Skript auf GitHub verwenden, um die Rollenzuweisungen programmgesteuert hinzuzufügen.

Damit Entwickler*innen diese Ressourcen zum Erstellen von Anwendungen verwenden können, müssen Administrator*innen den Ressourcen die Identitäten der Entwickler*innen mit den folgenden Rollenzuweisungen hinzufügen.

Role Ressource Beschreibung
Cognitive Services OpenAI Contributor Azure OpenAI Rufen Sie die öffentliche Erfassungs-API aus Azure OpenAI Studio auf. Die Rolle Contributor reicht nicht aus, denn wenn Sie nur über die Rolle Contributor verfügen, können Sie die Datenebenen-API nicht über die Microsoft Entra ID-Authentifizierung aufrufen, die Microsoft Entra ID-Authentifizierung ist jedoch für die in diesem Artikel beschriebene sichere Einrichtung erforderlich.
Cognitive Services User Azure OpenAI Listen Sie die API-Schlüssel aus Azure OpenAI Studio auf.
Contributor Azure KI Cognitive Search Listen Sie die API-Schlüsseln aus Azure OpenAI Studio auf, um die Indizes aufzulisten.
Contributor Speicherkonto Listen Sie die Konto-SAS aus Azure OpenAI Studio auf, um Dateien hochzuladen.
Contributor Die Ressourcengruppe oder das Azure-Abonnement, in der bzw. dem Entwickler*innen die Web-App bereitstellen sollen Stellen Sie die Web-App im Azure-Abonnement der Entwickler*innen bereit.

Konfigurieren von Gateway und Client

Um von Ihren lokalen Clientcomputern auf den Azure OpenAI-Dienst zuzugreifen, besteht einer der Ansätze darin, Azure VPN Gateway und Azure VPN Client zu konfigurieren.

Befolgen Sie diesen Leitfaden, um ein Gateway für Ihr virtuelles Netzwerk zu erstellen.

Befolgen Sie diesen Leitfaden, um die Point-to-Site-Konfiguration hinzuzufügen und die auf Microsoft Entra ID basierende Authentifizierung zu aktivieren. Laden Sie das Azure VPN Client-Profilkonfigurationspaket herunter, entzippen Sie es, und importieren Sie die Datei AzureVPN/azurevpnconfig.xml in Ihre Azure VPN Client-Instanz.

Screenshot, der zeigt, wo das Azure VPN-Clientprofil importiert werden soll.

Konfigurieren Sie die Datei hosts auf Ihrem lokalen Computer so, dass die Hostnamen Ihrer Ressourcen auf die privaten IP-Adressen in Ihrem virtuellen Netzwerk verweisen. Die Datei hosts befindet sich unter Windows in C:\Windows\System32\drivers\etc und unter Linux in /etc/hosts. Beispiel:

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

Sie sollten in der Lage sein, alle Features von Azure OpenAI Studio, einschließlich Erfassung und Rückschluss, von Ihren lokalen Clientcomputern aus zu verwenden.

Web-App

Die Web-App kommuniziert mit Ihrer Azure OpenAI-Ressource. Da das öffentliche Netzwerk für Ihre Azure OpenAI-Ressource deaktiviert ist, muss die Web-App so eingerichtet werden, dass der private Endpunkt in Ihrem virtuellen Netzwerk für den Zugriff auf Ihre Azure OpenAI-Ressource verwendet wird.

Die Web-App muss Ihren Azure OpenAI-Hostnamen in die private IP-Adresse des privaten Endpunkts für Azure OpenAI auflösen. Daher müssen Sie zunächst die private DNS-Zone für Ihr virtuelles Netzwerk konfigurieren.

  1. Erstellen Sie eine private DNS-Zone in Ihrer Ressourcengruppe.
  2. Fügen Sie einen DNS-Eintrag hinzu. Die IP-Adresse ist die private IP-Adresse des privaten Endpunkts für Ihre Azure OpenAI-Ressource, und Sie können die IP-Adresse von der Netzwerkschnittstelle abrufen, die dem privaten Endpunkt für Ihre Azure OpenAI-Instanz zugeordnet ist.
  3. Verknüpfen Sie die private DNS-Zone mit Ihrem virtuellen Netzwerk, damit die in dieses virtuelle Netzwerk integrierte Web-App diese private DNS-Zone verwenden kann.

Wenn Sie die Web-App aus Azure OpenAI Studio bereitstellen, wählen Sie denselben Speicherort im virtuellen Netzwerk und eine geeignete SKU aus, damit sie das Feature für die Integration virtueller Netzwerke unterstützen kann.

Nachdem die Web-App bereitgestellt wurde, konfigurieren Sie im Azure-Portal auf der Registerkarte „Netzwerk“ die Integration in ein virtuelles Netzwerk für den ausgehenden Datenverkehr der Web-App und wählen das dritte Subnetz aus, das Sie für die Web-App reserviert haben.

Screenshot der Konfiguration des ausgehenden Datenverkehrs für die Web-App.

Verwenden der API

Stellen Sie sicher, dass Ihre Anmeldeinformationen über die Rolle Cognitive Services OpenAI Contributor in Ihrer Azure OpenAI-Ressource verfügen, und führen Sie zuerst az login aus.

Screenshot der Rolle „Cognitive Services OpenAI-Mitwirkende“ im Azure-Portal.

Erfassungs-API

Ausführliche Informationen zu den Anforderungs- und Antwortobjekten, die von der Erfassungs-API verwendet werden, finden Sie im Referenzartikel zur Erfassungs-API.

Weitere Hinweise:

  • JOB_NAME im API-Pfad wird als Indexname in Azure KI-Suche verwendet.
  • Verwenden Sie den Authorization-Header anstelle des API-Schlüssels (api-key).
  • Legen Sie den storageEndpoint-Header explizit fest.
  • Verwenden Sie das Format ResourceId= für den storageConnectionString-Header, damit Azure OpenAI und Azure KI-Suche eine verwaltete Identität verwenden, um das Speicherkonto zu authentifizieren. Dies ist zum Umgehen von Netzwerkeinschränkungen erforderlich.
  • Legen Sie nicht den Header searchServiceAdminKey fest. Die systemseitig zugewiesene Identität der Azure OpenAI-Ressource wird für die Authentifizierung von Azure KI-Suche verwendet.
  • Legen Sie nichtembeddingEndpoint oder embeddingKey fest. Verwenden Sie stattdessen den embeddingDeploymentName-Header, um die Textvektorisierung zu aktivieren.

Beispiel zum Übermitteln des Auftrags

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X PUT https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/vpn1025a?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken" \
-H "storageEndpoint: https://mystorage.blob.core.windows.net/" \
-H "storageConnectionString: ResourceId=/subscriptions/1234567-abcd-1234-5678-1234abcd/resourceGroups/my-resource/providers/Microsoft.Storage/storageAccounts/mystorage" \
-H "storageContainer: my-container" \
-H "searchServiceEndpoint: https://mysearch.search.windows.net" \
-H "embeddingDeploymentName: ada" \
-d \
'
{
}
'

Beispiel zum Abrufen des Auftragsstatus

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X GET https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/abc1234?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken"

Rückschluss-API

Ausführliche Informationen zu den Anforderungs- und Antwortobjekten, die von der Rückschluss-API verwendet werden, finden Sie im Referenzartikel zur Rückschluss-API.