Share via


Aktivieren der Authentifizierung und Autorisierung in Azure Container Apps mit Microsoft Entra ID

In diesem Artikel wird gezeigt, wie Sie die Authentifizierung für Azure Container Apps so konfigurieren, dass Ihre App Benutzer mit Microsoft Identity Platform als Authentifizierungsanbieter anmeldet.

Mit der Container Apps-Authentifizierungsfunktion kann automatisch eine App-Registrierung mit Microsoft Identity Platform erstellt werden. Sie können auch eine Registrierung verwenden, die Sie oder ein Verzeichnis-Administrator separat erstellen.

Option 1: Automatisches Erstellen einer neuen App-Registrierung

Diese Option ist so konzipiert, dass die Authentifizierung ganz einfach und mit nur wenigen Schritten aktiviert werden kann.

  1. Melden Sie sich am Azure-Portal an und navigieren Sie zu Ihrer App.

  2. Wählen Sie Authentifizierung im Menü auf der linken Seite. Wählen Sie Identitätsanbieter hinzufügen aus.

  3. Wählen Sie Microsoftin der Dropdown-Liste der Identitätsanbieter aus. Die Option zum Erstellen einer neuen Registrierung ist standardmäßig ausgewählt. Sie können den Namen der Registrierung oder die unterstützten Kontotypen ändern.

    Ein geheimer Clientschlüssel wird erstellt und als Geheimnis in der Container-App gespeichert.

  4. Wenn Sie den ersten Identitätsanbieter für diese Anwendung konfigurieren, wird ein Abschnitt mit den Einstellungen für die Container Apps-Authentifizierung angezeigt. Andernfalls fahren Sie mit dem nächsten Schritt fort.

    Diese Optionen bestimmen, wie Ihre Anwendung auf nicht authentifizierte Anfragen reagiert, und die Standardeinstellungen leiten alle Anfragen zur Anmeldung mit diesem neuen Anbieter um. Sie können dieses Verhalten jetzt anpassen oder diese Einstellungen später über den Hauptbildschirm der Authentifizierung anpassen, indem Sie neben den Authentifizierungseinstellungen die Option Bearbeiten auswählen. Weitere Informationen zu diesen Optionen finden Sie unter Authentifizierungs-Fluss.

  5. (Optional) Wählen Sie Weiter: Berechtigungen aus, und fügen Sie alle von der Anwendung benötigten Bereiche hinzu. Diese werden der App-Registrierung hinzugefügt, Sie können Sie jedoch später auch ändern.

  6. Wählen Sie Hinzufügen aus.

Sie sind nun bereit, die Microsoft Identity Platform für die Authentifizierung in Ihrer App zu verwenden. Der Anbieter wird auf dem Bildschirm Authentifizierung aufgeführt. Von dort aus können Sie diese Anbieterkonfiguration bearbeiten oder löschen.

Option 2: Verwenden einer vorhandenen, separat erstellten Registrierung

Sie können Ihre Anwendung auch manuell für Microsoft Identity Platform registrieren, die Registrierung anpassen und die Container Apps-Authentifizierung mit den Registrierungsdetails konfigurieren. Dieser Ansatz ist hilfreich, wenn Sie eine App-Registrierung von einem anderen Microsoft Entra-Mandanten als dem verwenden möchten, in dem Ihre Anwendung definiert ist.

Erstellen einer App-Registrierung in Microsoft Entra ID für Ihre Container-App

Erstellen Sie zuerst Ihre App-Registrierung. Notieren Sie dabei die folgenden Informationen, die Sie später beim Konfigurieren der Authentifizierung in der Container-App benötigen:

  • Client-ID
  • Mandanten-ID
  • Geheimer Clientschlüssel (optional)
  • Anwendungs-ID-URI

