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 unterschiedliche Azure-Dienste zu verwenden. Authentifizieren Sie sich lokal mithilfe eines der folgenden Ansätze:
- Verwenden Sie ein Entwicklerkonto mit einem der Entwicklertools, die von der Azure Identity-Bibliothek unterstützt werden.
- Verwenden Sie einen Broker , um Anmeldeinformationen zu verwalten.
- Verwenden Sie einen Dienstprinzipal.
In diesem Artikel wird erläutert, wie Sie sich mithilfe eines Entwicklerkontos mit Tools authentifizieren, die von der Azure Identity-Bibliothek unterstützt werden. 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 zur Verwaltung von Berechtigungen zu.
- So melden Sie sich bei unterstützten lokalen Entwicklungstools an.
- So authentifizieren Sie sich mithilfe eines Entwicklerkontos aus Ihrem App-Code.
Unterstützte Entwicklertools für die Authentifizierung
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
- Visual Studio
- Visual Studio Code
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, die Visual Studio 2017 oder höher verwenden, können sich über die IDE mit ihrem Entwicklerkonto authentifizieren. Apps, die DefaultAzureCredential oder VisualStudioCredential verwenden, können dieses Konto entdecken und nutzen, um App-Anforderungen bei der lokalen Ausführung zu authentifizieren. Dieses Konto wird auch verwendet, wenn Sie Apps direkt aus Visual Studio in Azure veröffentlichen.
Von Bedeutung
Sie müssen den Azure-Entwicklungsworkload installieren , um visual Studio-Tools für die Azure-Authentifizierung, -Entwicklung und -Bereitstellung zu aktivieren.
Navigieren Sie in Visual Studio zu ">", um das Dialogfeld "Optionen" zu öffnen.
Geben Sie im Feld "Suchoptionen " oben Azure ein, um die verfügbaren Optionen zu filtern.
Wählen Sie unter Azure Service Authenticationdie Option "Kontoauswahl" aus.
Wählen Sie das Dropdownmenü unter "Konto auswählen " aus, und fügen Sie ein Microsoft-Konto hinzu.
Geben Sie im daraufhin geöffneten Fenster die Anmeldeinformationen für Ihr gewünschtes Azure-Konto ein, und bestätigen Sie dann Ihre Eingaben.
Wählen Sie 'OK' aus, um das Dialogfeld "Optionen" zu schließen.
Authentifizieren von Azure-Diensten aus Ihrer App
Die Azure Identity-Bibliothek bietet Implementierungen, die TokenCredential verschiedene Szenarien und Microsoft Entra-Authentifizierungsflüsse unterstützen. Die folgenden Schritte veranschaulichen, wie Anmeldeinformationen für DefaultAzureCredential oder ein spezifisches Entwicklungstool beim lokalen Arbeiten mit Benutzerkonten verwendet werden.
Implementieren des Codes
Führen Sie die folgenden Schritte aus:
Fügen Sie Verweise auf die Pakete "Azure.Identity " und " Microsoft.Extensions.Azure " in Ihrem Projekt hinzu:
dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.AzureFügen Sie im
Program.csDirektiven für die NamespacesAzure.IdentityundMicrosoft.Extensions.Azurehinzu.Registrieren Sie den Azure-Dienstclient mithilfe der entsprechenden `
Add`-präfixierten Erweiterungsmethode.Auf Azure-Dienste wird mithilfe spezieller Clientklassen aus den Azure SDK-Clientbibliotheken zugegriffen. Registrieren Sie diese Clienttypen, damit Sie über die Abhängigkeitseinfügung in Ihrer App darauf zugreifen können.
Übergeben Sie eine
TokenCredentialInstanz an dieUseCredentialMethode. Zu den gängigen BeispielenTokenCredentialgehören:Eine
DefaultAzureCredentialInstanz, die für die lokale Entwicklung optimiert ist. In diesem Beispiel wird die UmgebungsvariableAZURE_TOKEN_CREDENTIALSaufdevgesetzt. Weitere Informationen finden Sie unter Ausschließen eines Berechtigungstyps.builder.Services.AddAzureClients(clientBuilder => { clientBuilder.AddBlobServiceClient( new Uri("https://<account-name>.blob.core.windows.net")); DefaultAzureCredential credential = new( DefaultAzureCredential.DefaultEnvironmentVariableName); clientBuilder.UseCredential(credential); });Eine Instanz einer Anmeldeinformation, die einem bestimmten Entwicklungstool entspricht, z. B.
VisualStudioCredential.builder.Services.AddAzureClients(clientBuilder => { clientBuilder.AddBlobServiceClient( new Uri("https://<account-name>.blob.core.windows.net")); VisualStudioCredential credential = new(); clientBuilder.UseCredential(credential); });
Tipp
Wenn Ihr Team mehrere Entwicklungstools für die Authentifizierung bei Azure verwendet, bevorzugen Sie eine lokale entwicklungsoptimierte Instanz von
DefaultAzureCredentialüber toolspezifischen Anmeldeinformationen.