Freigeben über


Erste Schritte mit der Sicherheit von Chatdokumenten für Python

Wenn Sie eine -Chatanwendung mithilfe des RAG-Musters (Retrieval Augmented Generation) mit Ihren eigenen Daten erstellen, stellen Sie sicher, dass jeder Benutzer basierend auf seinen Berechtigungen eine Antwort erhält. Befolgen Sie die Schritte in diesem Artikel, um Ihrer Chat-App Dokumentzugriffssteuerung hinzuzufügen.

  • Autorisierter Benutzer: Diese Person sollte Zugriff auf Antworten haben, die in den Dokumenten der Chat-App enthalten sind.

    Screenshot, der die Chat-App mit einer Antwort zeigt, die einen erforderlichen Authentifizierungszugriff erfordert.

  • Nicht autorisierter Benutzer: Diese Person sollte keinen Zugriff auf Antworten von gesicherten Dokumenten haben, die sie nicht sehen dürfen.

    Screenshot, der die Chat-App mit einer Antwort zeigt, die angibt, dass der Benutzer keinen Zugriff auf Daten hat.

Anmerkung

In diesem Artikel wird mindestens eine KI-App-Vorlage als Grundlage für die Beispiele und Anleitungen im Artikel verwendet. KI-App-Vorlagen bieten Ihnen gut gepflegte Referenzimplementierungen, die einfach bereitzustellen sind. Sie tragen dazu bei, einen qualitativ hochwertigen Ausgangspunkt für Ihre KI-Apps zu gewährleisten.

Architekturübersicht

Ohne Dokumentsicherheitsfunktionen verfügt die Unternehmens-Chat-App über eine einfache Architektur unter Verwendung von Azure AI Search und Azure OpenAI. Eine Antwort wird aus Abfragen zu Azure AI Search bestimmt, in der die Dokumente gespeichert werden, in Kombination mit einer Antwort aus einem Azure OpenAI GPT-Modell. In diesem einfachen Fluss wird keine Benutzerauthentifizierung verwendet.

Architekturdiagramm mit einer Antwort auf Fragen für Azure KI-Suche zum Speicherort der Dokumente, kombiniert mit einer Antwort auf eine Eingabeaufforderung aus Azure OpenAI.

Um die Sicherheit für die Dokumente hinzuzufügen, müssen Sie die Unternehmenschat-App aktualisieren:

  • Fügen Sie der Chat-App die Clientauthentifizierung mit Microsoft Entra hinzu.
  • Fügen Sie serverseitige Logik hinzu, um einen Suchindex mit Benutzer- und Gruppenzugriff aufzufüllen.

Architekturdiagramm, das einen Anwendungsfall der Authentifizierung mit Microsoft Entra-ID zeigt und diese Authentifizierung dann an Azure AI Search übergibt.

Azure KI-Suche stellt keine nativen Berechtigungen auf Dokumentebene bereit und kann Suchergebnisse innerhalb eines Indexes nicht an den Benutzerberechtigungen ausrichten. Stattdessen kann Ihre Anwendung Suchfilter verwenden, um sicherzustellen, dass auf ein Dokument für einen bestimmten Benutzer oder eine bestimmte Gruppe zugegriffen werden kann. In Ihrem Suchindex sollte jedes Dokument über ein filterbares Feld verfügen, in dem Benutzer- oder Gruppenidentitätsinformationen gespeichert werden.

Architekturdiagramm, das zeigt, dass zum Sichern der Dokumente in Azure AI Search jedes Dokument die Benutzerauthentifizierung enthält, die im Resultset zurückgegeben wird.

Da die Autorisierung nicht nativ in Azure AI Search enthalten ist, müssen Sie ein Feld zum Speichern von Benutzer- oder Gruppeninformationen hinzufügen und dann Dokumente filtern, die nicht übereinstimmen. Um diese Technik zu implementieren, müssen Sie:

  • Erstellen Sie ein Dokumentzugriffssteuerungsfeld in Ihrem Index, das die Details von Benutzern oder Gruppen mit Dokumentzugriff speichert.
  • Füllen Sie das Zugriffssteuerungsfeld des Dokuments mit den relevanten Benutzer- oder Gruppendetails auf.
  • Aktualisieren Sie dieses Zugriffssteuerungsfeld, wenn Änderungen an Benutzer- oder Gruppenzugriffsberechtigungen vorhanden sind.

