Ir al contenido principal

Configuración SAML para MS EntraID

Jessica Franco avatar
Escrito por Jessica Franco
Actualizado hace más de una semana

1. Datos que Datascope entregará al cliente

Para cada entorno / cuenta, Datascope entregará al administrador de Entra los siguientes valores (ejemplo entre paréntesis):

  • Región de Cognito:

    • <COGNITO_REGION> – por ejemplo: us-west-2

  • ID del User Pool de Cognito:

    • <COGNITO_USER_POOL_ID> – por ejemplo: us-west-2_AbcDefG

  • Dominio del Hosted UI de Cognito (custom o por defecto)

    • <COGNITO_DOMAIN> – por ejemplo: us-west-2abcdefg.auth.us-west-2.amazoncognito.com

  • A partir de eso se derivan las URLs:

    • Entity ID (Identificador)

      • urn:amazon:cognito:sp:<COGNITO_USER_POOL_ID>

      • Ejemplo: urn:amazon:cognito:sp:us-west-2_AbcDefG

    • Reply URL / ACS (URL del servicio de consumidor de aserciones)

      • https://<COGNITO_DOMAIN>/saml2/idpresponse

      • Ejemplo: https://us-west-2abcdefg.auth.us-west-2.amazoncognito.com/saml2/idpresponse

    • Sign-on URL (opcional)

      • Normalmente la misma que la Reply URL: https://<COGNITO_DOMAIN>/saml2/idpresponse

Ustedes deberán sustituir los placeholders <COGNITO_REGION>, <COGNITO_USER_POOL_ID> y <COGNITO_DOMAIN> por los valores que recibirán del equipo técnico.


2. Crear la aplicación empresarial SAML en Entra ID

  • Ir al portal de Azure → Microsoft Entra ID.

  • Menú lateral: Aplicaciones empresariales (Enterprise Applications).

  • Pulsar Nueva aplicación (New application).

  • Elegir “Crear tu propia aplicación” (Create your own application).

  • Nombre sugerido: DATASCOPE_SAML.

  • Elegir el tipo “Integrar cualquier otra aplicación que no se encuentre en la galería (Non-gallery)”.

  • Crear la aplicación.


3. Configuración básica de SAML

Dentro de la aplicación:

  1. Ir a Inicio de sesión único (Single sign-on) y seleccionar SAML.

  2. En el panel Configuración básica de SAML (Basic SAML Configuration), completar:

    • Identificador (Id. de entidad) (Identifier (Entity ID)):

      • Valor: urn:amazon:cognito:sp:<COGNITO_USER_POOL_ID>

    • Dirección URL de respuesta (URL del servicio de consumidor de aserciones) (Reply URL (Assertion Consumer Service URL)):

      • Valor: https://<COGNITO_DOMAIN>/saml2/idpresponse

    • Dirección URL de inicio de sesión (Sign-on URL, opcional):

      • Valor (recomendado): https://<COGNITO_DOMAIN>/saml2/idpresponse

    • Dejar en blanco los campos de Logout/RelayState a menos que Datascope indique lo contrario.

  3. Guardar los cambios.


4. Configurar NameID

En la misma pantalla de Inicio de sesión único → SAML:

  • En la sección Atributos y reclamaciones (User Attributes & Claims), habrá una reclamación para el identificador de usuario único (Unique User Identifier, Name ID).

Configurar:

  • Formato de NameID: Email address (dirección de correo electrónico).

  • Origen / Source attribute:

    • Recomendado: user.mail o user.userprincipalname (según cómo tengan normalizados los correos).


5. Atributos SAML que Datascope requiere

Tu Cognito y tu app esperan exactamente estos atributos SAML (nombres y formatos):

5.1. Atributos básicos de identidad

Estos son obligatorios:

  1. email

    • Claim name en Entra: email

    • Tipo: cadena (string)

    • Origen sugerido: user.mail (o user.userprincipalname si ahí está el correo correcto).

    • Ejemplo de valor: juan.perez@cliente.com

  2. given_name

    • Claim name en Entra: given_name

    • Tipo: cadena (string)

    • Origen sugerido: user.givenname

    • Ejemplo de valor: Juan

  3. family_name

    • Claim name en Entra: family_name

    • Tipo: cadena (string)

    • Origen sugerido: user.surname

    • Ejemplo de valor: Pérez

  4. Custom.User.account_id

    1. Claim name en Entra: Custom.User.account_id

    2. Tipo: cadena (string)

    3. Formato esperado (simplificado):

      • Valor numérico o texto con el ID de la cuenta Datascope a la que el usuario tiene acceso.

    4. Ejemplo de valor: 12345

    5. Origen sugerido en Entra:

      • Un atributo de extensión del usuario (extension_<guid>_datascopeAccountId),

  5. Custom.User.role

    1. Claim name en Entra: Custom.User.role

    2. Tipo: cadena (string)

    3. Formato esperado:

      1. Para cada cuenta, se usa el patrón: <account_id>:<RoleName>

      2. Los roles posibles son:

        • AccountAdmin

        • Administrator

        • Supervisor

        • EditingOperator

        • Operator

    4. Ejemplo de valor: 12345:AccountAdmin

    5. Origen sugerido en Entra:

      • Un atributo de extensión del usuario


6. Intercambio de metadatos y certificado

Para que Cognito confíe en Entra ID:

  • En la pantalla de Inicio de sesión único → SAML, sección Certificado de firma SAML (SAML Signing Certificate):

  • Confirmar que exista un certificado activo.

  • Descargar:

    • El archivo de metadatos de federación (Federation Metadata XML)

    • El certificado de firma + la URL de inicio de sesión SAML (Login URL).

  • Enviar a Datascope:

    • El Federation Metadata XML

    • La App Federation Metadata URL.

Datascope usará esos datos para configurar el proveedor SAML correspondiente en Cognito.

¿Ha quedado contestada tu pregunta?