Gehen Sie wie folgt vor, um die App zu registrieren:

  1. Melden Sie sich beim Azure-Portal an, suchen Sie die Option Container Apps, wählen Sie sie aus, und wählen Sie anschließend Ihre App aus. Notieren Sie sich die URL Ihrer App. Sie verwenden diese, um die Registrierung Ihrer Microsoft Entra-App zu konfigurieren.

  2. Wählen Sie im Portalmenü die Option Microsoft Entra ID aus, navigieren Sie zur Registerkarte App-Registrierungen, und wählen Sie Neue Registrierung aus.

  3. Geben Sie auf der Seite Anwendung registrieren einen Namen für Ihre App-Registrierung ein.

  4. Wählen Sie unter Umleitungs-URIs die Option Web aus, und geben Sie <app-url>/.auth/login/aad/callback ein. Beispiel: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.

  5. Wählen Sie Registrieren.

  6. Nachdem die App-Registrierung erstellt wurde, kopieren Sie die Anwendungs-ID (Client) und die Verzeichnis-ID (Mandant) , damit Sie diese später verwenden können.

  7. Wählen Sie Authentifizierung aus. Aktivieren Sie unter Implizite Genehmigung und Hybridflows die Option ID-Token, um OpenID Connect-Benutzeranmeldungen von Container Apps zuzulassen. Wählen Sie Speichern.

  8. (Optional) Wählen Sie Branding aus. Geben Sie unter URL der Startseite die URL Ihrer Container-App ein, und wählen Sie Speichern aus.

  9. Wählen Sie Eine API verfügbar machen aus, und wählen Sie neben Anwendungs-ID-URI die Option Festlegen aus. Der ID-Wert identifiziert die Anwendung eindeutig, wenn sie als Ressource verwendet wird, sodass Token angefordert werden können, um Zugriff zu gewähren. Der Wert wird außerdem als Präfix für Bereiche verwendet, die Sie erstellen.

    Für eine App mit nur einem Mandanten können Sie den Standardwert verwenden, der die Form api://<application-client-id> aufweist. Sie können auch einen besser lesbaren URI wie https://contoso.com/api basierend auf einer der überprüften Domänen für Ihren Mandanten angeben. Für eine mehrinstanzenfähige App müssen Sie einen benutzerdefinierten URI angeben. Weitere Informationen zu akzeptierten Formaten für App-ID-URIs finden Sie in der Referenz zu bewährten Methoden für App-Registrierungen.

    Der Wert wird automatisch gespeichert.

  10. Wählen Sie Bereich hinzufügen.

    1. Unter Bereich hinzufügen ist der Anwendungs-ID-URI der Wert, den Sie in einem vorherigen Schritt festgelegt haben. Wählen Sie Speichern und fortfahren aus.
    2. Geben Sie in Bereichsname den Namen user_impersonation ein.
    3. Geben Sie in die Textfelder den Namen und die Beschreibung für den Einwilligungsbereich ein, die Benutzern auf der Einwilligungsseite angezeigt werden sollen. Geben Sie z. B. Zugriff auf <Anwendungsname> ein.
    4. Wählen Sie Bereich hinzufügen aus.
  11. (Optional) Um einen geheimen Clientschlüssel zu erstellen, wählen Sie Zertifikate und Geheimnisse>Geheime Clientschlüssel>Neuer geheimer Clientschlüssel aus. Geben Sie eine Beschreibung und den Ablauf ein, und wählen Sie Hinzufügen aus. Kopieren Sie den Wert des geheimen Clientschlüssels, der auf der Seite angezeigt wird, da dieser nicht nochmals auf der Site angezeigt wird.

  12. (Optional) Wenn Sie mehrere Antwort-URLs hinzufügen möchten, wählen Sie Authentifizierung aus.

