Erstellen einer Azure AD-App-Registrierung

Abgeschlossen

Als App-Entwickler besteht eine ihrer ersten Aufgaben darin, eine Azure AD-App zu registrieren. Eine Azure AD-App richtet eine Identität für Ihre App ein und gibt Berechtigungen für Power BI REST-API-Ressourcen an. Ihre App kann die Azure AD App-Registrierung verwenden, um Azure AD-Token zu generieren.

Jede Azure AD-App verfügt über eine ApplicationID, die manchmal als ClientID bezeichnet wird. Sie ist ein global eindeutiger Bezeichner, der die App auf der Microsoft Identity Platform identifiziert. Die App verwendet die ApplicationID beim Anfordern eines Azure AD-Tokens, daher sollte ihr Wert in der Konfigurationsdatei der App hart codiert sein.

Ihre App muss die Anmeldeinformationen der Azure AD App festlegen, um sich als sie selbst zu authentifizieren, ohne dass eine Interaktion durch einen App-Benutzer erforderlich ist. Sie können der App-Registrierung sowohl Zertifikate als auch Clientgeheimnisse als Anmeldeinformationen hinzufügen.

Ein Zertifikat, das manchmal als öffentlicher Schlüssel bezeichnet wird, ist der empfohlene Typ Anmeldeinformation für Produktions-Apps, da er als sicherer als Clientschlüssel angesehen wird. Weitere Informationen zur Verwendung von Zertifikaten als Authentifizierungsmethode in Ihrer App finden Sie unter Microsoft identity platform application authentication certificate credentials (Zertifikatanmeldeinformationen der Microsoft Identity Platform für die Anwendungsauthentifizierung).

Alternativ ist ein geheimer Clientschlüssel ein Zeichenfolgenwert, der von Ihrer App anstelle eines Zertifikats für die Identifizierung verwendet werden kann. Er wird manchmal als Anwendungskennwort bezeichnet.

Wichtig

Geheime Clientschlüssel sind weniger sicher als Zertifikatanmeldeinformationen. Aufgrund der Benutzerfreundlichkeit verwenden Entwickler bei der Entwicklung lokaler Apps gelegentlich geheime Clientschlüssel. Für Produktions-Apps sollten Sie jedoch Zertifikatanmeldeinformationen verwenden.

Unabhängig davon, ob Sie Zertifikate oder geheime Clientschlüssel verwenden, sollten Sie Schritte ergreifen, um Anmeldeinformationen vor nicht autorisiertem Zugriff und nicht autorisierter Verwendung zu schützen. Wir empfehlen die Verwendung von Azure Key Vault, das Kryptografieschlüssel, Zertifikate und Geheimnisse in der Cloud schützt.

Es bestehen drei Optionen zum Erstellen einer App-Registrierung:

  • Verwenden des Azure-Portals
  • Verwenden des Einbetten-Setuptools
  • Entwickeln eines PowerShell-Skripts

Verwenden des Azure-Portals

Sie können App-Registrierungen im Azure-Portal verwenden, um App-Objekte in Ihrem Basismandanten zu erstellen, aufzulisten und zu verwalten. Darüber hinaus können Sie auch geheime Clientschlüssel oder Zertifikate und Geltungsbereiche hinzufügen, damit Ihre App funktioniert, das Branding Ihrer App im Anmeldedialogfeld anpassen und vieles mehr.

Hinweis

Beim Registrieren Ihrer App im Azure-Portal erstellt das Portal automatisch zugleich ein Dienstprinzipalobjekt.

Ein Vorteil der Verwendung des Azure-Portals ist, dass es alle unterstützten Power BI-Dienstberechtigungen verfügbar macht. Zu den Berechtigungen gehören die Rechte zum Anzeigen aller Berichte, zum Lesen und Schreiben aller Berichte und weitere.

Screenshot: Fenster „API-Berechtigungen anfordern“ im Azure-Portal mit zwei erteilte Berechtigungen: „Alle Berichte anzeigen“ und „Alle Berichte lesen und schreiben“

Die Azure-Portal ermöglicht es, diese Berechtigungen für das Hauptbenutzerkonto zu erteilen, um eine Aufforderung zur Zustimmung durch Azure AD zu vermeiden. Ferner kann ein globaler Administrator allen Benutzern innerhalb der Organisation Berechtigungen erteilen, um Aufforderungen für alle App-Benutzer zu vermeiden.

Hinweis

Das Erteilen von Berechtigungen ist nicht erforderlich, wenn die Einbettungsidentität Ihrer App ein Dienstprinzipal ist. Das liegt daran, dass Power BI-Administratoren ihre Berechtigungen im Power BI-Admin-Portal verwalten.

