Erstellen einer Microsoft Entra ID-Anwendung und eines Dienstprinzipals mit Zugriff auf Ressourcen

In diesem Artikel erfahren Sie, wie Sie eine Microsoft Entra-Anwendung und einen Dienstprinzipal erstellen, die mit der rollenbasierten Zugriffssteuerung verwendet werden können. Wenn Sie eine neue Anwendung in Microsoft Entra ID registrieren, wird automatisch ein Dienstprinzipal für die App-Registrierung erstellt. Der Dienstprinzipal ist die Identität der App im Microsoft Entra-Mandanten. Der Zugriff auf Ressourcen wird durch die dem Dienstprinzipal zugewiesenen Rollen eingeschränkt. Dadurch können Sie steuern, auf welcher Ebene auf welche Ressourcen zugegriffen werden kann. Aus Sicherheitsgründen wird stets empfohlen, Dienstprinzipale mit automatisierten Tools zu verwenden, statt ihnen die Anmeldung mit einer Benutzeridentität zu erlauben.

In diesem Artikel erstellen Sie eine Einzelmandantenanwendung im Azure-Portal. Dieses Beispiel gilt für Branchenanwendungen, die innerhalb einer Organisation verwendet werden. Sie können auch Azure PowerShell oder die Azure CLI zum Erstellen eines Dienstprinzipals verwenden.

Wichtig

Anstatt einen Dienstprinzipal zu erstellen, sollten Sie die Verwendung verwalteter Identitäten für Azure-Ressourcen für Ihre Anwendungsidentität erwägen. Wenn Ihr Code unter einem Dienst ausgeführt wird, der verwaltete Identitäten unterstützt und auf Ressourcen zugreift, die die Microsoft Entra-Authentifizierung unterstützen, sind verwaltete Identitäten für Sie die bessere Option. Weitere Informationen zu verwalteten Identitäten für Azure-Ressourcen (z.B. auch zu den Diensten, die diese zurzeit unterstützen) finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?

Weitere Informationen zu den Beziehungen zwischen App-Registrierung, Anwendungsobjekten und Dienstprinzipalen finden Sie unter Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID.

Voraussetzungen

Um eine Anwendung in Ihrem Microsoft Entra-Mandanten zu registrieren, benötigen Sie Folgendes:

Erforderliche Berechtigungen zum Registrieren einer App

Sie müssen über ausreichende Berechtigungen verfügen, um eine Anwendung bei Ihrem Microsoft Entra-Mandanten registrieren und der Anwendung eine Rolle in Ihrem Azure-Abonnement zuweisen zu können. Zum Ausführen dieser Aufgaben benötigen Sie eine Application.ReadWrite.All-Berechtigung.

Registrieren einer Anwendung mit Microsoft Entra ID und Erstellen eines Dienstprinzipals

Tipp

Die Schritte in diesem Artikel können je nach dem Portal, mit dem Sie beginnen, geringfügig variieren.

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens als Cloudanwendungsadministrator an.

  2. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Neue Registrierung aus.

  3. Benennen Sie die Anwendung, z. B. „beispiel-app“.

  4. Wählen Sie einen unterstützten Kontotyp aus, der bestimmt, von wem die Anwendung verwendet werden kann.

  5. Wählen Sie unter Umleitungs-URI als Typ der Anwendung, die Sie erstellen möchten, Web aus. Geben Sie den URI ein, an den das Zugriffstoken gesendet wird.

  6. Wählen Sie Registrieren aus.

    Type a name for your application.

Sie haben Ihre Microsoft Entra-Anwendung und den Dienstprinzipal erstellt.

Zuweisen einer Rolle zur Anwendung

Sie müssen der Anwendung eine Rolle zuweisen, um auf Ressourcen in Ihrem Abonnement zugreifen zu können. Entscheiden Sie, welche Rolle über die geeigneten Berechtigungen für die Anwendung verfügt. Informationen zu den verfügbaren Rollen finden Sie unter In Azure integrierte Rollen.

