Share via


Tutorial: Vorbereiten des externen Mandanten auf die Autorisierung einer Node.js-Daemonanwendung

In dieser Tutorialreihe wird veranschaulicht, wie Sie eine Daemonclient-App in Node.js erstellen und diese für die Authentifizierung im Microsoft Entra Admin Center vorbereiten. Sie verwenden den Flow für die Zuweisung von Clientanmeldeinformationen in OAuth 2.0 (Open Authorization) und konfigurieren diesen anschließend so, dass er ein Zugriffstoken für den Aufruf einer Web-API abruft.

In diesem Tutorial:

  • Registrieren einer Web-API im Microsoft Entra Admin Center und Aufzeichnen ihrer Bezeichner
  • Konfigurieren von App-Rollen für die Web-API
  • Registrieren einer Clientdaemonanwendung
  • Erteilen von Berechtigungen für die Daemon-App
  • Erstellen eines geheimen Clientschlüssels für Ihre Daemon-App

Wenn Sie bereits eine Clientdaemonanwendung und eine Web-API im Microsoft Entra Admin Center registriert haben, können Sie die Schritte in diesem Tutorial überspringen und direkt mit dem Abrufen eines Zugriffstokens zum Aufrufen einer API fortfahren.

Voraussetzungen

Registrieren einer Web-API-Anwendung

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsentwickler an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Einstellungen-Symbol im oberen Menü, um über das Menü Verzeichnisse + Abonnements zu Ihrem externen Mandanten zu wechseln.

  3. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen.

  4. Wählen Sie + Neue Registrierung aus.

  5. Geben Sie auf der daraufhin angezeigten Seite Anwendung registrieren die Registrierungsinformationen Ihrer Anwendung ein:

    1. Geben Sie im Abschnitt „Name“ einen aussagekräftigen Anwendungsnamen ein, der den Benutzerinnen bzw. Benutzern der Anwendung angezeigt werden soll (beispielsweise ciam-client-app).

    2. Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus.

  6. Wählen Sie Registrieren aus, um die Anwendung zu erstellen.

  7. Der Bereich Übersicht der Anwendung wird angezeigt, wenn die Registrierung abgeschlossen ist. Notieren Sie sich die Verzeichnis-ID (Mandant) und die Anwendungs-ID (Client), die im Quellcode Ihrer Anwendung verwendet werden sollen.

Konfigurieren von App-Rollen

Eine API muss mindestens eine Anwendungsrolle für Anwendungen veröffentlichen, die auch als Anwendungsberechtigung bezeichnet wird, damit die Clientanwendungen selbst ein Zugriffstoken erhalten können. Anwendungsberechtigungen sind der Typ von Berechtigungen, die APIs veröffentlichen sollten, wenn sie Clientanwendungen eine erfolgreiche Authentifizierung als sie selbst ermöglichen wollen und keine Benutzerinnen bzw. Benutzer anmelden müssen. Befolgen Sie die folgenden Schritte, um eine Anwendungsberechtigung zu veröffentlichen:

  1. Wählen Sie auf der Seite App-Registrierungen die von Ihnen erstellte Anwendung (z. B. ciam-ToDoList-api) aus, um ihre Seite Übersicht zu öffnen.

  2. Wählen Sie unter Verwalten die Option Anwendungsrollen aus.

  3. Wählen Sie App-Rolle erstellen aus, und geben Sie die folgenden Werte ein. Wählen Sie dann Anwenden aus, um Ihre Änderungen zu speichern:

    Eigenschaft Wert
    `Display name` ToDoList.Read.All
    Zulässige Mitgliedstypen Anwendungen
    Wert ToDoList.Read.All
    BESCHREIBUNG Geben Sie der App Lesezugriff auf die ToDo-Liste aller Benutzer*innen mithilfe von „ToDoListApi“.
  4. Wählen Sie erneut App-Rolle erstellen aus, und geben Sie die folgenden Werte für die zweite App-Rolle ein. Wählen Sie dann Anwenden aus, um Ihre Änderungen zu speichern:

    Eigenschaft Wert
    `Display name` ToDoList.ReadWrite.All
    Zulässige Mitgliedstypen Anwendungen
    Wert ToDoList.ReadWrite.All
    BESCHREIBUNG Geben Sie der App Lese- und Schreibzugriff auf die ToDo-Liste eines jeden Benutzers mit Hilfe der „ToDoListApi“.

