Considérations en matière d’autorisations pour les clients hébergés dans un environnement gouvernemental en Allemagne, en Chine ou aux États-Unis
Lorsque votre locataire Office 365 est hébergé dans un environnement spécifique comme les environnements allemagne, chine ou gouvernement des États-Unis, vous devez prendre cela en compte lorsque vous développez sur votre locataire.
S’applique à : Office 365 hébergées dans les environnements du gouvernement allemand, chinois ou américain
Importante
L’utilisation d’Azure ACS (Access Control Services) pour SharePoint Online a été mise hors service depuis le 27 novembre 2023, consultez l’annonce de mise hors service complète pour en savoir plus. L’utilisation d’Azure ACS en dehors du contexte de SharePoint a déjà été mise hors service le 7 novembre 2018 et est maintenant en fin de vie.
La mise hors service signifie que la fonctionnalité ne recevra aucun nouvel investissement, mais qu’elle est toujours prise en charge. La fin de vie signifie que la fonctionnalité sera abandonnée et qu’elle n’est plus disponible.
Introduction
Microsoft a des déploiements Office 365 spécifiques en Allemagne, en Chine et pour le gouvernement des États-Unis afin de respecter les réglementations spécifiques pour ces domaines. Les liens ci-dessous fournissent plus de contexte :
- Office 365 Germany
- Office 365 exploité par 21Vianet (Chine)
- Office 365 pour le gouvernement américain
Si vous êtes un développeur ciblant des applications pour SharePoint Online hébergées dans ces environnements, vous devez tenir compte du fait que ces environnements ont leurs propres points de terminaison d’authentification Azure AD dédiés que vous devez utiliser en tant que développeur. Les chapitres ci-dessous expliquent comment utiliser ces points de terminaison dédiés pour les options de personnalisation SharePoint Online classiques.
Utilisation d’Azure AD pour autoriser
Points de terminaison Azure AD
Lorsque votre application Azure AD doit autoriser, elle doit utiliser le point de terminaison approprié. Le tableau ci-dessous décrit les points de terminaison à utiliser en fonction de l’endroit où votre application Azure AD a été définie :
Environnement | Point de terminaison |
---|---|
Production | https://login.windows.net |
Allemagne | https://login.microsoftonline.de |
Chine | https://login.chinacloudapi.cn |
Gouvernement américain | https://login.microsoftonline.us |
Utilisation de PnP pour autoriser l’utilisation d’Azure AD
Le Gestionnaire d’authentification PnP offre un moyen simple d’obtenir un objet ClientContext SharePoint lorsque vous utilisez une application Azure AD. Les méthodes impactées ont été étendues avec une énumération facultative AzureEnvironment
/// <summary>
/// Enum to identify the supported Office 365 hosting environments
/// </summary>
public enum AzureEnvironment
{
Production=0,
PPE=1,
China=2,
Germany=3,
USGovernment=4
}
L’extrait de code ci-dessous montre une autorisation d’application uniquement, notez le dernier paramètre dans la GetAzureADAppOnlyAuthenticatedContext
méthode :
string siteUrl = "https://contoso.sharepoint.de/sites/test";
string aadAppId = "079d8797-cebc-4cda-a3e0-xxxx";
string pfxPassword = "my password";
ClientContext cc = new AuthenticationManager().GetAzureADAppOnlyAuthenticatedContext(siteUrl,
aadAppId, "contoso.onmicrosoft.de", @"C:\contoso.pfx", pfxPassword, AzureEnvironment.Germany);
Un autre extrait de code montre une connexion utilisateur interactive à l’aide de la GetAzureADNativeApplicationAuthenticatedContext
méthode :
string siteUrl = "https://contoso.sharepoint.de/sites/test";
string aadAppId = "ff76a9f4-430b-4ee4-8602-xxxx";
ClientContext cc = new AuthenticationManager().GetAzureADNativeApplicationAuthenticatedContext(siteUrl,
aadAppId, "https://contoso.com/test", environment: AzureEnvironment.Germany);
Utilisation d’Azure ACS pour autoriser votre complément SharePoint
Lorsque vous créez des compléments SharePoint, ils sont généralement autorisés à faible niveau de fiabilité, qui dépend d’Azure ACS comme indiqué dans Création de compléments SharePoint qui utilisent l’autorisation à faible niveau de fiabilité.
Points de terminaison Azure ACS
Environnement | Préfixe de point de terminaison | Point de terminaison |
---|---|---|
Production | comptes | accesscontrol.windows.net |
Allemagne | connectez-vous | microsoftonline.de |
Chine | comptes | accesscontrol.chinacloudapi.cn |
Gouvernement américain | comptes | accesscontrol.windows.net |
À l’aide de ce modèle, l’URL du point de terminaison ACS à utiliser est mise en forme comme https:// + préfixe de point de terminaison + / + point de terminaison. Par conséquent, l’URL de production sera https://accounts.accesscontrol.windows.net, celle de l’Allemagne sera https://login.microsoftonline.de.
Mise à jour de tokenhelper.cs dans vos applications
Lorsque vous souhaitez effectuer une autorisation de complément SharePoint à l’aide d’Azure ACS, vous utilisez tokenhelper.cs
(ou tokenhelper.vb
). La classe tokenhelper par défaut aura des références codées en dur aux points de terminaison et méthodes Azure ACS pour acquérir le point de terminaison ACS, comme indiqué ci-dessous :
...
private static string GlobalEndPointPrefix = "accounts";
private static string AcsHostUrl = "accesscontrol.windows.net";
...
Mises à jour de Tokenhelper.cs pour l’Allemagne
Mettez à jour les variables GlobalEndPointPrefix
statiques et AcsHostUrl
vers les valeurs Azure ACS Allemagne.
...
private static string GlobalEndPointPrefix = "login";
private static string AcsHostUrl = "microsoftonline.de";
...
Mises à jour de Tokenhelper.cs pour la Chine
Mettez à jour les variables GlobalEndPointPrefix
statiques et AcsHostUrl
vers les valeurs Azure ACS en Chine :
...
private static string GlobalEndPointPrefix = "accounts";
private static string AcsHostUrl = "accesscontrol.chinacloudapi.cn";
...
Utilisation de PnP pour autoriser votre complément à l’aide d’Azure ACS
Le Gestionnaire d’authentification PnP offre un moyen simple d’obtenir un objet ClientContext SharePoint lorsque vous utilisez Azure ACS pour autoriser. Les méthodes impactées ont été étendues avec une énumération facultative AzureEnvironment
/// <summary>
/// Enum to identify the supported Office 365 hosting environments
/// </summary>
public enum AzureEnvironment
{
Production=0,
PPE=1,
China=2,
Germany=3,
USGovernment=4
}
L’extrait de code ci-dessous montre une autorisation d’application uniquement, notez le dernier paramètre dans la GetAppOnlyAuthenticatedContext
méthode :
string siteUrl = "https://contoso.sharepoint.de/sites/test";
string acsAppId = "955c10f2-7072-47f8-8bc1-xxxxx";
string acsAppSecret = "jgTolmGXU9DW8hUKgletoxxxxx";
ClientContext cc = new AuthenticationManager().GetAppOnlyAuthenticatedContext(siteUrl, acsAppId,
acsAppSecret, AzureEnvironment.Germany);