Sie können den Umfang auf Abonnement-, Ressourcengruppen- oder Ressourcenebene festlegen. Niedrigere Ebenen mit geringerem Umfang erben Berechtigungen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie die Bereichsebene aus, der Sie die Anwendung zuweisen möchten. Um z. B. eine Rolle im Abonnementkontext zuzuweisen, suchen Sie nach Abonnements und wählen Sie die Option aus. Falls Sie das gesuchte Abonnement nicht finden können, können Sie den globalen Abonnementfilter verwenden. Stellen Sie sicher, dass das gewünschte Abonnement für den Mandanten ausgewählt ist.

  3. Wählen Sie die Option Zugriffssteuerung (IAM) aus.

  4. Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus.

  5. Wählen Sie auf der Registerkarte Rolle die Rolle aus, die Sie der Anwendung in der Liste zuweisen möchten. Wählen Sie beispielsweise die Rolle Mitwirkender aus, um für die Anwendung Aktionen wie das Neustarten, Starten und Beenden von Instanzen durchzuführen.

  6. Wählen Sie Weiter aus.

  7. Wählen Sie auf der Registerkarte Mitglieder die Option Zugriff zuweisen zu aus und dann Benutzer, Gruppe oder Dienstprinzipal.

  8. Wählen Sie Mitglieder auswählen aus. Microsoft Entra-Anwendungen werden standardmäßig nicht in den verfügbaren Optionen angezeigt. Um Ihre Anwendung zu finden, suchen Sie nach ihrem Namen.

  9. Wählen Sie die Schaltfläche Auswählen und dann Überprüfen + zuweisen aus.

    Screenshot showing role assignment.

Ihr Dienstprinzipal wird eingerichtet. Sie können mit der Nutzung beginnen, um Ihre Skripts oder Apps auszuführen. Wechseln Sie zu Unternehmensanwendungen, um Ihren Dienstprinzipal zu verwalten (Berechtigungen, vom Benutzer genehmigte Berechtigungen, Anzeigen der genehmigenden Benutzer, Überprüfen von Berechtigungen, Anzeigen von Anmeldeinformationen usw.).

Im nächsten Abschnitt wird veranschaulicht, wie Sie Werte abrufen, die beim programmgesteuerten Anmelden benötigt werden.

Anmelden bei der Anwendung

Beim programmgesteuerten Anmelden geben Sie in Ihrer Authentifizierungsanforderung die Mandanten-ID und die Anwendungs-ID an. Darüber hinaus benötigen Sie ein Zertifikat oder einen Authentifizierungsschlüssel. So erhalten Sie die Verzeichnis-(Mandanten-)ID und die Anwendungs-ID:

  1. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Ihre Anwendung aus.
  2. Kopieren Sie auf der Übersichtsseite die Verzeichnis-(Mandanten-)-ID, und speichern Sie sie in Ihrem Anwendungscode.
  3. Kopieren Sie die Anwendungs-(Client-)ID, und speichern Sie sie in Ihrem Anwendungscode.

Einrichten der Authentifizierung

Für Dienstprinzipale sind zwei Arten von Authentifizierung verfügbar: kennwortbasierte Authentifizierung (Anwendungsgeheimnis) und zertifikatbasierte Authentifizierung. Es wird empfohlen, ein vertrauenswürdiges Zertifikat zu verwenden, das von einer Zertifizierungsstelle ausgestellt wurde. Sie können jedoch auch ein Anwendungsgeheimnis erstellen oder ein selbstsigniertes Zertifikat zu Testzwecken erstellen.

So laden Sie die Zertifikatdatei hoch:

  1. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Ihre Anwendung aus.
  2. Wählen Sie Zertifikate & Geheimnisse aus.
  3. Wählen Sie Zertifikate und dann Zertifikat hochladen und schließlich die Zertifikatsdatei aus, die hochgeladen werden soll.
  4. Wählen Sie Hinzufügen. Nachdem das Zertifikat hochgeladen wurde, werden der Fingerabdruck, das Startdatum und der Ablaufzeitpunkt angezeigt.

Aktivieren Sie nach dem Registrieren des Zertifikats bei Ihrer Anwendung im Portal der Anwendungsregistrierung den Code Vertrauliche Clientanwendung, um das Zertifikat zu verwenden.

Option 2 (nur zu Testzwecken): Erstellen und Hochladen eines selbstsignierten Zertifikats

