Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Während der lokalen Entwicklung müssen sich Anwendungen bei Azure authentifizieren, um auf verschiedene Azure-Dienste zuzugreifen. Zwei gängige Ansätze für die lokale Authentifizierung sind die Verwendung eines Dienstprinzipals oder die Verwendung eines Entwicklerkontos. In diesem Artikel wird erläutert, wie Sie ein Entwicklerkonto verwenden. In den folgenden Abschnitten lernen Sie Folgendes:
- Verwenden von Microsoft Entra-Gruppen zum effizienten Verwalten von Berechtigungen für mehrere Entwicklerkonten
- So weisen Sie Entwicklerkonten Rollen zu, um Berechtigungen festzulegen
- Anmelden bei unterstützten lokalen Entwicklungstools
- So authentifizieren Sie sich mithilfe eines Entwicklerkontos aus Ihrem App-Code
Damit eine App bei Azure während der lokalen Entwicklung mithilfe der Azure-Anmeldeinformationen des Entwicklers authentifiziert werden kann, muss der Entwickler über eine der folgenden Entwicklertools bei Azure angemeldet sein:
- Azure-Befehlszeilenschnittstelle (Azure CLI)
- Azure Developer CLI (Befehlszeilenschnittstelle für Entwickler)
- Azure PowerShell
Die Azure Identity-Bibliothek kann erkennen, dass der Entwickler von einem dieser Tools aus angemeldet ist. Die Bibliothek kann dann das Microsoft Entra-Zugriffstoken über das Tool abrufen, um die App bei Azure als angemeldeten Benutzer zu authentifizieren.
Dieser Ansatz nutzt die vorhandenen Azure-Konten des Entwicklers, um den Authentifizierungsprozess zu optimieren. Das Konto eines Entwicklers verfügt jedoch wahrscheinlich über mehr Berechtigungen als für die App erforderlich, wodurch die Berechtigungen überschritten werden, mit denen die App in der Produktion ausgeführt wird. Alternativ können Sie Anwendungsdienstprinzipale erstellen, die während der lokalen Entwicklung verwendet werden können, die nur auf den Von der App benötigten Zugriff zugreifen können.
Erstellen einer Microsoft Entra-Gruppe für die lokale Entwicklung
Erstellen Sie eine Microsoft Entra-Gruppe, um die Rollen (Berechtigungen) zu kapseln, die die App in der lokalen Entwicklung benötigt, anstatt die Rollen einzelnen Dienstprinzipalobjekten zuzuweisen. Dieser Ansatz bietet die folgenden Vorteile:
- Jeder Entwickler hat die gleichen Rollen auf Gruppenebene zugewiesen.
- Wenn eine neue Rolle für die App erforderlich ist, muss sie nur der Gruppe für die App hinzugefügt werden.
- Wenn ein neuer Entwickler dem Team beitritt, wird ein neuer Anwendungsdienstprinzipal für den Entwickler erstellt und der Gruppe hinzugefügt, um sicherzustellen, dass der Entwickler über die richtigen Berechtigungen für die Arbeit an der App verfügt.
Navigieren Sie im Azure-Portal zur Übersichtsseite der Microsoft Entra-ID .
Wählen Sie im linken Menü "Alle Gruppen " aus.
Wählen Sie auf der Seite "Gruppen " die Option "Neue Gruppe" aus.
Füllen Sie auf der Seite "Neue Gruppe " die folgenden Formularfelder aus:
- Gruppentyp: Wählen Sie Sicherheit aus.
- Gruppenname: Geben Sie einen Namen für die Gruppe ein, die einen Verweis auf den App- oder Umgebungsnamen enthält.
- Gruppenbeschreibung: Geben Sie eine Beschreibung ein, die den Zweck der Gruppe erläutert.
Wählen Sie unter Mitglieder den Link Keine Mitglieder ausgewählt aus, um der Gruppe Mitglieder hinzuzufügen.
Suchen Sie im daraufhin geöffneten Flyoutbereich nach dem zuvor erstellten Dienstprinzipal, und wählen Sie ihn aus den gefilterten Ergebnissen aus. Wählen Sie unten im Bereich die Schaltfläche "Auswählen " aus, um Ihre Auswahl zu bestätigen.
Wählen Sie unten auf der Seite "Neue Gruppe erstellen" aus, um die Gruppe zu erstellen und zur Seite "Alle Gruppen" zurückzukehren. Wenn die neue Gruppe nicht aufgeführt ist, warten Sie einen Moment, und aktualisieren Sie die Seite.
Weisen Sie der Gruppe Rollen zu
Ermitteln Sie als Nächstes, welche Rollen (Berechtigungen) Ihre App für welche Ressourcen benötigt, und weisen Sie diese Rollen der von Ihnen erstellten Microsoft Entra-Gruppe zu. Gruppen können einer Rolle im Ressourcen-, Ressourcengruppen- oder Abonnementbereich zugewiesen werden. In diesem Beispiel wird gezeigt, wie Rollen im Ressourcengruppenbereich zugewiesen werden, da die meisten Apps alle ihre Azure-Ressourcen in einer einzelnen Ressourcengruppe gruppieren.
Navigieren Sie im Azure-Portal zur Seite "Übersicht" der Ressourcengruppe, die Ihre App enthält.
Wählen Sie im linken Navigationsbereich die Option Zugriffssteuerung (IAM).
Wählen Sie auf der Seite access control (IAM)+ Hinzufügen und dann im Dropdownmenü " Rollenzuweisung hinzufügen " aus. Die Seite " Rollenzuweisung hinzufügen " bietet mehrere Registerkarten zum Konfigurieren und Zuweisen von Rollen.
Verwenden Sie auf der Registerkarte " Rolle " das Suchfeld, um die Rolle zu suchen, die Sie zuweisen möchten. Wählen Sie die Rolle und dann "Weiter" aus.
Auf der Registerkarte „Mitglieder“
- Wählen Sie für den Wert "Zugriff zuweisen""Benutzer", "Gruppe" oder "Dienstprinzipal" aus.
- Wählen Sie für den Wert " Mitglieder " die Option "Mitglieder auswählen " aus, um den Flyoutbereich " Mitglieder auswählen " zu öffnen.
- Suchen Sie nach der Zuvor erstellten Microsoft Entra-Gruppe, und wählen Sie sie aus den gefilterten Ergebnissen aus. Wählen Sie Auswählen aus, um die Gruppe auszuwählen und das Flyout-Panel zu schließen.
- Wählen Sie "Überprüfen" und "Zuweisen " am unteren Rand der Registerkarte " Mitglieder " aus.
Wählen Sie auf der Registerkarte " Überprüfen+ Zuweisen " die Option "Überprüfen" und "Zuweisen " am unteren Rand der Seite aus.
Anmelden bei Azure mithilfe von Entwicklertools
Melden Sie sich als Nächstes mit einem von mehreren Entwicklertools bei Azure an, die zum Durchführen der Authentifizierung in Ihrer Entwicklungsumgebung verwendet werden können. Das Konto, das Sie authentifizieren, sollte auch in der Microsoft Entra-Gruppe vorhanden sein, die Sie zuvor erstellt und konfiguriert haben.
Entwickler können Azure CLI verwenden, um sich bei Microsoft Entra-ID zu authentifizieren. Apps, die DefaultAzureCredential oder AzureCliCredential verwenden, können dieses Konto dann nutzen, um App-Anfragen zu authentifizieren, wenn sie lokal ausgeführt werden.
Führen Sie den az login Befehl aus, um sich mit der Azure CLI zu authentifizieren. Auf einem System mit einem Standardwebbrowser startet die Azure CLI den Browser, um den Benutzer zu authentifizieren.
az login
Für Systeme ohne Standardwebbrowser verwendet der befehl az login den Authentifizierungsfluss von Gerätecode. Der Benutzer kann auch erzwingen, dass die Azure CLI den Gerätecodefluss verwendet, anstatt einen Browser zu starten, indem er das argument --use-device-code angibt.
az login --use-device-code
Authentifizieren von Azure-Diensten aus Ihrer App
Die Azure Identity-Bibliothek stellt verschiedene Berechtigungsnachweise bereit – Implementierungen, die TokenCredential zur Unterstützung verschiedener Szenarien und Microsoft Entra-Authentifizierungsflüsse angepasst sind. Die nachstehenden Schritte veranschaulichen, wie Sie beim lokalen Arbeiten mit Benutzerkonten verwenden DefaultAzureCredential können.
Implementieren des Codes
DefaultAzureCredential ist eine vorab festgelegte, geordnete Sequenz von Mechanismen für die Authentifizierung bei Microsoft Entra ID. Jeder Authentifizierungsmechanismus ist eine von der TokenCredential-Klasse abgeleitete Klasse und wird als Credential bezeichnet. Zur Laufzeit versucht, DefaultAzureCredential sich mit den ersten Anmeldeinformationen zu authentifizieren. Wenn diese Anmeldeinformationen kein Zugriffstoken abrufen, werden die nächsten Anmeldeinformationen in der Sequenz ausprobiert usw., bis erfolgreich ein Zugriffstoken abgerufen wurde. Auf diese Weise kann Ihre App unterschiedliche Anmeldeinformationen in verschiedenen Umgebungen verwenden, ohne umgebungsspezifischen Code zu schreiben.
Um DefaultAzureCredential zu verwenden, fügen Sie die @azure/identity-Pakete Ihrer Anwendung hinzu. Navigieren Sie in einem Terminal Ihrer Wahl zum Anwendungsprojektverzeichnis, und führen Sie den folgenden Befehl aus:
npm install @azure/identity
Auf Azure-Dienste wird mithilfe spezieller Clientklassen aus den verschiedenen Azure SDK-Clientbibliotheken zugegriffen. Diese Klassen und Ihre eigenen benutzerdefinierten Dienste sollten registriert werden, damit sie in ihrer gesamten App aufgerufen werden können. Führen Sie die folgenden programmgesteuerten Schritte aus, um eine Clientklasse zu erstellen und DefaultAzureCredential:
- Importieren Sie das
@azure/identityPaket. - Erstellen Sie den Azure-Dienstclient, und übergeben Sie ihn an eine neue Instanz von
DefaultAzureCredential.
import { DefaultAzureCredential } from "@azure/identity";
import { SomeAzureServiceClient } from "@azure/arm-some-service";
const client = new SomeAzureServiceClient(new DefaultAzureCredential());