Korzystanie z biblioteki MSAL w środowisku chmury krajowej
Artykuł
Chmury krajowe, znane również jako suwerenne chmury, są fizycznie izolowanymi wystąpieniami platformy Azure. Te regiony platformy Azure pomagają upewnić się, że wymagania dotyczące rezydencji, niezależności i zgodności danych są uznawane w granicach geograficznych.
Oprócz chmury globalnej firmy Microsoft biblioteka Microsoft Authentication Library (MSAL) umożliwia deweloperom aplikacji w chmurach krajowych uzyskiwanie tokenów w celu uwierzytelniania i wywoływania zabezpieczonych internetowych interfejsów API. Te internetowe interfejsy API mogą być programem Microsoft Graph lub innymi interfejsami API firmy Microsoft.
W tym globalna chmura platformy Azure identyfikator Entra firmy Microsoft jest wdrażany w następujących chmurach krajowych:
Azure Government
Platforma Microsoft Azure obsługiwana przez firmę 21Vianet
W tym przewodniku pokazano, jak zalogować się do kont służbowych, uzyskać token dostępu i wywołać interfejs API programu Microsoft Graph w środowisku chmury platformy Azure Government.
Azure (Niemcy) (Microsoft Cloud Deutschland)
Ostrzeżenie
Azure Germany (Microsoft Cloud Deutschland) zostanie zamknięta 29 października 2021 r. Usługi i aplikacje, które nie mają być migrowane do regionu na globalnej platformie Azure przed tą datą, staną się niedostępne.
Microsoft Entra Public: często używane, jeśli Twoja organizacja ma już dzierżawę publiczną firmy Microsoft Entra do obsługi platformy Microsoft 365 (publicznej lub GCC) lub innej aplikacji.
Microsoft Entra Government: często używane, jeśli Twoja organizacja ma już dzierżawę firmy Microsoft Entra Government do obsługi usługi Office 365 (GCC High lub DoD) lub tworzy nową dzierżawę w firmie Microsoft Entra Government.
Po podjęciu decyzji szczególną kwestią jest przeprowadzenie rejestracji aplikacji. W przypadku wybrania tożsamości publicznych firmy Microsoft dla aplikacji Azure Government musisz zarejestrować aplikację w dzierżawie publicznej firmy Microsoft Entra.
Uzyskiwanie subskrypcji platformy Azure Government
Możesz użyć MSAL.NET do logowania użytkowników, uzyskiwania tokenów i wywoływania interfejsu API programu Microsoft Graph w chmurach krajowych.
W poniższych samouczkach pokazano, jak utworzyć aplikację internetową platformy ASP.NET Core. Aplikacja używa Połączenie OpenID do logowania użytkowników przy użyciu konta służbowego w organizacji należącej do chmury krajowej.
Aby włączyć aplikację MSAL.js dla suwerennych chmur:
Zarejestruj aplikację w określonym portalu w zależności od chmury. Aby uzyskać więcej informacji na temat wybierania portalu, zobacz Punkty końcowe rejestracji aplikacji
Użyj dowolnego z przykładów z repozytorium z kilkoma zmianami w konfiguracji, w zależności od chmury, która zostanie wymieniona w następnej kolejności.
Użyj określonego urzędu w zależności od chmury, w której zarejestrowano aplikację. Aby uzyskać więcej informacji na temat urzędów dla różnych chmur, zapoznaj się z punktami końcowymi uwierzytelniania firmy Microsoft Entra.
Wywoływanie interfejsu API programu Microsoft Graph wymaga adresu URL punktu końcowego specyficznego dla używanej chmury. Aby znaleźć punkty końcowe programu Microsoft Graph dla wszystkich chmur krajowych, zapoznaj się z punktami końcowymi usługi Microsoft Graph i Programu Graph Explorer.
Aby włączyć aplikację MSAL w języku Python dla suwerennych chmur:
Zarejestruj aplikację w określonym portalu w zależności od chmury. Aby uzyskać więcej informacji na temat wybierania portalu, zobacz Punkty końcowe rejestracji aplikacji
Użyj dowolnego z przykładów z repozytorium z kilkoma zmianami w konfiguracji, w zależności od chmury, która zostanie wymieniona w następnej kolejności.
Użyj określonego urzędu w zależności od chmury, w której zarejestrowano aplikację. Aby uzyskać więcej informacji na temat urzędów dla różnych chmur, zobacz Punkty końcowe uwierzytelniania firmy Microsoft Entra.
Wywoływanie interfejsu API programu Microsoft Graph wymaga adresu URL punktu końcowego specyficznego dla używanej chmury. Aby znaleźć punkty końcowe programu Microsoft Graph dla wszystkich chmur krajowych, zapoznaj się z punktami końcowymi usługi Microsoft Graph i Programu Graph Explorer.
Oto przykład punktu końcowego programu Microsoft Graph z zakresem:
Aby włączyć bibliotekę MSAL dla aplikacji Java dla suwerennych chmur:
Zarejestruj aplikację w określonym portalu w zależności od chmury. Aby uzyskać więcej informacji na temat wybierania portalu, zobacz Punkty końcowe rejestracji aplikacji
Użyj dowolnego z przykładów z repozytorium z kilkoma zmianami w konfiguracji, w zależności od chmury, które zostaną wymienione w następnej kolejności.
Użyj określonego urzędu w zależności od chmury, w której zarejestrowano aplikację. Aby uzyskać więcej informacji na temat urzędów dla różnych chmur, zobacz Punkty końcowe uwierzytelniania firmy Microsoft Entra.
Wywoływanie interfejsu API programu Microsoft Graph wymaga adresu URL punktu końcowego specyficznego dla używanej chmury. Aby znaleźć punkty końcowe programu Microsoft Graph dla wszystkich chmur krajowych, zapoznaj się z punktami końcowymi usługi Microsoft Graph i Programu Graph Explorer.
Biblioteka MSAL dla systemów iOS i macOS może służyć do uzyskiwania tokenów w chmurach krajowych, ale wymaga dodatkowej konfiguracji podczas tworzenia programu MSALPublicClientApplication.
Jeśli na przykład aplikacja ma być aplikacją wielodostępną w chmurze krajowej (tutaj instytucje rządowe USA), możesz napisać:
Biblioteka MSAL dla systemów iOS i macOS może służyć do uzyskiwania tokenów w chmurach krajowych, ale wymaga dodatkowej konfiguracji podczas tworzenia programu MSALPublicClientApplication.
Jeśli na przykład aplikacja ma być aplikacją wielodostępną w chmurze krajowej (tutaj instytucje rządowe USA), możesz napisać:
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 */}