Wenn die Indexaktualisierungen mit einem Indexer geplant wurden, werden Änderungen bei der nächsten Ausführung des Indexers integriert. Wenn Sie keinen Indexer verwenden, müssen Sie manuell neu indexieren.

In diesem Artikel wird die Sicherung von Dokumenten in Azure KI-Suche mit Beispielskripts durchgeführt, die Sie als Suchadministrator ausführen würden. Die Skripts ordnen ein einzelnes Dokument einer einzelnen Benutzeridentität zu. Sie können diese Skripts an Ihre eigenen Sicherheits- und Produktionsanforderungen anpassen, um sie entsprechend Ihren Anforderungen zu skalieren.

Ermitteln der Sicherheitskonfiguration

Die Lösung stellt boolesche Umgebungsvariablen bereit, um Features zu aktivieren, die für die Dokumentsicherheit in diesem Beispiel erforderlich sind.

Parameter Zweck
AZURE_USE_AUTHENTICATION Wenn diese Einstellung auf truefestgelegt ist, ermöglicht sie die Anmeldung der Nutzer bei der Chat-App sowie die Authentifizierung des Azure App Service. Aktiviert Use oid security filter in den Entwicklungseinstellungen in der Chat-App.
AZURE_ENFORCE_ACCESS_CONTROL Wenn diese Einstellung auf truefestgelegt ist, ist eine Authentifizierung für den Dokumentzugriff erforderlich. Die Entwicklungseinstellungen für die Objekt-ID (OID) und die Gruppensicherheit sind aktiviert und so eingerichtet, dass sie nicht über die Benutzeroberfläche deaktiviert werden können.
AZURE_ENABLE_GLOBAL_DOCUMENTS_ACCESS Wenn diese Einstellung auf truefestgelegt ist, können authentifizierte Benutzer nach Dokumenten suchen, denen keine Zugriffssteuerung zugewiesen ist, auch wenn die Zugriffssteuerung erforderlich ist. Dieser Parameter sollte nur verwendet werden, wenn AZURE_ENFORCE_ACCESS_CONTROL aktiviert ist.
AZURE_ENABLE_UNAUTHENTICATED_ACCESS Wenn diese Einstellung auf truefestgelegt ist, können nicht authentifizierte Benutzer die App auch dann verwenden, wenn die Zugriffssteuerung erzwungen wird. Dieser Parameter sollte nur verwendet werden, wenn AZURE_ENFORCE_ACCESS_CONTROL aktiviert ist.

Verwenden Sie die folgenden Abschnitte, um die in diesem Beispiel unterstützten Sicherheitsprofile zu verstehen. In diesem Artikel wird das Unternehmensprofil konfiguriert.

Enterprise: Erforderliches Konto + Dokumentfilter

Jeder Benutzer der Website muss angemeldet sein. Die Website enthält Inhalte, die für alle Benutzer öffentlich sind. Der Sicherheitsfilter auf Dokumentenebene wird auf alle Anfragen angewendet.

Umgebungsvariablen:

  • AZURE_USE_AUTHENTICATION=true
  • AZURE_ENABLE_GLOBAL_DOCUMENTS_ACCESS=true
  • AZURE_ENFORCE_ACCESS_CONTROL=true

Gemischte Verwendung: Optionales Konto + Dokumentfilter

Jeder Benutzer der Website kann angemeldet sein. Die Website enthält Inhalte, die für alle Benutzer öffentlich sind. Der Sicherheitsfilter auf Dokumentebene werden auf alle Anforderungen angewendet.

Umgebungsvariablen:

  • AZURE_USE_AUTHENTICATION=true
  • AZURE_ENABLE_GLOBAL_DOCUMENTS_ACCESS=true
  • AZURE_ENFORCE_ACCESS_CONTROL=true
  • AZURE_ENABLE_UNAUTHENTICATED_ACCESS=true

Voraussetzungen

Eine Entwicklungscontainerumgebung ist mit allen Abhängigkeiten verfügbar, die zum Abschließen dieses Artikels erforderlich sind. Sie können den Entwicklungscontainer in GitHub Codespaces (in einem Browser) oder lokal mit Visual Studio Code ausführen.

Um diesen Artikel zu verwenden, benötigen Sie die folgenden Voraussetzungen:

Je nach bevorzugter Entwicklungsumgebung benötigen Sie weitere Voraussetzungen.

