Erstellen einer Azure Active Directory-Anwendung und eines Dienstprinzipals mit Ressourcenzugriff
In diesem Artikel erfahren Sie, wie Sie eine Azure Active Directory-(Azure AD-)Anwendung und einen Dienstprinzipal erstellen, der mit der rollenbasierten Zugriffssteuerung verwendet werden kann. Wenn Sie eine neue Anwendung in Azure AD registrieren, wird automatisch ein Dienstprinzipal für die App-Registrierung erstellt. Der Dienstprinzipal ist die Identität der App im Azure AD-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 Azure AD-Authentifizierung unterstützen, sind verwaltete Identitäten für Sie die besser geeignete 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 Azure Active Directory.
Voraussetzungen
Um eine Anwendung in Ihrem Azure AD-Mandanten zu registrieren, müssen Sie Folgendes tun:
- Ein Azure AD-Benutzerkonto. Falls Sie noch über keins verfügen, können Sie ein kostenloses Konto erstellen.
Erforderliche Berechtigungen zum Registrieren einer App
Sie müssen über ausreichende Berechtigungen verfügen, um eine Anwendung bei Ihrem Azure AD-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 Azure AD und Erstellen eines Dienstprinzipals
Melden Sie sich beim Azure-Portalan.
Suchen Sie nach Azure Active Directory, und wählen Sie diese Option aus.
Wählen Sie App-Registrierungen aus, und wählen Sie dann Neue Registrierung aus.
Benennen Sie die Anwendung, z. B. „beispiel-app“.
Wählen Sie einen unterstützten Kontotyp aus, der bestimmt, von wem die Anwendung verwendet werden kann.
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.
Wählen Sie Registrieren.
Sie haben Ihre Azure AD-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.
Melden Sie sich beim Azure-Portalan.
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.
Wählen Sie die Option Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus.
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.
Wählen Sie Weiter aus.
Wählen Sie auf der Registerkarte Mitglieder die Option Zugriff zuweisen zu aus und dann Benutzer, Gruppe oder Dienstprinzipal.
Wählen Sie Mitglieder auswählen aus. Azure AD-Anwendungen werden standardmäßig nicht in den verfügbaren Optionen angezeigt. Um Ihre Anwendung zu finden, suchen Sie nach ihrem Namen.
Wählen Sie die Schaltfläche Auswählen und dann Überprüfen + zuweisen aus.
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:
- Suchen Sie nach Azure Active Directory, und wählen Sie diese Option aus.
- Wählen Sie in Azure AD unter App-Registrierungen Ihre Anwendung aus.
- Kopieren Sie auf der Übersichtsseite die Verzeichnis-(Mandanten-)-ID, und speichern Sie sie in Ihrem Anwendungscode.
- 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.
Option 1 (empfohlen): Hochladen eines von einer Zertifizierungsstelle ausgestellten vertrauenswürdigen Zertifikats
So laden Sie die Zertifikatdatei hoch:
- Suchen Sie nach Azure Active Directory, und wählen Sie diese Option aus.
- Wählen Sie in Azure AD unter App-Registrierungen Ihre Anwendung aus.
- Wählen Sie Zertifikate und Geheimnisse aus.
- Wählen Sie Zertifikate und dann Zertifikat hochladen und schließlich die Zertifikatsdatei aus, die hochgeladen werden soll.
- 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.
- 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.
- Um Ihre Zertifikate anzuzeigen, erweitern Sie im linken Bereich unter Zertifikate - Aktueller Benutzer das Verzeichnis Privat.
- Klicken Sie mit der rechten Maustaste auf das Zertifikat, das Sie erstellt haben, und wählen Sie Alle Aufgaben>Exportieren aus.
- Folgen Sie dem Zertifikatexport-Assistenten.
So laden Sie das Zertifikat hoch:
- Suchen Sie nach Azure Active Directory, und wählen Sie diese Option aus.
- Wählen Sie in Azure AD unter App-Registrierungen Ihre Anwendung aus.
- Wählen Sie Zertifikate und Geheimnisse aus.
- Wählen Sie Zertifikate, anschließend Zertifikat hochladen und dann das Zertifikat (ein vorhandenes Zertifikat oder das von Ihnen exportierte selbstsignierte Zertifikat) aus.
- 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 Anwendungsgeheimnisses
Wenn Sie sich entscheiden, kein Zertifikat zu verwenden, können Sie ein neues Anwendungsgeheimnis erstellen.
- Suchen Sie nach Azure Active Directory, und wählen Sie diese Option aus.
- Wählen Sie App-Registrierungen und dann Ihre Anwendung aus der Liste aus.
- Wählen Sie Zertifikate und Geheimnisse aus.
- Wählen Sie Geheime Clientschlüssel und dann Neuer geheimer Clientschlüssel aus.
- Geben Sie eine Beschreibung des Geheimnisses und eine Dauer ein.
- Wählen Sie Hinzufügen.
Nachdem Sie den geheimen Clientschlüssel gespeichert haben, wird sein Wert angezeigt. Kopieren Sie diesen Wert jetzt, weil Sie den Schlüssel später nicht mehr abrufen können. Geben Sie den Schlüsselwert zusammen mit der Anwendungs-ID an, um sich mit der Anwendung anzumelden. Speichern Sie den Schlüsselwert an einem Ort, von dem Ihre Anwendung ihn abrufen kann.
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:
Melden Sie sich beim Azure-Portalan.
Wählen Sie Ihren Schlüsseltresor aus, und navigieren Sie zu Zugriffsrichtlinien.
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.
Wählen Sie Hinzufügen aus, um die Zugriffsrichtlinie hinzuzufügen.
Speichern Sie sie.
Nächste Schritte
- Erfahren Sie, wie Sie Azure PowerShell oder die Azure CLI zum Erstellen eines Dienstprinzipals verwenden.
- Informationen zum Festlegen von Sicherheitsrichtlinien finden Sie unter Hinzufügen oder Entfernen von Azure-Rollenzuweisungen über das Azure-Portal.
- Eine Liste der verfügbaren Aktionen, die Benutzern erteilt oder verweigert werden können, finden Sie unter Vorgänge für Azure Resource Manager-Ressourcenanbieter.
- Informationen zum Arbeiten mit App-Registrierungen mithilfe von Microsoft Graph finden Sie in der Anwendungs-API-Referenz.