Compartir a través de


Consideraciones de autorización para espacios empresariales hospedados en los entornos del gobierno de Alemania, China o EE. UU.

Cuando el espacio empresarial de Office 365 está hospedado en un entorno específico, como el gobierno de Alemania, China o Estados Unidos, debe tenerlo en cuenta al desarrollar en el espacio empresarial.

Se aplica a: Office 365 hospedados en los entornos de Alemania, China o gobierno de EE. UU.

Importante

Con Azure ACS (Access Control Services) para SharePoint Online se ha retirado a partir del 27 de noviembre de 2023, consulte el anuncio de retirada completa para obtener más información. El uso de Azure ACS fuera del contexto de SharePoint ya se retiró el 7 de noviembre de 2018 y ya ha finalizado su vida útil.

La retirada significa que la característica no obtendrá inversiones nuevas, pero todavía se admite. El final del ciclo de vida significa que la característica se interrumpirá y ya no estará disponible para su uso.

Introducción

Microsoft tiene implementaciones específicas de Office 365 en Alemania, China y para que el Gobierno de EE. UU. cumpla las regulaciones específicas para esas áreas. Los vínculos siguientes proporcionan más contexto:

Si es un desarrollador que se dirige a aplicaciones para SharePoint Online hospedadas en estos entornos, tendrá que tener en cuenta que estos entornos tienen sus propios puntos de conexión de autenticación de Azure AD dedicados que debe usar como desarrollador. En los capítulos siguientes se explica cómo usar estos puntos de conexión dedicados para las opciones de personalización típicas de SharePoint Online.

Uso de Azure AD para autorizar

Puntos de conexión de Azure AD

Cuando la aplicación de Azure AD necesita autorizarla, debe usar el punto de conexión correcto. En la tabla siguiente se describen los puntos de conexión que se usarán en función de dónde se haya definido la aplicación de Azure AD:

Entorno Punto de conexión
Producción https://login.windows.net
Alemania https://login.microsoftonline.de
China https://login.chinacloudapi.cn
Gobierno de Estados Unidos https://login.microsoftonline.us

Uso de PnP para autorizar el uso de Azure AD

El PnP AuthenticationManager ofrece una manera sencilla de obtener un objeto ClientContext de SharePoint cuando se usa una aplicación de Azure AD. Los métodos afectados se han ampliado con una enumeración opcional 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
}

En el fragmento de código siguiente se muestra una autorización de solo aplicación, observe el último parámetro del GetAzureADAppOnlyAuthenticatedContext método:

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

Otro fragmento de código muestra un inicio de sesión de usuario interactivo mediante el GetAzureADNativeApplicationAuthenticatedContext método :

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

Uso de Azure ACS para autorizar el complemento de SharePoint

Al crear complementos de SharePoint, suelen tener una autorización de baja confianza que depende de Azure ACS como se deriva en Creación de complementos de SharePoint que usan autorización de baja confianza.

Puntos de conexión de Azure ACS

Entorno Prefijo de punto de conexión Punto de conexión
Producción cuentas accesscontrol.windows.net
Alemania Iniciar sesión microsoftonline.de
China cuentas accesscontrol.chinacloudapi.cn
Gobierno de Estados Unidos cuentas accesscontrol.windows.net

El uso de este modelo con la dirección URL del punto de conexión de ACS que se va a usar tiene el formato https:// + prefijo de punto de conexión + / + punto de conexión. Por lo tanto, la dirección URL de producción será https://accounts.accesscontrol.windows.net, la de Alemania será https://login.microsoftonline.de.

Actualización de tokenhelper.cs en las aplicaciones

Si desea realizar la autorización de complementos de SharePoint mediante Azure ACS, usa tokenhelper.cs (o tokenhelper.vb). La clase tokenhelper predeterminada tendrá referencias codificadas de forma rígida a los puntos de conexión y métodos de Azure ACS para adquirir el punto de conexión de ACS, como se muestra a continuación:

...

private static string GlobalEndPointPrefix = "accounts";
private static string AcsHostUrl = "accesscontrol.windows.net";

...

Actualizaciones de Tokenhelper.cs para Alemania

Actualice las variables estáticas GlobalEndPointPrefix y AcsHostUrl a los valores de Azure ACS de Alemania.

...

private static string GlobalEndPointPrefix = "login";
private static string AcsHostUrl = "microsoftonline.de";

...

Actualizaciones de Tokenhelper.cs para China

Actualice las variables estáticas GlobalEndPointPrefix y AcsHostUrl a los valores de Acs de Azure de China:

...

private static string GlobalEndPointPrefix = "accounts";
private static string AcsHostUrl = "accesscontrol.chinacloudapi.cn";

...

Uso de PnP para autorizar el complemento mediante Azure ACS

El PnP AuthenticationManager ofrece una manera sencilla de obtener un objeto ClientContext de SharePoint cuando se usa Azure ACS para autorizar. Los métodos afectados se han ampliado con una enumeración opcional 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
}

En el fragmento de código siguiente se muestra una autorización de solo aplicación, observe el último parámetro del GetAppOnlyAuthenticatedContext método:

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

Vea también