Öffnen Sie eine Entwicklungsumgebung

Beginnen Sie jetzt mit einer Entwicklungsumgebung, in der alle Abhängigkeiten installiert sind, um diesen Artikel abzuschließen.

GitHub Codespaces führt einen von GitHub verwalteten Entwicklungscontainer mit Visual Studio Code für Web als Benutzeroberfläche aus. Verwenden Sie für die einfachste Entwicklungsumgebung GitHub Codespaces, damit Sie die richtigen Entwicklertools und Abhängigkeiten vorinstalliert haben, um diesen Artikel abzuschließen.

Wichtig

Alle GitHub-Konten können GitHub Codespaces für bis zu 60 Stunden kostenlos jeden Monat mit zwei Kerninstanzen verwenden. Weitere Informationen finden Sie im Artikel zu monatlich enthaltener Speicherkapazität und Kernstunden in GitHub Codespaces.

  1. Starten Sie den Vorgang zum Erstellen eines neuen GitHub-Codespace im main-Branch des GitHub-Repositorys Azure-Samples/azure-search-openai-demo.

  2. Klicken Sie mit der rechten Maustaste auf die folgende Schaltfläche, und wählen Sie Link in neuen Fenstern öffnen aus, damit sowohl die Entwicklungsumgebung als auch die Dokumentation gleichzeitig verfügbar sind.

    In GitHub Codespaces öffnen.

  3. Überprüfen Sie auf der Seite Codespace erstellen die Codespace-Konfigurationseinstellungen, und wählen Sie dann Neuen Codespace erstellen aus.

    Ein Screenshot, der den Bestätigungsbildschirm zeigt, bevor Sie einen neuen Codespace erstellen.

  4. Warten Sie den Start des Codespaces ab. Dieser Startvorgang kann einige Minuten dauern.

  5. Melden Sie sich am unteren Bildschirmrand am Terminal mit der Azure Developer CLI bei Azure an.

    azd auth login
    
  6. Schließen Sie den Authentifizierungsprozess ab.

  7. Die verbleibenden Aufgaben in diesem Artikel finden im Kontext dieses Entwicklungscontainers statt.

Abrufen erforderlicher Informationen mit der Azure CLI

Rufen Sie Ihre Abonnement-ID und Mandanten-ID mit dem folgenden Azure-CLI-Befehl ab. Kopieren Sie den Wert, der als AZURE_TENANT_ID-Wert verwendet werden soll.

az account list --query "[].{subscription_id:id, name:name, tenantId:tenantId}" -o table

Wenn Sie eine Fehlermeldung zur Richtlinie für den bedingten Zugriff Ihres Mandanten erhalten, benötigen Sie einen zweiten Mandanten ohne diese Richtlinie für den bedingten Zugriff.

  • Ihr erster Mandant, der Ihrem Benutzerkonto zugeordnet ist, wird für die Umgebungsvariable AZURE_TENANT_ID verwendet.
  • Ihr zweiter Mandant ohne bedingten Zugriff wird für die Umgebungsvariable AZURE_AUTH_TENANT_ID für den Zugriff auf Microsoft Graph verwendet. Suchen Sie für Mandanten mit einer Richtlinie für den bedingten Zugriff die ID eines zweiten Mandanten ohne Richtlinie für den bedingten Zugriff, oder erstellen Sie einen neuen Mandanten.

Festlegen von Umgebungsvariablen

  1. Führen Sie die folgenden Befehle aus, um die Anwendung für das Enterprise--Profil zu konfigurieren.

    azd env set AZURE_USE_AUTHENTICATION true
    azd env set AZURE_ENABLE_GLOBAL_DOCUMENTS_ACCESS true
    azd env set AZURE_ENFORCE_ACCESS_CONTROL true
    
  2. Führen Sie den folgenden Befehl aus, um den Tenant festzulegen, der die Benutzeranmeldung bei der gehosteten Anwendungsumgebung autorisiert. Ersetzen Sie <YOUR_TENANT_ID> durch die Mandanten-ID.

    azd env set AZURE_TENANT_ID <YOUR_TENANT_ID>
    

Anmerkung

Wenn Sie über eine Richtlinie für den bedingten Zugriff für Ihren Benutzermandanten verfügen, müssen Sie einen Authentifizierungsmandanten angeben.

Bereitstellen der Chat-App in Azure

