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.

El inicio de sesión único (SSO) de OAuth es una funcionalidad que muchas organizaciones configuran durante la implementación de SaltStack Config a fin de:

  • 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.
Nota: Si es necesario, puede utilizar más de un sistema a la vez para autenticar usuarios en SaltStack Config. 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.
Tabla 1. 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.

Open ID Connect (OIDC)

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.

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.

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.

Requisitos previos

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.

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:
    Campo Descripción
    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.
  7. Haga clic en Guardar.

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