Chmury krajowe, znane również jako suwerenne chmury, są fizycznie izolowanymi instancjami 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 globalną chmurę platformy Azure, Microsoft Entra ID jest wdrażany w następujących chmurach krajowych:
- Azure Government (usługi chmury dla administracji publicznej)
- Platforma Microsoft Azure obsługiwana przez firmę 21Vianet
- Azure Niemcy (Zamknięcie 29 października 2021 r.)
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.
Jeśli nie przeprowadzono migracji aplikacji z platformy Azure (Niemcy), postępuj zgodnie z informacjami firmy Microsoft dotyczącymi migracji z platformy Azure w Niemczech , aby rozpocząć pracę.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że zostały spełnione te wymagania wstępne.
Wybieranie odpowiednich tożsamości
Aplikacje Azure Government mogą używać tożsamości Microsoft Entra Government i tożsamości Microsoft Entra Public do uwierzytelniania użytkowników. Ponieważ możesz użyć dowolnej z tych tożsamości, zdecyduj, który punkt końcowy autorytetu powinieneś wybrać dla twojego scenariusza.
- 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ę Microsoft Entra Government do obsługi Office 365 (GCC High lub DoD) lub tworzy nową dzierżawę w Microsoft Entra Government.
Po podjęciu decyzji szczególną kwestią jest przeprowadzenie rejestracji aplikacji. W przypadku wybrania tożsamości publicznych Microsoft Entra dla aplikacji Azure Government musisz zarejestrować aplikację w publicznym tenantcie Microsoft Entra.
Uzyskiwanie subskrypcji platformy Azure Government
Aby uzyskać subskrypcję platformy Azure Government, zobacz Zarządzanie subskrypcją i nawiązywanie z nią połączenia w usłudze Azure Government.
Jeśli nie masz subskrypcji platformy Azure Government, przed rozpoczęciem utwórz bezpłatne konto .
Aby uzyskać szczegółowe informacje na temat korzystania z chmury krajowej z określonym językiem programowania, wybierz kartę zgodną z językiem:
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 narzędzia OpenID Connect do logowania użytkowników przy użyciu konta służbowego w organizacji należącej do chmury krajowej.
Aby uaktywnić swoją 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 autorytetów dla różnych środowisk chmurowych, 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.
Oto przykład władzy:
"authority": "https://login.microsoftonline.us/Enter_the_Tenant_Info_Here"
Oto przykład punktu końcowego Microsoft Graph, z określonym zakresem:
"endpoint" : "https://graph.microsoft.us/v1.0/me"
"scope": "User.Read"
Oto minimalny kod uwierzytelniania użytkownika za pomocą suwerennej chmury i wywoływania programu Microsoft Graph:
const msalConfig = {
auth: {
clientId: "Enter_the_Application_Id_Here",
authority: "https://login.microsoftonline.us/Enter_the_Tenant_Info_Here",
redirectUri: "/",
}
};
// Initialize MSAL
const msalObj = new PublicClientApplication(msalConfig);
// Get token using popup experience
try {
const graphToken = await msalObj.acquireTokenPopup({
scopes: ["User.Read"]
});
} catch(error) {
console.log(error)
}
// Call the Graph API
const headers = new Headers();
const bearer = `Bearer ${graphToken}`;
headers.append("Authorization", bearer);
fetch("https://graph.microsoft.us/v1.0/me", {
method: "GET",
headers: headers
})
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 uprawnień dla różnych chmur, zapoznaj się z Punktami końcowymi uwierzytelniania firmy Microsoft Entra.
Oto przykład władzy:
"authority": "https://login.microsoftonline.us/Enter_the_Tenant_Info_Here"
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 Microsoft Graph, z określonym zakresem:
"endpoint" : "https://graph.microsoft.us/v1.0/me"
"scope": "User.Read"
Aby skonfigurować bibliotekę MSAL dla aplikacji napisanej w języku Java na suwerenne chmury:
- 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 uprawnień dla różnych chmur, zapoznaj się z Punktami końcowymi uwierzytelniania firmy Microsoft Entra.
Oto przykład władzy:
"authority": "https://login.microsoftonline.us/Enter_the_Tenant_Info_Here"
Oto przykład punktu końcowego grafu z zakresem:
"endpoint" : "https://graph.microsoft.us/v1.0/me"
"scope": "User.Read"
MSAL dla systemów iOS i macOS może służyć do zdobywania tokenów w krajowych chmurach, ale wymaga dodatkowej konfiguracji podczas tworzenia MSALPublicClientApplication.
Jeśli na przykład aplikacja ma być aplikacją wielodostępną w chmurze krajowej (tutaj instytucje rządowe USA), możesz napisać:
MSALAADAuthority *aadAuthority =
[[MSALAADAuthority alloc] initWithCloudInstance:MSALAzureUsGovernmentCloudInstance
audienceType:MSALAzureADMultipleOrgsAudience
rawTenant:nil
error:nil];
MSALPublicClientApplicationConfig *config =
[[MSALPublicClientApplicationConfig alloc] initWithClientId:@"<your-client-id-here>"
redirectUri:@"<your-redirect-uri-here>"
authority:aadAuthority];
NSError *applicationError = nil;
MSALPublicClientApplication *application =
[[MSALPublicClientApplication alloc] initWithConfiguration:config error:&applicationError];
MSAL dla systemów iOS i macOS może służyć do zdobywania tokenów w krajowych chmurach, ale wymaga dodatkowej konfiguracji podczas tworzenia 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 */}
Dalsze kroki
Aby uzyskać listę URL-i portalu Azure i punktów końcowych tokenów dla każdej chmury, zobacz Punkty końcowe uwierzytelniania Azure.
Dokumentacja chmury krajowej: