Es posible utilizar el área de trabajo Autenticación para configurar el inicio de sesión único (Single Sign-On, SSO) en SaltStack Config de modo que funcione con un sistema de autenticación compatible con los protocolos OAuth y OIDC.

Nota: Se puede utilizar más de un sistema a la vez para autenticar usuarios en SaltStack Config si es necesario. Por ejemplo, puede utilizar un servicio IdP basado en SAML o uno basado en LDAP para almacenar al mismo tiempo algunas credenciales de usuario de forma nativa en el servidor RaaS. Sin embargo, SaltStack Config no permite configurar más de dos proveedores SAML o dos proveedores LDAP al mismo tiempo.

Acerca de SSO para OIDC y OAuth

El inicio de sesión único (SSO) de OAuth es una funcionalidad que muchas organizaciones configuran durante la implementación de SaltStack Config. SSO ofrece muchas ventajas, incluidas las siguientes:

  • Se reduce el tiempo que los usuarios dedican a iniciar sesión en los servicios con la misma identidad. Una vez que los usuarios inician sesión en uno de los servicios de una institución, se autentican automáticamente en cualquier otro servicio que utilice SSO.
  • Se reduce el agotamiento de contraseñas. El usuario solo debe recordar un conjunto de credenciales en lugar de varios.

Muchos servicios proporcionan implementaciones del protocolo OAuth compatibles con OIDC, incluidos OKTA, Google, Microsoft, GitLab, Zendesk, Apple, Keycloak, Salesforce, etc.

Nota: SaltStack Config actualmente solo admite la autenticación de OAuth y OIDC a través de OKTA y Google.

Funcionamiento de OAuth y OIDC con SaltStack Config

Cuando un usuario intenta iniciar sesión en SaltStack Config con una identidad de OAuth:

  1. SaltStack Config solicita autorización al usuario para acceder a los recursos del servicio.
  2. Si el usuario autoriza la solicitud, SaltStack Config recibe una concesión de autorización.
  3. SaltStack Config solicita un token de acceso al servidor de autorización (API) mediante la presentación de la autenticación de su propia identidad.
  4. Si se autentica la identidad de la aplicación y la concesión de autorización es válida, el servidor de autorización (API) emite un token de acceso a SaltStack Config.
  5. SaltStack Config solicita el recurso al servidor de recursos (API) y presenta el token de acceso para la autenticación.
  6. Si el token de acceso es válido, el servidor de recursos (API) proporciona el recurso a la aplicación y el usuario puede iniciar sesión en SaltStack Config.

Terminología de autenticación de OAuth y OIDC

Término Definición
OAuth

OAuth 2.0 es un protocolo abierto (también conocido como estándar) para la delegación de acceso en el que el usuario puede realizar acciones en un sitio web después de que se autentica la identidad del usuario con un token de seguridad. Por lo general, se utiliza para que los usuarios otorguen a las aplicaciones acceso a su información en otras aplicaciones de terceros sin entregar sus credenciales de acceso (contraseñas).

OAuth es un inicio de sesión único (Single Sign-On, SSO) basado en navegador. OAuth permite que un servidor de autorización emita tokens de acceso a clientes de terceros, con la aprobación del propietario del recurso. A continuación, el tercero utiliza el token de acceso para acceder a los recursos protegidos que aloja el servidor de recursos.

OIDC

Open ID Connect

Open ID Connect (OIDC) es una capa de identidad simple además del protocolo OAuth 2.0. OIDC permite que los clientes verifiquen las identidades del usuario en función de la autenticación que realiza un servidor de autorización. También puede obtener información básica de perfil sobre el usuario en todas las aplicaciones.

Propietario del recurso El propietario del recurso es el usuario que autoriza a una aplicación a acceder a su cuenta. El acceso de la aplicación a la cuenta del usuario se limita al ámbito de la autorización concedida, como el acceso de lectura o escritura.
Cliente El cliente es la aplicación de terceros que necesita acceder a la cuenta del usuario, en este caso, SaltStack Config.
Servidor de autorización El servidor de autorización aloja las credenciales y las cuentas de usuario protegidas. Verifica la identidad del usuario y, a continuación, emite tokens de acceso al cliente. Con frecuencia, se accede a este servidor a través de la API del servicio.
Servidor de recursos