Aktivieren von Microsoft Entra ID in Ihrer Container-App

  1. Melden Sie sich am Azure-Portal an und navigieren Sie zu Ihrer App.

  2. Wählen Sie Authentifizierung im Menü auf der linken Seite. Wählen Sie Identitätsanbieter hinzufügen aus.

  3. Wählen Sie Microsoftin der Dropdown-Liste der Identitätsanbieter aus.

  4. Für App-Registrierungstyp können Sie Vorhandene App-Registrierung in diesem Verzeichnis auswählen auswählen, wodurch die erforderlichen App-Informationen automatisch erfasst werden. Wenn Ihre Registrierung von einem anderen Mandanten aus erfolgt oder Sie nicht über die Berechtigung zum Anzeigen des Registrierungsobjekts verfügen, wählen Sie Details zu einer vorhandenen App-Registrierung angeben aus. Für diese Option müssen Sie die folgenden Konfigurationsdetails ausfüllen:

    Feld BESCHREIBUNG
    Anwendungs-ID (Client) Verwenden Sie die Anwendungs-ID (Client) der App-Registrierung.
    Geheimer Clientschlüssel Verwenden Sie den geheimen Clientschlüssel, den Sie in der App-Registrierung generiert haben. Bei einem geheimen Clientschlüssel wird der Hybridflow verwendet, und die App gibt Zugriffs- und Aktualisierungstoken zurück. Wenn der geheime Clientschlüssel nicht festgelegt ist, wird der implizite Flow verwendet und nur ein ID-Token zurückgegeben. Die Token werden vom Anbieter gesendet und im EasyAuth-Tokenspeicher gespeichert.
    Aussteller-URL Verwenden Sie <authentication-endpoint>/<TENANT-ID>/v2.0, und ersetzen Sie <authentication-endpoint> durch den Authentifizierungsendpunkt für Ihre Cloudumgebung (z. B. „https://login.microsoftonline.com"“ für globales Azure), und ersetzen Sie <TENANT-ID> durch die Verzeichnis-ID (Mandant), in der die App-Registrierung erstellt wurde. Dieser Wert wird verwendet, um Benutzer zum richtigen Microsoft Entra-Mandanten umzuleiten und die entsprechenden Metadaten herunterzuladen (z. B. zum Ermitteln der entsprechenden Tokensignaturschlüssel und des Anspruchswerts des Tokenausstellers). Bei Anwendungen, die Azure AD v1 verwenden, müssen Sie /v2.0 in der URL auslassen.
    Zulässige Tokenzielgruppen Die konfigurierte Anwendungs-ID (Client) wird immer implizit als zulässige Zielgruppe angesehen. Wenn es sich bei dem Wert um eine Cloud- oder Server-App handelt und Sie Authentifizierungstoken von einer Clientcontainer-App akzeptieren möchten (das Authentifizierungstoken kann im X-MS-TOKEN-AAD-ID-TOKEN-Header abgerufen werden), fügen Sie hier die Anwendungs-ID (Client) der Client-App hinzu.

    Der geheime Clientschlüssel wird in Ihrer Container-App als Geheimnis gespeichert.

  5. Wenn dies der erste Identitätsanbieter ist, der für die Anwendung konfiguriert wird, wird auch ein Abschnitt mit den Einstellungen für die Container Apps-Authentifizierung angezeigt. Andernfalls fahren Sie mit dem nächsten Schritt fort.

    Diese Optionen bestimmen, wie Ihre Anwendung auf nicht authentifizierte Anfragen reagiert, und die Standardeinstellungen leiten alle Anfragen zur Anmeldung mit diesem neuen Anbieter um. Sie können dieses Verhalten jetzt anpassen oder diese Einstellungen später über den Hauptbildschirm der Authentifizierung anpassen, indem Sie neben den Authentifizierungs-Einstellungendie Option Bearbeiten auswählen. Weitere Informationen zu diesen Optionen finden Sie unter Authentifizierungs-Fluss.

  6. Klicken Sie auf Hinzufügen.

Sie sind nun bereit, die Microsoft Identity Platform für die Authentifizierung in Ihrer App zu verwenden. Der Anbieter wird auf dem Bildschirm Authentifizierung aufgeführt. Von dort aus können Sie diese Anbieterkonfiguration bearbeiten oder löschen.

Konfigurieren von Client-Apps für den Zugriff auf Ihre Container-App

Im vorherigen Abschnitt haben Sie Ihre Container-App registriert, um Benutzer zu authentifizieren. In diesem Abschnitt registrieren Sie native Client- oder Daemon-Apps. Diese können im Namen von Benutzern oder für sich selbst Zugriff auf APIs anfordern, die von Ihrer Container-App verfügbar gemacht werden. Sie müssen die in diesem Abschnitt beschriebenen Schritte nicht ausführen, wenn Sie nur Benutzer authentifizieren möchten.

Native Clientanwendung

Sie können native Clients registrieren, um im Namen eines angemeldeten Benutzers Zugriff auf die APIs Ihrer Container-App anzufordern.

  1. Wählen Sie im Azure-Portal nacheinander Active Directory>App-Registrierungen>Neue Registrierung aus.

  2. Geben Sie auf der Seite Anwendung registrieren einen Namen für Ihre App-Registrierung ein.

  3. Wählen Sie unter Umleitungs-URI die Option Öffentlicher Client (Mobilgerät und Desktop) aus, und geben Sie die URL <app-url>/.auth/login/aad/callback ein. Beispiel: https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.

    Hinweis

    Für eine Microsoft Store-Anwendung verwenden Sie stattdessen die Paket-SID als URI.

  4. Klicken Sie auf Erstellen.

  5. Sobald die App-Registrierung erstellt wurde, kopieren Sie den Wert von Anwendungs-ID (Client) .

  6. Wählen Sie über die Option API-Berechtigungen>Berechtigung hinzufügen>Meine APIs aus.

  7. Wählen Sie die App-Registrierung aus, die Sie zuvor für Ihre Container-App erstellt haben. Falls die App-Registrierung nicht angezeigt wird, stellen Sie sicher, dass Sie unter Erstellen einer App-Registrierung in Microsoft Entra ID für Ihre Container-App den Bereich user_impersonation hinzugefügt haben.

  8. Wählen Sie unter Delegierte Berechtigungen den Eintrag user_impersonation aus, und wählen Sie dann Berechtigungen hinzufügen aus.

In diesem Abschnitt haben Sie eine native Clientanwendung konfiguriert, die im Namen eines Benutzers Zugriff auf Ihre Container-App anfordern kann.

Daemon-Clientanwendung (Dienst-zu-Dienst-Aufrufe)

Ihre Anwendung kann ein Token abrufen, um eine Web-API, die in Ihrer Container-App gehostet wird, in deren eigenen Namen (nicht im Namen eines Benutzers) aufzurufen. Dieses Szenario ist nützlich für nicht interaktive Daemon-Anwendungen, die Aufgaben ohne angemeldeten Benutzer ausführen. Es verwendet die Standardzuweisung für Clientanmeldeinformationen von OAuth 2.0.

  1. Wählen Sie im Azure-Portal nacheinander Active Directory>App-Registrierungen>Neue Registrierung aus.
  2. Geben Sie auf der Seite Anwendung registrieren einen Namen für Ihre Daemon-App-Registrierung ein.
  3. Für eine Daemon-Anwendung benötigen Sie keinen Umleitungs-URI, sodass Sie diesen Wert leer lassen können.
  4. Klicken Sie auf Erstellen.
  5. Sobald die App-Registrierung erstellt wurde, kopieren Sie den Wert von Anwendungs-ID (Client) .
  6. Wählen Sie Zertifikate und Geheimnisse>Neuer geheimer Clientschlüssel>Hinzufügen aus. Kopieren Sie den Wert des geheimen Clientschlüssels, der auf der Seite angezeigt wird. Er wird nicht erneut angezeigt.

Sie können jetzt ein Zugriffstoken mithilfe der Client-ID und des geheimen Clientschlüssels anfordern, indem Sie den Parameter resource auf den Anwendungs-ID-URI der Ziel-App festlegen. Das resultierende Zugriffstoken kann mithilfe des standardmäßigen OAuth 2.0-Autorisierungsheaders für die Ziel-App bereitgestellt werden, woraufhin die Container Apps-Authentifizierung/-Autorisierung das Token überprüft und wie üblich verwendet, um anzuzeigen, dass der Aufrufer (in diesem Fall eine Anwendung, kein Benutzer) authentifiziert ist.

Dieser Prozess ermöglicht es jeder Clientanwendung in Ihrem Microsoft Entra-Mandanten, ein Zugriffstoken anzufordern und sich bei der Ziel-App zu authentifizieren. Wenn Sie außerdem bei der Autorisierung erzwingen möchten, dass nur bestimmte Clientanwendungen zugelassen werden, müssen Sie die Konfiguration anpassen.

  1. Definieren Sie eine App-Rolle im Manifest der App-Registrierung, die die Container-App darstellt, die Sie schützen möchten.
  2. Wählen Sie in der App-Registrierung, die den Client darstellt, der autorisiert werden muss, API-Berechtigungen>Berechtigung hinzufügen>Meine APIs aus.
  3. Wählen Sie die App-Registrierung aus, die Sie zuvor erstellt haben. Wenn die App-Registrierung nicht angezeigt wird, stellen Sie sicher, dass Sie eine App-Rolle hinzugefügt haben.
  4. Wählen Sie unter Anwendungsberechtigungen die zuvor erstellte App-Rolle aus, und wählen Sie dann Berechtigungen hinzufügen aus.
  5. Wählen Sie unbedingt Administratoreinwilligung erteilen aus, um die Clientanwendung zum Anfordern der Berechtigung zu autorisieren.
  6. Ähnlich wie im vorherigen Szenario (vor dem Hinzufügen jeglicher Rollen) können Sie jetzt für dieselbe Ziel-resourceein Zugriffstoken anfordern. Das Zugriffstoken enthält dann einen roles-Anspruch mit den App-Rollen, die für die Clientanwendung autorisiert wurden.
  7. Im Container Apps-Zielcode können Sie jetzt überprüfen, ob die erwarteten Rollen im Token vorhanden sind. Die Container Apps-Authentifizierungsebene führt die Überprüfungsschritte nicht aus. Weitere Informationen finden Sie unter Zugriff auf Benutzeransprüche.

In diesem Abschnitt haben Sie eine Daemon-Clientanwendung konfiguriert, die unter Verwendung ihrer eigenen Identität auf Ihre Container-App zugreifen kann.

Arbeiten mit authentifizierten Benutzern

In den folgenden Anleitungen erfahren Sie mehr über das Arbeiten mit authentifizierten Benutzern:

Nächste Schritte