Die Bereitstellung besteht aus den folgenden Schritten:

  • Erstellen Sie die Azure-Ressourcen.
  • Laden Sie die Dokumente hoch.
  • Erstellen Sie die Microsoft Entra-Identitäts-Apps (Client und Server).
  • Aktivieren Sie die Identität für die Hosting-Ressource.
  1. Führen Sie den folgenden Azure Developer CLI-Befehl aus, um die Azure-Ressourcen bereitzustellen und den Quellcode bereitzustellen.

    azd up
    
  2. Verwenden Sie die folgende Tabelle, um die AZD-Eingabeaufforderungen für die Bereitstellung zu beantworten.

    Eingabeaufforderung Antwort
    Umgebungsname Verwenden Sie einen kurzen Namen, der Identifikationsinformationen wie Ihren Alias und Ihre App enthält. Und das Beispiel ist tjones-secure-chat.
    Abonnement Wählen Sie ein Abonnement aus, in dem die Ressourcen erstellt werden sollen.
    Standort für Azure-Ressourcen Wählen Sie einen Ort in Ihrer Nähe aus.
    Speicherort für documentIntelligentResourceGroupLocation Wählen Sie einen Ort in Ihrer Nähe aus.
    Speicherort für openAIResourceGroupLocation Wählen Sie einen Ort in Ihrer Nähe aus.

    Warten Sie 5 oder 10 Minuten, nachdem die App bereitgestellt wurde, damit sie starten kann.

  3. Nachdem die Anwendung erfolgreich bereitgestellt wurde, wird eine URL im Terminal angezeigt.

  4. Wählen Sie die URL mit der Bezeichnung (✓) Done: Deploying service webapp aus, um die Chatanwendung in einem Browser zu öffnen.

    Screenshot, der eine Chat-App in einem Browser mit mehreren Vorschlägen für die Chateingabe und dem Chattextfeld zeigt, um eine Frage einzugeben.

  5. Bestätigen Sie das App-Authentifizierungspop-up.

  6. Wenn die Chat-App angezeigt wird, beachten Sie in der oberen rechten Ecke, dass Ihr Benutzer angemeldet ist.

  7. Öffnen Sie Entwicklereinstellungen, und beachten Sie, dass beide der folgenden Optionen ausgewählt und für Änderungen deaktiviert sind:

    • Verwenden des oid-Sicherheitsfilters
    • Gruppensicherheitsfilter verwenden
  8. Wählen Sie die Karte mit Was macht ein Produktmanager?.

  9. Sie erhalten eine Antwort wie: Die bereitgestellten Quellen enthalten keine spezifischen Informationen zur Rolle eines Product Managers bei Contoso Electronics.

    Screenshot, der eine Chat-App in einem Browser zeigt, in der angezeigt wird, dass die Antwort nicht gesendet werden kann.

Öffnen des Zugriffs auf ein Dokument für einen Benutzer

Aktivieren Sie Ihre Berechtigungen für das exakte Dokument, damit Sie die Antwort erhalten können. Sie benötigen mehrere Informationen:

  • Azure Storage
    • Kontenbezeichnung
    • Containername
    • Blob-/Dokument-URL für role_library.pdf
  • Benutzer-ID in Microsoft Entra ID

Wenn diese Informationen bekannt sind, aktualisieren Sie das Indexfeld oids von Azure KI-Suche für das role_library.pdf-Dokument.

Abrufen der URL für ein Dokument im Speicher

  1. Suchen Sie im Ordner .azure im Stammverzeichnis des Projekts das Umgebungsverzeichnis, und öffnen Sie die .env Datei mit diesem Verzeichnis.

  2. Suchen Sie nach dem eintrag AZURE_STORAGE_ACCOUNT, und kopieren Sie den Wert.

  3. Verwenden Sie die folgenden Azure CLI-Befehle, um die URL des role_library.pdf-Blobs im container content abzurufen.

    az storage blob url \
        --account-name <REPLACE_WITH_AZURE_STORAGE_ACCOUNT \
        --container-name 'content' \
        --name 'role_library.pdf' 
    
    Parameter Zweck
    --account-name Name des Azure Storage-Kontos.
    --container-name Der Containername in diesem Beispiel ist content.
    --name Der Blobname in diesem Schritt ist role_library.pdf.
  4. Kopieren Sie die blob-URL, um sie später zu verwenden.