Konfigurieren des Tokenanspruchs „idtyp“

Von der Microsoft-Identität zurückgegebene Token werden kleiner gehalten, um eine optimale Leistung von Clients zu gewährleisten, die sie anfordern. Daher sind einige Ansprüche nicht mehr standardmäßig im Token vorhanden und müssen für einzelne Anwendungen speziell angefordert werden. Fügen Sie für diese App den optionalen Anspruch idtyp ein, damit die Web-API besser ermitteln kann, ob ein Token ein App-Token oder ein App- und Benutzertoken ist. Für den gleichen Zweck kann zwar auch eine Kombination aus Ansprüchen vom Typ scp und roles verwendet werden, die Verwendung des Anspruchs idtyp ist jedoch die einfachste Möglichkeit, um App-Token von App- und Benutzertoken zu unterscheiden. Der Wert dieses Anspruchs ist beispielsweise app, wenn das Token ein reines App-Token ist.

Führen Sie die folgenden Schritte aus, um den optionalen Anspruch idtyp zu konfigurieren:

  1. Wählen Sie auf der Seite App-Registrierungen den zu konfigurierenden optionalen Anspruch aus, z. B. ciam-client-app, um die entsprechende Seite Übersicht zu öffnen.

  2. Wählen Sie unter Verwalten die Option Tokenkonfiguration aus.

  3. Wählen Sie Optionalen Anspruch hinzufügen aus.

  4. Wählen Sie unter Tokentyp die Option Zugriff aus.

  5. Wählen Sie den optionalen Anspruch idtyp aus.

  6. Klicken Sie auf Hinzufügen, um die Änderungen zu speichern.

Registrieren der Daemonanwendung

Damit Ihre Anwendung Benutzer mit Microsoft Entra anmelden kann, muss Microsoft Entra External ID auf die von Ihnen erstellte Anwendung aufmerksam gemacht werden. Durch die App-Registrierung wird eine Vertrauensstellung zwischen der Anwendung und Microsoft Entra eingerichtet. Wenn Sie eine Anwendung registrieren, generiert External ID einen eindeutigen Bezeichner, die Anwendungs-ID (Client). Dieser Wert wird zum Identifizieren Ihrer Anwendung beim Erstellen von Authentifizierungsanforderungen verwendet.

Die folgenden Schritte veranschaulichen, wie Sie Ihre Anwendung im Microsoft Entra Admin Center registrieren:

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsentwickler an.

  2. Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Einstellungen-Symbol im oberen Menü, um über das Menü Verzeichnisse + Abonnements zu Ihrem externen Mandanten zu wechseln.

  3. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen.

  4. Wählen Sie + Neue Registrierung aus.

  5. Auf der Seite Anwendung registrieren die angezeigt wird.

    1. Geben Sie im Abschnitt Name einen aussagekräftigen Anwendungsnamen ein, der den Benutzern der Anwendung angezeigt wird (z. B. ciam-client-app).
    2. Wählen Sie unter Unterstützte Kontotypen die Option Nur Konten in diesem Organisationsverzeichnis aus.
  6. Wählen Sie Registrieren.

  7. Der Bereich Übersicht der Anwendung wird bei erfolgreicher Registrierung angezeigt. Notieren Sie sich die Anwendungs-ID (Client), die im Quellcode Ihrer Anwendung verwendet werden sollen.

Erstellen eines Clientgeheimnisses

