Saltar al contenido principal

Configurar Okta para SSO de EKB

Esta guía explica cómo configurar Okta como el Proveedor de Identidad (IdP) para SAML SSO en su instancia on-premise de EKB. Cubre las configuraciones SAML que debe ingresar en Okta, cómo obtener sus metadatos de Okta y cómo registrar el dominio en EKB para completar la integración.

Nota

El flujo SAML genérico de EKB funciona con Okta de forma nativa. Si aún no lo ha hecho, lea la Vista General de SAML SSO para comprender cómo funciona la integración antes de comenzar.

Prerrequisitos​

  • Tiene acceso de administrador a su organización de Okta.
  • Tiene acceso de Super Admin a su instancia on-premise de EKB.
  • Conoce el nombre de dominio completamente calificado (FQDN) del host de backend de EKB (por ejemplo, ek-api.corp.acme.com).
  • Conoce el dominio de correo electrónico para el que desea habilitar SSO (por ejemplo, acme.com).

Parte 1 — Configurar Okta​

Crear una Nueva Aplicación SAML en Okta​

  1. Crear una nueva integración de aplicación

    En su consola de administración de Okta, navegue a Applications → Applications y haga clic en Create App Integration. Seleccione SAML 2.0 como método de inicio de sesión.

  2. Ingresar las configuraciones SAML

    En el paso Configure SAML, ingrese los siguientes valores:

    CampoValor
    Single Sign-On URLhttps://<su-FQDN>/backend/user/generic/sso/saml/acs/admin
    Recipient URLhttps://<su-FQDN>/backend/user/generic/sso/saml/acs/admin
    Destination URLhttps://<su-FQDN>/backend/user/generic/sso/saml/acs/admin
    Audience Restriction (Entity ID)https://<su-FQDN>/backend/user/generic/sso/saml/acs/admin
    Default Relay Statedefault o establezca el nombre de dominio
  3. Agregar declaraciones de atributos

    Aún en el paso Configure SAML, desplácese hacia abajo hasta Attribute Statements y agregue lo siguiente:

    NombreNombre del FormatoValor
    emailBasicuser.email
    first_nameBasicuser.firstName
    last_nameBasicuser.lastName
    user_nameBasicuser.login
    DisplayNameBasicuser.displayName
    objectIdentifierUnspecifieduser.getInternalProperty("id")
  4. Completar la configuración

    Finalice el asistente de creación de aplicación. Asigne la aplicación a los usuarios o grupos que deben tener acceso SSO a EKB.

Parte 2 — Obtener los Metadatos de Okta​

Una vez creada la aplicación de Okta, obtenga la URL de metadatos del IdP:

  1. Ir a la pestaña Sign On

    Abra la aplicación en Okta y navegue a la pestaña Sign On.

  2. Encontrar la URL de Metadatos

    Bajo Settings → SAML 2.0 → Metadata details, copie la Metadata URL.

    La ruta es:

    Sign On > Settings > SAML 2.0 > Metadata details > Metadata URL

    Necesitará esta URL en la Parte 3.
    Okta Metadata URL

Parte 3 — Registrar el Dominio en EKB​

Envíe una solicitud POST al endpoint de registro de dominio:

curl -X POST "https://<su-host-de-backend>/backend/sso/add_new_configuration" \
-H "Content-Type: application/json" \
-H "X-API-KEY: SU_API_KEY" \
-H "X-API-SECRET: SU_API_SECRET" \
-d '{
"enterprise_id": "acme.com",
"provider": "okta",
"metadata_url": "https://su-url-de-metadatos-de-okta",
"backend_root_url": "<su-host-de-backend>/backend"
}'

Campos Requeridos​

CampoDescripción
enterprise_idEl dominio de correo electrónico de sus usuarios (por ejemplo, acme.com).
provider"okta"
metadata_urlLa Metadata URL de la Parte 2.
backend_root_url(Opcional) Requerido solo en configuraciones de proxy para asegurar el enrutamiento correcto.

Autenticación​

El endpoint requiere su API Key y Secret de EKB pasados como encabezados X-API-KEY y X-API-SECRET.

En caso de éxito, se crea un registro en la tabla sso_providers en el backend.

Parte 4 — Configurar el Frontend​

Una vez registrado el dominio, establezca la variable de entorno del frontend y reinicie el servicio del frontend.

  1. Abrir el archivo de entorno del frontend

    En su servidor de implementación on-premise, abra onprem-deployment/.env.web.

  2. Agregar la variable de entorno

    Agregue la siguiente línea, reemplazando acme.com con su dominio de correo electrónico real:

    VITE_SSO_ENTERPRISE_ID=acme.com
  3. Reiniciar los servicios del frontend
    docker compose -f docker-compose down
    docker compose -f docker-compose up -d

Probar la Integración​

Inicie sesión en EKB con un usuario real @<dominio> para confirmar que el flujo funciona de principio a fin. Si el usuario se autentica exitosamente pero se le deniega el acceso, verifique su configuración de Controles de Acceso SAML — consulte la guía Controles de Acceso SAML y Asignación Automatizada de Equipos/Proyectos de EKB.