Ein Nachteil bei der Verwendung des Azure-Portals ist jedoch, dass Entwickler es möglicherweise zeitaufwendig und komplex finden.

Verwenden des Einbetten-Setuptools

Zum Vereinfachen und Beschleunigen der Einrichtung Ihrer Entwicklungsumgebung verwenden Sie das Einbetten-Setuptool. Es bietet zwei Optionen für Einbettungslösungen: Einbetten für Ihre Kunden und Einbetten für Ihre Organisation.

Hinweis

Die Beispiel-App Einbetten für Ihre Kunden bietet keine Unterstützung für die Verwendung eines Dienstprinzipals als Einbettungsidentität, kann jedoch angepasst werden, um die Unterstützung zu implementieren.

Screenshot: Anzeige der zwei Optionen „Einbetten für Ihre Kunden“ und „Einbetten für Ihre Organisation“ im Tool zum Einrichten der Einbettung

Das Tool übernimmt die unangenehmen Arbeiten bei der Einrichtung. Es dauert nur Minuten, den Assistenten-ähnlichen Workflow zu durchlaufen. Wenn Sie fertig sind, führt das Tool automatisch folgende Aufgaben aus:

  • Erstellen einer Azure AD App-Registrierung und Anfordern der relevanten Power BI REST-API-Berechtigungen
  • Optionales Erstellen eines Arbeitsbereichs
  • Optionales Importieren eines Datasets und eines Berichts in den Arbeitsbereich. Sie können einen Beispielbericht importieren oder eine Power BI Desktop-Datei (PBIX) Ihrer Wahl hochladen
  • Erteilen von Berechtigungen, um Azure AD-Aufforderung zur Zustimmung zu vermeiden
  • Zurückgeben wichtiger Konfigurationswerte, einschließlich der ApplicationID, Arbeitsbereich-ID (GroupID) und ReportID
  • Erstellen einer ASP.NET-Beispiel-App, die in C# geschrieben wurde und die Sie als ZIP-Datei herunterladen können. Die Konfigurationsdatei der App enthält alle Konfigurationswerte (unter dem vorherigen Aufzählungspunkt beschrieben), jedoch nicht das Hauptbenutzerkonto oder seine Anmeldeinformationen. Sie müssen diese Konfigurationswerte eingeben.

Dies ist eine großartige Nachricht für Sie als angehenden Power BI Embedded Analytics-Entwickler. Erstens können Sie in Minuten zu einer funktionsfähigen App gelangen. Zweitens hat Microsoft die Beispiel-Apps unter Verwendung aktueller Softwarebibliotheken und sinnvoller Entwurfspraktiken entwickelt, sodass Sie sie zurückentwickeln können, um ihre Funktionsweise nachzuvollziehen und daraus zu lernen. Es bleibt Ihnen überlassen, ob Sie die App weiter entwickeln oder von Grund auf neu beginnen und eine neue App entwickeln, indem Sie Ihre neuen Fähigkeiten anwenden.

Entwickeln eines PowerShell-Skripts

Die Möglichkeit, ein Skript zum Erstellen einer App-Registrierung zu entwickeln, ist gut, wenn Sie Verwaltungsvorgänge reproduzieren müssen. Sie können beispielsweise ein Skript erstellen, um einen neuen Mandanten in einer Mehrmandanten-App zu integrieren. Gut geschriebene Skripts können zu schnelleren und genaueren Ergebnissen führen.

Microsoft Graph bietet ein einheitliches Programmiermodell. Es macht REST-APIs und eine Clientbibliothek für den Zugriff auf Daten und das Ausführen von Vorgängen in verschiedenen Microsoft-Clouddiensten verfügbar. Im Hinblick auf das Erstellen von App-Registrierungen können Sie Microsoft Graph für diese Zwecke verwenden:

  • Generieren von geheimen App-Schlüsseln
  • Erstellen von App-Registrierungen
  • Erstellen des Dienstprinzipals der App
  • Zuweisen eines Benutzers als App-Besitzer
  • Hinzufügen der Dienstprinzipale zu einer Sicherheitsgruppe

Hinweis

Beim programmgesteuerten Erstellen einer App-Registrierung wird nicht automatisch ein Dienstprinzipal erstellt. Ihr Skript muss der App explizit einen Dienstprinzipal hinzufügen.

Tipp

Ein Beispiel zum Entwickeln eines Skripts, das eine App-Registrierung erstellt, finden Sie im Modul „Automatisieren der Verwaltung von Power BI-Lösungen“.