Optional können Sie ausschließlich für Testzwecke ein selbstsigniertes Zertifikat erstellen. Zum Erstellen eines selbstsignierten Zertifikats öffnen Sie Windows PowerShell, und führen Sie New-SelfSignedCertificate mit den folgenden Parametern aus, um das Zertifikat im Benutzerzertifikatspeicher auf Ihrem Computer zu erstellen:

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Exportieren Sie dieses Zertifikat mit dem MMC-Snap-In Benutzerzertifikat verwalten, auf das Sie in der Windows-Systemsteuerung zugreifen können, in eine Datei.

  1. Wählen Sie im Menü Start den Befehl Ausführen aus, und geben Sie certmgr.msc ein. Das Tool „Zertifikat-Manager“ für den aktuellen Benutzer wird angezeigt.
  2. Um Ihre Zertifikate anzuzeigen, erweitern Sie im linken Bereich unter Zertifikate - Aktueller Benutzer das Verzeichnis Privat.
  3. Klicken Sie mit der rechten Maustaste auf das Zertifikat, das Sie erstellt haben, und wählen Sie Alle Aufgaben>Exportieren aus.
  4. Folgen Sie dem Zertifikatexport-Assistenten.

So laden Sie das Zertifikat hoch:

  1. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Ihre Anwendung aus.
  2. Wählen Sie Zertifikate & Geheimnisse aus.
  3. Wählen Sie Zertifikate, anschließend Zertifikat hochladen und dann das Zertifikat (ein vorhandenes Zertifikat oder das von Ihnen exportierte selbstsignierte Zertifikat) aus.
  4. Wählen Sie Hinzufügen.

Aktivieren Sie nach dem Registrieren des Zertifikats bei Ihrer Anwendung im Portal der Anwendungsregistrierung den Code Vertrauliche Clientanwendung, um das Zertifikat zu verwenden.

Option 3: Erstellen eines neuen geheimen Clientschlüssels

Wenn Sie sich entscheiden, kein Zertifikat zu verwenden, können Sie einen neuen geheimen Clientschlüssel erstellen.

  1. Navigieren Sie zu Identität>Anwendungen>App-Registrierungen, und wählen Sie dann Ihre Anwendung aus.
  2. Wählen Sie Zertifikate & Geheimnisse aus.
  3. Wählen Sie Geheime Clientschlüssel und dann Neuer geheimer Clientschlüssel aus.
  4. Geben Sie eine Beschreibung des Geheimnisses und eine Dauer ein.
  5. Wählen Sie Hinzufügen.

Nachdem Sie den geheimen Clientschlüssel gespeichert haben, wird sein Wert angezeigt. Dieser wird nur einmal angezeigt. Kopieren Sie diesen Wert also, und speichern Sie ihn dort, wo Ihre Anwendung ihn abrufen kann, in der Regel dort, wo Ihre Anwendung Werte wie clientId oder authoruty im Quellcode speichert. Geben Sie den Schlüsselwert zusammen mit der Client-ID der Anwendung an, um sich als die Anwendung anzumelden.

Screenshot showing the client secret.

Konfigurieren von Zugriffsrichtlinien für Ressourcen

Möglicherweise müssen Sie zusätzliche Berechtigungen für Ressourcen konfigurieren, auf die Ihre Anwendung zugreifen muss. Sie müssen beispielsweise auch die Zugriffsrichtlinien eines Schlüsseltresors aktualisieren, um der Anwendung Zugriff auf Schlüssel, Geheimnisse oder Zertifikate zu gewähren.

So konfigurieren Sie Zugriffsrichtlinien:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie Ihren Schlüsseltresor aus, und navigieren Sie zu Zugriffsrichtlinien.

  3. Wählen Sie Zugriffsrichtlinie hinzufügen und anschließend die Schlüssel-, Geheimnis- und Zertifikatberechtigungen aus, die Sie Ihrer Anwendung gewähren möchten. Wählen Sie den zuvor erstellten Dienstprinzipal aus.

  4. Wählen Sie Hinzufügen aus, um die Zugriffsrichtlinie hinzuzufügen.

  5. Speichern Sie sie.

    Add access policy

Nächste Schritte