Partager via


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 :

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);

Voir aussi