Tutorial: Desarrollo de un punto de conexión SCIM de ejemplo en Microsoft Entra ID

En este tutorial se describe cómo implementar el código de referencia de SCIM con Azure App Service. A continuación, pruebe el código mediante Postman o mediante la integración con el servicio de aprovisionamiento de Microsoft Entra. Este tutorial va dirigido a desarrolladores que buscan empezar a trabajar con SCIM o a usuarios interesados en probar un punto de conexión de SICM.

En este tutorial, aprenderá a:

  • Implementar el punto de conexión de SCIM en Azure
  • Probar el punto de conexión de SCIM

Implementación de un punto de conexión de SCIM en Azure

Los pasos que se proporcionan aquí permiten implementar el punto de conexión de SCIM en un servicio mediante Visual Studio 2019 y Visual Studio Code con Azure App Service. El código de referencia de SCIM se puede ejecutar localmente, hospedar en un servidor local o implementar en otro servicio externo. Para obtener información sobre el aprovisionamiento de un punto de conexión SCIM, consulte Tutorial: Desarrollo y planeación del aprovisionamiento de un punto de conexión de SCIM.

Obtención e implementación de la aplicación de ejemplo

Vaya al código de referencia de GitHub y seleccione Clonar o descargar. Elija Open in Desktop (Abrir en el escritorio), o bien, copie el vínculo, abra Visual Studio y seleccione Clonar o extraer código del repositorio para escribir el vínculo copiado y crear una copia local. Guarde los archivos en una carpeta en la que la longitud total de caracteres de la ruta de acceso sea igual o inferior a 260.

  1. En Visual Studio, asegúrese de iniciar sesión en la cuenta que tiene acceso a los recursos de hospedaje.

  2. En el Explorador de soluciones, abra Microsoft.SCIM.sln y haga clic con el botón derecho en el archivo Microsoft.SCIM.WebHostSample. Seleccione Publish.

    Screenshot that shows the sample file.

    Nota:

    Para ejecutar esta solución de forma local, haga doble clic en el proyecto y seleccione IIS Express para iniciar el proyecto como una página web con una dirección URL de host local. Para obtener más información, vea Introducción a IIS Express.

  3. Seleccione Crear perfil y asegúrese de que App Service y Crear nuevo estén seleccionados.

    Screenshot that shows the Publish window.

  4. Recorra las opciones del cuadro de diálogo y cambie el nombre de la aplicación por un nombre de su elección. Este nombre se usa tanto en la dirección URL de la aplicación como en el punto de conexión de SCIM.

    Screenshot that shows creating a new app service.

  5. Seleccione el grupo de recursos que quiera usar y elija Publicar.

    Screenshot that shows publishing a new app service.

Configuración de App Service

Vaya a la aplicación en Azure App Service>Configuración y seleccione Nueva configuración de la aplicación para agregar la opción Token__TokenIssuer con el valor https://sts.windows.net/<tenant_id>/. Reemplace <tenant_id> por su id. de inquilino de Microsoft Entra. Si quiere probar el punto de conexión de SCIM mediante Postman, agregue una opción ASPNETCORE_ENVIRONMENT con el valor Development.

Screenshot that shows the Application settings window.

Al probar el punto de conexión con una aplicación empresarial en el centro de administración de Microsoft Entra, tiene dos opciones. Puede mantener el entorno en Development y proporcionar el token de prueba desde el punto de conexión /scim/token o puede cambiar el entorno a Production y dejar el campo de token vacío.

Eso es todo. El punto de conexión de SCIM ahora está publicado y le permite usar la dirección URL de Azure App Service para probarlo.

Prueba de un punto de conexión de SCIM

Las solicitudes a un punto de conexión de SCIM requieren autorización. El estándar SCIM tiene varias opciones disponibles. Las solicitudes pueden utilizar cookies, autenticación básica, autenticación de cliente TLS o cualquiera de los métodos enumerados en RFC 7644.

Evite métodos poco seguros, como nombre de usuario y contraseña, y use mejor los seguros, como OAuth. Microsoft Entra ID admite tokens de portador de larga duración (para aplicaciones de la galería y ajenas a la galería) y la concesión de autorización OAuth (para aplicaciones publicadas de la galería).

Nota:

Los métodos de autorización proporcionados en el repositorio son solo con fines de prueba. Al realizar la integración con Microsoft Entra ID, puede revisar la guía de autorización. Consulte Planeamiento del aprovisionamiento de un punto de conexión de SCIM.

El entorno de desarrollo habilita características poco seguras para producción, como el código de referencia para controlar el comportamiento de la validación del token de seguridad. El código de validación del token emplea un token de seguridad autofirmado, y la clave de firma se almacena en el archivo de configuración. Consulte el parámetro Token:IssuerSigningKey del archivo appsettings.Development.jsen.

"Token": {
    "TokenAudience": "Microsoft.Security.Bearer",
    "TokenIssuer": "Microsoft.Security.Bearer",
    "IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
    "TokenLifetimeInMins": "120"
}

Nota:

Cuando se envía una solicitud GET al punto de conexión /scim/token, se emite un token con la clave configurada. Ese token se puede usar posteriormente como token de portador para la autorización.

El código de validación de tokens predeterminado está configurado para usar un token de Microsoft Entra y requiere que el inquilino emisor se configure mediante el parámetro Token:TokenIssuer del archivo appsettings.json.

"Token": {
    "TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
    "TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}

Pasos siguientes