Erstellen Sie einen geheimen Clientschlüssel für die registrierte Anwendung. Die Anwendung verwendet den geheimen Clientschlüssel beim Anfordern von Token als Identitätsnachweis.

  1. Wählen Sie auf der Seite App-Registrierungen die von Ihnen erstellte Anwendung (z. B. ciam-client-app) aus, um ihre Seite Übersicht zu öffnen.
  2. Wählen Sie unter Verwalten die Option Zertifikate und Geheimnisse aus.
  3. Wählen Sie Neuer geheimer Clientschlüssel.
  4. Geben Sie im Feld Beschreibung eine Beschreibung für das Clientgeheimnis ein (z. B. Ciam-App-Clientgeheimnis).
  5. Wählen Sie unter Gültig bis einen Gültigkeitszeitraum für den geheimen Schlüssel (gemäß den jeweiligen Sicherheitsregeln Ihrer Organisation) und dann Hinzufügen aus.
  6. Notieren Sie den Wert des Geheimnisses. Dieser Wert wird in einem späteren Schritt für die Konfiguration verwendet. Der Wert des Geheimnisses wird nicht noch mal angezeigt und kann nicht anderweitig abgerufen werden, nachdem Sie die Seite Zertifikate & Geheimnisse verlassen haben. Notieren Sie sich diesen daher unbedingt.

Erteilen von API-Berechtigungen für die Daemonanwendung

  1. Wählen Sie auf der Seite Anwendungsregistrierungen die von Ihnen erstellte Anwendung (z. B. ciam-client-app) aus.

  2. Wählen Sie unter Verwalten die Option API-Berechtigungen.

  3. Wählen Sie unter Konfigurierte Berechtigungen die Option Berechtigung hinzufügen aus.

  4. Wählen Sie die Registerkarte Von meiner Organisation verwendete APIs aus.

  5. Wählen Sie in der Liste der APIs die API aus, z. B. ciam-ToDoList-api.

  6. Wählen Sie die Option Anwendungsberechtigungen aus. Wir wählen diese Option aus, da sich die Anwendung als sie selbst anmeldet, nicht als Benutzer.

  7. Wählen Sie in der Berechtigungsliste TodoList.Read.All, ToDoList.ReadWrite.All aus (verwenden Sie bei Bedarf das Suchfeld).

  8. Wählen Sie die Schaltfläche Berechtigungen hinzufügen aus.

  9. An diesem Punkt haben Sie die Berechtigungen ordnungsgemäß zugewiesen. Da die Daemon-App jedoch keine Interaktion mit Benutzerinnen oder Benutzern zulässt, können die Benutzerinnen und Benutzer selbst diesen Berechtigungen nicht zustimmen. Um dieses Problem zu beheben, müssen Sie als Administrator im Namen aller Benutzer im Mandanten diesen Berechtigungen zustimmen:

    1. Wählen Sie Administratorzustimmung für <Name Ihres Mandanten> erteilen und dann Ja aus.
    2. Wählen Sie Aktualisieren aus, und vergewissern Sie sich, dass für beide Berechtigungen unter Status der Status Gewährt für <Name Ihres Mandanten> angezeigt wird.

Erfassen der App-Registrierungsdetails

Im nächsten Schritt bereiten Sie Ihre Daemon-App vor. Stellen Sie sicher, dass Sie folgende Informationen haben:

  • Die Anwendungs-ID (Client) der Clientdaemon-App, die Sie registriert haben.
  • Die Verzeichnisunterdomäne (Mandant), in der Sie Ihre Daemon-App registriert haben. Wenn Sie ihren Mandantennamen nicht kennen, können Sie Ihre Mandantendetails auslesen.
  • Wert des Anwendungsgeheimnisses für die Daemon-App, die Sie erstellt haben
  • Die Anwendungs-ID (Client) der Web-API-App, die Sie registriert haben.

Nächster Schritt