Verwenden der MSAL in einer nationalen Cloudumgebung
Artikel
Nationale Clouds (auch als Sovereign Clouds bezeichnet) sind physisch isolierte Azure-Instanzen. Diese Regionen von Azure tragen dazu bei, dass Anforderungen in puncto Datenresidenz, Datenhoheit und Compliance innerhalb geografischer Grenzen erfüllt werden.
Neben der weltweiten Microsoft-Cloud ermöglicht die Microsoft Authentication Library (MSAL) den Anwendungsentwicklern in nationalen Clouds das Abrufen von Token für die Authentifizierung und das Aufrufen geschützter Web-APIs. Bei diesen Web-APIs kann es sich um Microsoft Graph oder um andere Microsoft-APIs handeln.
Neben der globalen Azure-Cloud wird Microsoft Entra ID in den folgenden nationalen Clouds bereitgestellt:
Dieser Leitfaden veranschaulicht das Anmelden bei Geschäfts-, Schul- oder Unikonten, das Abrufen eines Zugriffstokens sowie das Aufrufen der Microsoft Graph-API in der Azure Government-Cloudumgebung.
Azure Deutschland (Microsoft Cloud Deutschland)
Warnung
Azure Deutschland (Microsoft Cloud Deutschland) wird am 29. Oktober 2021 geschlossen. Auf Dienste und Anwendungen, die Sie nicht bis zu diesem Datum zu einer Region im globalen Azure migriert haben, kann nicht mehr zugegriffen werden.
Stellen Sie zu Beginn sicher, dass die folgenden Voraussetzungen erfüllt sind:
Auswählen der geeigneten Identitäten
Azure Government-Anwendungen können zur Authentifizierung von Benutzer*innen sowohl Microsoft Entra Government-Identitäten als auch öffentliche Microsoft Entra-Identitäten verwenden. Da Sie eine beliebige dieser Identitäten verwenden können, wählen Sie einen Autoritätsendpunkt für Ihr Szenario aus:
Öffentliche Microsoft Entra-Identität: Wird häufig verwendet, wenn Ihre Organisation bereits über einen öffentlichen Microsoft Entra-Mandanten verfügt, um Microsoft 365 (öffentlich oder GCC) oder eine andere Anwendung zu unterstützen.
Microsoft Entra Government-Identität: Wird häufig verwendet, wenn Ihre Organisation bereits über einen Microsoft Entra Government-Mandanten verfügt, um Office 365 (GCC High oder DoD) zu unterstützen, oder wenn ein neuer Mandant in Microsoft Entra Government erstellt werden soll.
Nach dieser Entscheidung müssen Sie sich überlegen, wo die App-Registrierung erfolgen soll. Wenn Sie öffentliche Microsoft Entra-Identitäten für Ihre Azure Government-Anwendung auswählen, müssen Sie die Anwendung in Ihrem öffentlichen Microsoft Entra-Mandanten registrieren.
Wenn Sie kein Azure Government-Abonnement besitzen, können Sie zu Beginn ein kostenloses Konto erstellen.
Weitere Informationen zur Verwendung einer nationalen Cloud mit einer bestimmten Programmiersprache erhalten Sie, indem Sie die Registerkarte entsprechend der gewünschten Sprache auswählen:
Über MSAL.NET können Sie Benutzer anmelden, Token anfordern und die Microsoft Graph-API in nationalen Clouds aufrufen.
In den folgenden Tutorials erfahren Sie, wie Sie eine ASP.NET Core Web-App erstellen. Die App verwendet OpenID Connect, um Benutzer mit einem Geschäfts-, Schul- oder Unikonto in einer Organisation anzumelden, die zu einer nationalen Cloud gehört.
So aktivieren Sie Ihre MSAL.js-Anwendung für Sovereign Clouds
Registrieren Sie Ihre Anwendung abhängig von der Cloud in einem bestimmten Portal. Weitere Informationen zum Auswählen des Portals finden Sie unter App-Registrierungsendpunkte.
Verwenden Sie abhängig von der Cloud eines der Beispiele aus dem Repository mit einigen Änderungen, die im Folgenden genannt werden.
Verwenden Sie abhängig von der Cloud, in der Sie die Anwendung registriert haben, eine bestimmte Autorisierung. Weitere Informationen zu autoritativen Stellen für verschiedene Clouds finden Sie unter Microsoft Entra-Authentifizierungsendpunkte.
Zum Aufrufen der Microsoft Graph-API ist eine Endpunkt-URL erforderlich, die für die von Ihnen verwendete Cloud spezifisch ist. Informationen zum Ermitteln von Microsoft Graph-Endpunkten für alle nationalen Clouds finden Sie unter Stammendpunkte für Microsoft Graph und Graph Explorer.
So aktivieren Sie Ihre MSAL-Python-Anwendung für Sovereign Clouds
Registrieren Sie Ihre Anwendung abhängig von der Cloud in einem bestimmten Portal. Weitere Informationen zum Auswählen des Portals finden Sie unter App-Registrierungsendpunkte.
Verwenden Sie abhängig von der Cloud eines der Beispiele aus dem Repository mit einigen Änderungen, die im Folgenden genannt werden.
Verwenden Sie abhängig von der Cloud, in der Sie die Anwendung registriert haben, eine bestimmte Autorisierung. Weitere Informationen zu autoritativen Stellen für verschiedene Clouds finden Sie unter Microsoft Entra-Authentifizierungsendpunkte.
Zum Aufrufen der Microsoft Graph-API ist eine Endpunkt-URL erforderlich, die für die von Ihnen verwendete Cloud spezifisch ist. Informationen zum Ermitteln von Microsoft Graph-Endpunkten für alle nationalen Clouds finden Sie unter Stammendpunkte für Microsoft Graph und Graph Explorer.
Hier finden Sie ein Beispiel für einen Microsoft Graph-Endpunkt mit einem Bereich:
So aktivieren Sie Ihre MSAL-Java-Anwendung für Sovereign Clouds
Registrieren Sie Ihre Anwendung abhängig von der Cloud in einem bestimmten Portal. Weitere Informationen zum Auswählen des Portals finden Sie unter App-Registrierungsendpunkte.
Verwenden Sie abhängig von der Cloud eines der Beispiele aus dem Repository mit einigen Änderungen, die im Folgenden genannt werden.
Verwenden Sie abhängig von der Cloud, in der Sie die Anwendung registriert haben, eine bestimmte Autorisierung. Weitere Informationen zu autoritativen Stellen für verschiedene Clouds finden Sie unter Microsoft Entra-Authentifizierungsendpunkte.
Zum Aufrufen der Microsoft Graph-API ist eine Endpunkt-URL erforderlich, die für die von Ihnen verwendete Cloud spezifisch ist. Informationen zum Ermitteln von Microsoft Graph-Endpunkten für alle nationalen Clouds finden Sie unter Stammendpunkte für Microsoft Graph und Graph Explorer.
Hier ist ein Beispiel für einen Graph-Endpunkt mit einem Bereich:
MSAL für iOS und macOS kann zum Abrufen von Token in nationalen Clouds verwendet werden. Für die Erstellung von MSALPublicClientApplication ist jedoch zusätzliche Konfiguration erforderlich.
Wenn Sie beispielsweise möchten, dass Ihre Anwendung eine mehrinstanzenfähige Anwendung in einer nationalen Cloud (in diesem Fall US Government) ist, könnten Sie Folgendes schreiben:
MSAL für iOS und macOS kann zum Abrufen von Token in nationalen Clouds verwendet werden. Für die Erstellung von MSALPublicClientApplication ist jedoch zusätzliche Konfiguration erforderlich.
Wenn Sie beispielsweise möchten, dass Ihre Anwendung eine mehrinstanzenfähige Anwendung in einer nationalen Cloud (in diesem Fall US Government) ist, könnten Sie Folgendes schreiben:
let authority = try? MSALAADAuthority(cloudInstance: .usGovernmentCloudInstance, audienceType: .azureADMultipleOrgsAudience, rawTenant: nil)
let config = MSALPublicClientApplicationConfig(clientId: "<your-client-id-here>", redirectUri: "<your-redirect-uri-here>", authority: authority)
if let application = try? MSALPublicClientApplication(configuration: config) { /* Use application */}