Holen Sie sich Ihre Benutzer-ID

  1. Wählen Sie in der Chat-App Entwicklereinstellungen aus.
  2. Kopieren Sie im Abschnitt ID-Tokenansprüche Ihren objectidentifier-Parameter. Dieser Parameter wird im nächsten Abschnitt als USER_OBJECT_IDbekannt.
  1. Verwenden Sie das folgende Skript, um das Feld oids in Azure AI Search für role_library.pdf zu ändern, damit Sie darauf zugreifen können.

    ./scripts/manageacl.sh \
        -v \
        --acl-type oids \
        --acl-action add \
        --acl <REPLACE_WITH_YOUR_USER_OBJECT_ID> \
        --url <REPLACE_WITH_YOUR_DOCUMENT_URL>
    
    Parameter Zweck
    -v Ausführliche Ausgabe.
    --acl-type Gruppen- oder Benutzer-OIDs: oids.
    --acl-action Fügen Sie zu einem Suchindexfeld hinzu. Weitere Optionen sind remove, remove_all und list.
    --acl Gruppen- oder Benutzer-USER_OBJECT_ID.
    --url Der Speicherort der Datei in Azure Storage, z. B. https://MYSTORAGENAME.blob.core.windows.net/content/role_library.pdf. Sie dürfen im CLI-Befehl die URL nicht in Anführungszeichen setzen.
  2. Die Konsolenausgabe für diesen Befehl sieht wie folgt aus:

    Loading azd .env file from current environment...
    Creating Python virtual environment "app/backend/.venv"...
    Installing dependencies from "requirements.txt" into virtual environment (in quiet mode)...
    Running manageacl.py. Arguments to script: -v --acl-type oids --acl-action add --acl 00000000-0000-0000-0000-000000000000 --url https://mystorage.blob.core.windows.net/content/role_library.pdf
    Found 58 search documents with storageUrl https://mystorage.blob.core.windows.net/content/role_library.pdf
    Adding acl 00000000-0000-0000-0000-000000000000 to 58 search documents
    
  3. Verwenden Sie optional den folgenden Befehl, um zu überprüfen, ob Ihre Berechtigung für die Datei in Azure AI Search aufgeführt ist.

    ./scripts/manageacl.sh \
        -v \
        --acl-type oids \
        --acl-action list \
        --acl <REPLACE_WITH_YOUR_USER_OBJECT_ID> \
        --url <REPLACE_WITH_YOUR_DOCUMENT_URL>
    
    Parameter Zweck
    -v Ausführliche Ausgabe.
    --acl-type Gruppen- oder Benutzer-OIDs: oids.
    --acl-action Listet ein Suchindexfeld oids auf. Weitere Optionen sind remove, remove_all und list.
    --acl Der USER_OBJECT_ID-Parameter von Gruppe oder Benutzer.
    --url Der Speicherort der Datei, der angezeigt wird, z. B. https://MYSTORAGENAME.blob.core.windows.net/content/role_library.pdf. Sie dürfen im CLI-Befehl die URL nicht in Anführungszeichen setzen.
  4. Die Konsolenausgabe für diesen Befehl sieht wie folgt aus:

    Loading azd .env file from current environment...
    Creating Python virtual environment "app/backend/.venv"...
    Installing dependencies from "requirements.txt" into virtual environment (in quiet mode)...
    Running manageacl.py. Arguments to script: -v --acl-type oids --acl-action view --acl 00000000-0000-0000-0000-000000000000 --url https://mystorage.blob.core.windows.net/content/role_library.pdf
    Found 58 search documents with storageUrl https://mystorage.blob.core.windows.net/content/role_library.pdf
    [00000000-0000-0000-0000-000000000000]
    

    Das Array am Ende der Ausgabe enthält Ihren USER_OBJECT_ID Parameter und wird verwendet, um zu bestimmen, ob das Dokument in der Antwort mit Azure OpenAI verwendet wird.

