Usar autenticación entre servidores de inquilino único

El escenario entre servidores de una sola empresa (S2S) suele aplicarse a organizaciones empresariales que tienen varios entornos de Microsoft Dataverse utilizando Servicios de federación de Active Directory (AD FS) para autenticación. Sin embargo, también lo pueden aplicar entornos cuando la aplicación no se distribuirá a otros entornos.

Una empresa puede crear una aplicación web o servicio para conectarse a cualquier entorno Dataverse asociado con un único inquilino de Azure Active Directory (Azure AD).

Diferencias con el escenario multiempresa

Crear una aplicación o un servicio web para autenticación entre servidores de una sola empresa es similar a la autenticación para una organización multiempresa, aunque hay algunas diferencias importantes.

  • Puesto que todas las organizaciones se encuentran en la misma empresa, no es necesario que un administrador de inquilinos conceda consentimiento para cada organización. La aplicación se registra simplemente una vez para el inquilino.

  • Tiene la posibilidad de usar certificados en lugar de claves si lo prefiere.

En la sección Vea también al final de este artículo, hay vínculos a información sobre actualizar una aplicación de un solo inquilino a multiinquilino.

Requisitos

Para crear y probar una aplicación de un solo inquilino que usa autenticación entre servidores, necesitará:

  • Un inquilino de Azure AD para usar el registrar la aplicación de ejemplo suministrada.
  • Una suscripción de Dataverse que está asociada con el inquilino de Azure AD.
  • Privilegios de administrador en el inquilino de Azure AD y el entorno Dataverse.

Registro de la aplicación de Azure

Para crear un registro de la aplicación en Azure AD, siga estos pasos.

  1. Navegue a https://admin.microsoft.com e inicie sesión, desde la página web de su entorno de organización Dataverse y seleccione el iniciador de la aplicación en la esquina superior izquierda.

  2. Elija Administración > Centros de administración > Azure Active Directory

  3. En el panel izquierdo, elija Azure Active Directory > Registros de la aplicación (vista previa)

  4. Elija + Nuevo registro imagen

  5. En el formulario Registrar una aplicación proporcione un nombre para la aplicación, seleccione Cuentas en este directorio de organización solo, y elija Registro. El URI de redirección no es necesario para este tutorial y el código de ejemplo proporcionado.

    Registrar un formulario de aplicación.

  6. En la página Información general, seleccione Permisos de API

    Permisos de registro de aplicación.

  7. Elija + Agregar un permiso

  8. En la pestaña API de Microsoft, elija Dynamics CRM

  9. En el formulario Solicitar permiso de API, seleccione Permisos delegados, active user_impersonation y seleccione Agregar permisos

    Establecer permisos de API.

  10. En la página Permisos de API, seleccione Conceder consentimiento de administrador para “nombre de organización” y cuando se le solicite elija

    Conceder permisos de API.

  11. Seleccione Información general en el panel de navegación, registre los valores de Nombre para mostrar, Identificador de la aplicación e Identificador del directorio del registro de la aplicación. Proporcionará estos más adelante en el ejemplo de código.

  12. En el panel de navegación, seleccione Certificados y secretos

  13. Debajo Secretos de cliente, elija + Nuevo secreto de cliente para crear un secreto

  14. En el formulario, escriba una descripción y seleccione Agregar. Registrar la cadena de secreto. No podrá ver el secreto de nuevo cuando salga de la pantalla actual.

Creación de usuario de la aplicación

Puede crear un "usuario de aplicación" sin licencia en su entorno. Este usuario de la aplicación recibirá acceso a los datos del entorno en nombre del usuario final que usa su aplicación.

Para instrucciones sobre la creación de un usuario de aplicación, consulte Crear un usuario de aplicación.

Para obtener instrucciones sobre la gestión de roles de seguridad para un usuario de la aplicación, consulte Administrar roles para un usuario de la aplicación

Nota

En un entorno, solo se admite un usuario de la aplicación para cada aplicación registrada en Azure AD. No podrá cambiar la dirección de correo electrónico principal ni el nombre de usuario una vez que se haya creado el usuario de la aplicación.

Cuando se desarrolla una aplicación real con S2S, debe usar un rol de seguridad personalizado que se pueda almacenar en una solución y distribuir junto con la aplicación.

Habilitar o deshabilitar usuarios de la aplicación

Cuando se crean usuarios de la aplicación, se activan automáticamente. En el caso de que el estado de un usuario de la aplicación esté desactivado y necesite activarlo, hágalo utilizando el Centro de administración de Power Platform. También puede utilizar el Centro de administración de Power Platform para desactivar un usuario de la aplicación que ya no se utiliza.

Más información: Activar o desactivar un usuario de la aplicación

Precaución

La desactivación de un usuario de la aplicación interrumpirá todos los escenarios de integración que utilizan el usuario de la aplicación.

Codificación y ejecución de la aplicación

Siga estos pasos para descargar, crear, y ejecutar la aplicación de ejemplo. El ejemplo llama a la API web para devolver una lista de las cuentas 3 principales (por nombre) en la organización.

  1. Descargue el ejemplo de Visual Studio 2017 SingleTenantS2S
  2. Actualice el archivo App.config con los valores de registro de la aplicación y la clave del servidor.
  3. Genere y ejecute la aplicación.

Resultados esperados

Una respuesta de OData que muestra una lista de los nombres de las cuentas 3 principales de la organización.

Salida de la consola de ejemplo

A continuación se muestra una consola de ejemplo obtenida de una organización que solo tenía dos cuentas llamadas “Cuenta de prueba 1" y “Cuenta de prueba 2".

{
"@odata.context":"https://crmue2.api.crm.dynamics.com/api/data/v9.1/$metadata#accounts(name)",
"@Microsoft.Dynamics.CRM.totalrecordcount":-1,
"@Microsoft.Dynamics.CRM.totalrecordcountlimitexceeded":false,

"value":[
{"@odata.etag":"W/\"4648334\"","name":"Test Account 1","accountid":"28630624-cac9-e811-a964-000d3a3ac063"},
{"@odata.etag":"W/\"4648337\"","name":"Test Account 2","accountid":"543fd72a-cac9-e811-a964-000d3a3ac063"}]
}

Consultar también

Usar autenticación multiempresa entre servidores
Crear aplicaciones web mediante autenticación de servidor a servidor (S2S)
Cómo: Iniciar sesión en cualquier usuario de Azure Active Directory mediante el patrón de la aplicación multiempresa