El servidor de recursos es el servidor de API que se utiliza para acceder a la información del usuario. Controla las solicitudes autenticadas después de que el cliente obtiene un token de acceso. Normalmente, las implementaciones más pequeñas tienen un solo servidor de recursos y, a menudo, este forma parte de la misma base de código o la misma implementación que el servidor de autorización.

Las implementaciones a gran escala pueden tener más de un servidor de recursos. Cada servidor de recursos es distinto, pero todos comparten el mismo servidor de autorización.

Pasos previos a la configuración

Antes de configurar OAuth y OIDC en SaltStack Config, asegúrese de contar con el acceso necesario al servicio OAuth 2.0 para su organización (OKTA o Google) y de conocer relativamente bien su proceso de registro de aplicaciones.

Nota: SaltStack Config actualmente solo admite la autenticación de OAuth y OIDC a través de OKTA y Google.

Registrar SaltStack Config como una aplicación con OKTA o Google

En el sitio web del servicio OAuth, introduzca información básica sobre SaltStack Config, como el nombre, el sitio web, etc. Una vez registrada la aplicación, recibirá un secreto de cliente que deberá proporcionar a SaltStack Config.

Uno de los aspectos esenciales al crear la aplicación es registrar una o varias URL de redireccionamiento que utilizará la aplicación. Las URL de redireccionamiento son las ubicaciones a las que el servicio OAuth 2.0 devolverá al usuario después de autorizar la aplicación.

Configurar un proveedor de identidades

Para configurar SSO mediante el servicio OAuth y OIDC preferido de su organización:

  1. Haga clic en Administración > Autenticación en el menú lateral.
  2. Haga clic en Crear.
  3. En el menú Tipo de configuración, seleccione OIDC.
  4. En el campo Nombre, asigne un nombre descriptivo a esta configuración.
  5. En el menú Proveedor de OIDC, seleccione OKTA o Google.
  6. Complete los siguientes campos con la información sobre su instalación de SaltStack Config:
    • URI base
    • URL de API (solo para configuraciones OKTA)
    • Key
    • Secreto
    Nota: Para obtener descripciones de estos campos, consulte Campos de información de OIDC.
  7. Haga clic en Guardar.

La configuración de OIDC para SaltStack Config se completó.

Configurar RBAC para OIDC

Para OIDC, el usuario primero debe iniciar sesión en SaltStack Config para ser agregado como usuario a la base de datos de usuarios local. Cuando los usuarios inician sesión por primera vez, se administran los permisos y las funciones de usuario de la misma manera que se administran los usuarios con credenciales almacenadas localmente en SaltStack Config en el servidor RaaS.

Una vez completado el inicio de sesión inicial, es posible utilizar el área de trabajo Funciones para asignar las funciones y los permisos adecuados a ese usuario. Para obtener más información sobre el área de trabajo Funciones, consulte Funciones y permisos.

Campos de información de OIDC

Todos los campos de información de autenticación de OIDC son obligatorios. Introduzca la información para la configuración de autenticación de OIDC de la siguiente manera.

Nota: Si necesita ayuda para configurar la conexión, póngase en contacto con el administrador.
Campo Descripción
Nombre El nombre de la conexión de autenticación que utiliza SSE. Este nombre se mostrará en la barra lateral al iniciar sesión en el área de trabajo Autenticación y debe ser único si se desean establecer varias configuraciones.
Proveedor de OIDC Seleccione el proveedor de identidad de OIDC en este menú para mostrar la configuración específica de su proveedor.
URI base La URL base que utiliza la organización en SaltStack Config, también conocida como dirección del servidor host. Esta URL lleva el formato de FQDN o dirección IP, como https://example.com.
URL de API La URL de API que proporciona el proveedor de identidad. Este campo solo se muestra si el proveedor de identidad es OKTA.
Key La clave proporcionada por el proveedor de identidades. En OKTA, la clave se conoce como identificador de cliente.
Secreto El secreto proporcionado por el proveedor de identidades. En OKTA, el secreto se conoce como secreto de cliente.