Überprüfen, ob Azure AI Search Ihre USER_OBJECT_ID enthält

  1. Öffnen Sie das Azure-Portal, und suchen Sie nach AI Search.

  2. Wählen Sie Ihre Suchressource aus der Liste aus.

  3. Wählen Sie Suchverwaltung>Indizes aus.

  4. Wählen Sie gptkbindex aus.

  5. Wählen Sie Ansicht>JSON-Ansicht aus.

  6. Ersetzen Sie den JSON-Code durch Folgendes:

    {
      "search": "*",
      "select": "sourcefile, oids",
      "filter": "oids/any()"
    }
    

    Dieser JSON durchsucht alle Dokumente, in denen das feld oids einen Wert aufweist, und gibt die Felder sourcefile und oids zurück.

  7. Wenn role_library.pdf Ihre OID nicht enthält, kehren Sie zum Abschnitt "Benutzerzugriff auf ein Dokument in Azure Search" zurück und folgen Sie den Schritten.

Überprüfen des Benutzerzugriffs auf das Dokument

Wenn Sie die Schritte abgeschlossen haben, aber die richtige Antwort nicht angezeigt wurde, überprüfen Sie, ob Ihr USER_OBJECT_ID-Parameter in Azure KI-Suche für role_library.pdf richtig festgelegt ist.

  1. Kehren Sie zur Chat-App zurück. Möglicherweise müssen Sie sich erneut anmelden.

  2. Geben Sie dieselbe Abfrage ein, damit der Inhalt von role_library in der Antwort von Azure OpenAI verwendet wird: What does a product manager do?.

  3. Zeigen Sie das Ergebnis an, das nun die richtige Antwort aus dem Rollenbibliotheksdokument enthält.

    Screenshot mit einer Chat-App in einem Browser, der zeigt, dass die Antwort zurückgegeben wird.

Bereinigen von Ressourcen

Die folgenden Schritte führen Sie durch den Vorgang zum Bereinigen der verwendeten Ressourcen.

Bereinigen von Azure-Ressourcen

Die in diesem Artikel erstellten Azure-Ressourcen werden Ihrem Azure-Abonnement in Rechnung gestellt. Wenn Sie nicht erwarten, dass diese Ressourcen in Zukunft benötigt werden, löschen Sie sie, um mehr Gebühren zu vermeiden.

Führen Sie den folgenden Azure Developer CLI-Befehl aus, um die Azure-Ressourcen zu löschen und den Quellcode zu entfernen.

azd down --purge

Bereinigen von GitHub Codespaces und Visual Studio Code

Die folgenden Schritte führen Sie durch den Vorgang zum Bereinigen der verwendeten Ressourcen.

Das Löschen der GitHub Codespaces-Umgebung stellt sicher, dass Sie die Anzahl der kostenlosen Stunden pro Kernstundenberechtigung für Ihr Konto maximieren können.

Wichtig

Weitere Informationen zu den Berechtigungen Ihres GitHub-Kontos finden Sie im Artikel zu monatlich enthaltener Speicherkapazität und Kernstunden in GitHub Codespaces.

  1. Melden Sie sich beim GitHub Codespaces-Dashboard an.

  2. Suchen Sie Ihre derzeit ausgeführten Codespaces, die aus dem GitHub-Repository Azure-Samples/azure-search-openai-demo stammen.

    Screenshot mit allen ausgeführten Codespaces, einschließlich ihres Status und ihrer Vorlagen.

  3. Öffnen Sie das Kontextmenü für den Codespace, und wählen Sie dann Löschen aus.

    Screenshot, der das Kontextmenü für einen einzelnen Codespace mit der hervorgehobenen Option „Löschen“ zeigt.

Hilfe anfordern

Dieses Beispiel-Repository bietet Informationen zur Problembehandlung.

Fehlerbehebung

In diesem Abschnitt finden Sie Informationen zur Problembehandlung für probleme, die für diesen Artikel spezifisch sind.

Bereitstellung des Authentifizierungsmandanten

Wenn sich Ihre Authentifizierung in einem anderen Mandanten als Ihre Hostinganwendung befindet, müssen Sie diesen Authentifizierungsmandanten gemäß dem folgenden Prozess konfigurieren.

  1. Führen Sie den folgenden Befehl aus, um das Beispiel so zu konfigurieren, dass es für die Authentifizierung einen zweiten Mandanten verwendet.

    azd env set AZURE_AUTH_TENANT_ID <REPLACE-WITH-YOUR-TENANT-ID>
    
    Parameter Zweck
    AZURE_AUTH_TENANT_ID Wenn AZURE_AUTH_TENANT_ID festgelegt ist, hostet der Mandant die App.
  2. Stellen Sie die Lösung mit dem folgenden Befehl erneut zur Anwendung:

    azd up