Crear y administrar clientes de OAuth
OAuth es un protocolo de seguridad para lo concerniente a autorización y delegación. Permite a aplicaciones de terceros acceder a los recursos de la API sin revelar las credenciales del usuario final. Un cliente OAuth solicita un código de autorización, lo intercambia por un token de acceso y utiliza el token para acceder al contenido de Qlik Cloud a través de las API.
Tipos de cliente OAuth
Un cliente OAuth es una aplicación web o software que solicita acceso a recursos en Qlik Cloud en nombre de un usuario. OAuth define dos tipos de clientes, los clientes públicos y los clientes confidenciales, a fin de asegurar la autorización entre una aplicación (el cliente) y el servidor de autorización (Qlik Cloud).
Qlik Cloud admite clientes confidenciales para aplicaciones web tradicionales (del lado del servidor) y clientes públicos para aplicaciones nativas y de una sola página que utilicen flujos de autorización específicos.
Para conocer la especificación oficial de OAuth 2.0 sobre los tipos de cliente, consulte la sección 2.1 del RFC 6749: Tipos de cliente OAuth 2.0.
Clientes públicos
Los clientes públicos son aplicaciones que no utilizan el secreto de cliente porque no pueden mantener la confidencialidad de las credenciales requeridas. En Qlik Cloud, se incluyen aplicaciones frontales como las aplicaciones de una sola página (SPA) con análisis integrados o extensiones de visualización personalizadas en Qlik Sense que requieren la autenticación del usuario.
Clientes confidenciales
Los clientes confidenciales pueden almacenar de forma segura un ID de cliente y un secreto de cliente y utilizarlos para autenticarse con el servidor de autorización. Estos clientes pueden acceder a los recursos protegidos porque poseen el secreto del cliente.
Ejemplo: una aplicación web con un backend seguro que interactúa con las API de Qlik Cloud para gestionar el acceso de los usuarios u orquestar tareas de actualización de datos.
Flujos de autorización OAuth
Qlik admite dos flujos de autorización (tipos de concesión):
-
Flujo de códigos de autorización: para clientes confidenciales.
-
Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE): para clientes públicos.
Flujo de códigos de autorización
Este flujo es utilizado por aplicaciones del lado del servidor en las que el código fuente no está expuesto públicamente. Consiste en intercambiar un código de autorización por un token de acceso, utilizándose el secreto del cliente para la autenticación. Las aplicaciones web que utilicen este flujo deben estar del lado del servidor porque el secreto del cliente se pasa al servidor de autorización durante el intercambio de tokens.
Para más información sobre el flujo de código de autorización, consulte la documentación oficial de OAuth 2.0: Flujo de código de autorización.
Flujo del código de autorización con PKCE
Las aplicaciones nativas y de una sola página no pueden almacenar el secreto de un cliente de forma segura porque su código fuente puede descompilarse o inspeccionarse en un navegador. PKCE mejora la seguridad al requerir el uso de un verificador de código para obtener un token de acceso.
Para más información sobre la autorización mediante PKCE, consulte la documentación oficial de OAuth 2.0: Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE).
Ámbitos y permisos de OAuth
Los ámbitos de OAuth definen el nivel de acceso concedido a las aplicaciones cliente de OAuth.0 Por ejemplo, un token de acceso puede permitir el acceso total a los recursos o restringirlo al acceso de solo lectura. En Qlik Cloud, los ámbitos controlan el acceso de los clientes a la funcionalidad y los recursos disponibles. Sin ámbitos, los clientes no pueden acceder a ningún recurso.
Ámbitos de OAuth disponibles
La tabla muestra los ámbitos disponibles y sus permisos asociados:
Ámbito | Permiso |
---|---|
user_default | Acceso completo a su cuenta y contenido |
admin_classic |
Acceso completo de administrador a su espacio empresarial inquilino Vea también: Desplegar y administrar Qlik Cloud Nota informativaNo es compatible con los tipos de cliente App de una sola página o Nativo.
|
admin.apps |
Leer y administrar todas las apps del espacio empresarial inquilino. Vea también: Administrar apps |
|
Exportar todas las apps del espacio empresarial inquilino Vea también: Exportar apps |
|
Leer todas las apps del espacio empresarial inquilino |
admin.automations |
Leer y administrar todas las automatizaciones del espacio empresarial inquilino Vea también: Administrar las automatizaciones |
|
Leer todas las automatizaciones del espacio empresarial inquilino |
admin.spaces |
Leer y administrar todos los espacios del espacio empresarial inquilino Vea también: Administrar los espacios |
|
Leer todos los espacios del espacio empresarial inquilino |
apps |
Leer y administrar sus apps Vea también: Administrar apps |
|
Exportar sus apps Vea también: Exportar apps |
|
Leer sus apps |
Automatizaciones |
Leer y administrar sus automatizaciones Vea también: Administrar las automatizaciones |
|
Leer sus automatizaciones |
automl-experimentos | Leer y administrar sus experimentos de ML |
automl-implementaciones | Leer y administrar sus implementaciones de ML |
identity.email:read |
Leer su dirección de correo electrónico Vea también: Proveedores de identidad en Qlik Cloud |
identity.name:read |
Leer su nombre completo |
identity.picture:read |
Leer su imagen de perfil Vea también: Proveedores de identidad en Qlik Cloud |
identity.subject:read |
Leer su identificador de usuario |
spaces.data |
Leer y administrar sus espacios de datos Vea también: Administrar los espacios |
|
Leer sus espacios de datos |
spaces.managed |
Leer y administrar sus espacios administrados Vea también: Administrar los espacios |
|
Leer sus espacios administrados |
spaces.shared |
Leer y administrar sus espacios compartidos Vea también: Administrar los espacios |
|
Leer sus espacios compartidos |
offline_access |
Acceder a recursos mientras está desconectado Nota informativaNo es compatible con el tipo de cliente App de una sola página.
|
Creación de clientes de OAuth
Los administradores de los espacios empresariales inquilinos gestionan los clientes de OAuth en el centro de actividades Administración, en la página OAuth. Con un cliente de OAuth, puede integrar su aplicación cliente con Qlik Cloud para acceder a los recursos de forma segura.
Límites de los clientes de OAuth
Se aplican los siguientes límites:
-
Máximo de 5 URL de redirección por cliente.
-
Máximo de 5 orígenes permitidos por cliente.
-
Máximo de 5 secretos de cliente por cliente.
-
Máximo de 200 clientes de OAuth por espacio empresarial inquilino.
Pasos para crear un cliente de OAuth
Haga lo siguiente:
-
Vaya a OAuth en el centro de actividades Administración.
-
Haga clic en Crear nuevo.
-
Seleccione un tipo de cliente:
-
Web para clientes confidenciales.
-
App de una sola página o Nativa para los clientes públicos.
-
-
En el cuadro de diálogo, indique un nombre para el cliente de OAuth.
-
Añada una descripción, si lo desea.
-
Seleccione cualquiera de los ámbitos disponibles desplazándose o utilizando el campo de búsqueda.
Nota de sugerenciaUtilice los botones Todos o Seleccionado para ver todos los ámbitos o únicamente los seleccionados. -
Indique una o varias URL de redirección para la aplicación del cliente de OAuth (máximo 5). Después haga clic en Añadir para añadir la URL de redirección a la lista de elementos permitidos.
-
La URL de redirección es donde el servidor de autorización envía al navegador del usuario tras autenticar y conceder permiso a la aplicación cliente. Por ejemplo, https://www.exampleapp.com/oauth/callback, donde /oauth/callback gestiona las devoluciones de llamadas de autenticación del proveedor OAuth.
-
Qlik Cloud redirigirá al usuario a la aplicación después de una autorización satisfactoria solo si su URL está en la lista de elementos permitidos de URL de redireccionamiento.
-
Las URL deben comenzar por https://, a menos que el dominio sea localhost, en cuyo caso puede comenzar por http://. Las apps nativas también pueden utilizar el formato de enlace específico de la aplicación, por ejemplo, exampleapp://.
-
-
Para los tipos de cliente Web o App de una sola página, especifique uno o más orígenes permitidos (máximo 5).
-
El acceso a la aplicación solo se concederá si la URL se añade a la lista de orígenes permitidos.
-
-
Para el tipo de cliente Web, puede activar una de las siguientes opciones para el acceso automatizado al sistema sin interacción del usuario:
-
Permitir la comunicación de máquina a máquina (M2M): permite la comunicación de sistema a sistema sin intervención del usuario.
-
Permitir la suplantación de usuarios M2M: permite que su aplicación se autentique en nombre de los usuarios, actuando como ellos durante el proceso de autenticación.
-
-
Haga clic en Crear.
-
Haga clic en Copiar al portapapeles para guardar la ID del cliente y el secreto de cliente para su uso posterior. Almacene el secreto de cliente de forma segura.
Nota informativaLos clientes públicos no tienen secreto de cliente. -
Haga clic en Hecho.
Clientes de OAuth para casos de uso específicos
Para los casos de uso del cliente de OAuth, consulte los siguientes recursos:
-
Vista general de OAuth en el Portal de Desarrolladores de Qlik: una descripción general de los casos de uso de OAuth y los diferentes tipos de OAuth.
-
Crear un cliente de OAuth para el complemento de Qlik para Microsoft Excel: configure un cliente de OAuth para la instalación del complemento Qlik para Microsoft Excel.
-
Crear un cliente de OAuth para la inserción anónima del contenido de una app: cree un cliente de OAuth para permitir el acceso anónimno al contenido incrustado de la app.
Crear un cliente de OAuth para el complemento de Qlik para Microsoft Excel
Se requiere una configuración de cliente OAuth para instalar el complemento Qlik para Microsoft Excel. Los desarrolladores de informes utilizan el complemento para preparar plantillas de informes que controlan el resultado de salida de informes tabulares desde la aplicación de Qlik Sense.
Para que OAuth funcione en el complemento, el cliente de OAuth debe configurarse con la configuración exacta que se muestra a continuación.
Haga lo siguiente:
-
En el centro de actividades Administración, en Qlik Cloud, vaya a OAuth.
-
Haga clic en Crear nuevo.
-
En el menú desplegable Tipo de cliente, seleccione App de una sola página. Aparecerán más campos.
-
Inserte un Nombre. La Descripción es opcional.
-
Como mínimo, marque la casilla de verificación para incluir el ámbito user_default. Puede incluir otros ámbitos en la configuración, pero sin user_default, la instalación no funcionará.
Vea Ámbitos de OAuth disponibles para obtener una descripción completa de cada ámbito disponible.
-
En el campo Agregar las URL de redireccionamiento, inserte la URL de su espacio inquilino, seguida de la cadena fija: /office-add-ins/oAuthLoginSuccess.html
El resultado debería presentar el siguiente aspecto: https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
Haga clic en Añadir.
-
En el campo Agregar orígenes permitidos, inserte la URL de su espacio inquilino y haga clic en Agregar.
-
Haga clic en Crear.
-
Aparecerá la ventana Copie su ID de cliente. Puede optar por copiar el ID del cliente al portapapeles o hacer clic en Hecho para cerrar la ventana.
Una vez creado el cliente OAuth, obtenga el enlace al archivo XML del manifiesto actualizado en el centro de actividades Administración. Vaya a la página Configuración y navegue hasta Compartir e informes > complemento de Excel dentro del centro de actividades Administración. Utilice este enlace para implementar e instalar el complemento.
Para obtener más información sobre cómo generar el archivo de manifiesto, así como cómo implementar e instalar un complemento, consulte:
-
Implementar e instalar el complemento de Qlik para Microsoft Excel
-
Administrar los manifiestos de instalación para el complemento de Qlik para Microsoft Excel
Crear un cliente de OAuth para la inserción anónima del contenido de una app
Para incrustar contenido de una app para acceso anónimo usando qlik-embed, necesita crear un cliente de OAuth con un tipo específicamente diseñado para este caso de uso.
Haga lo siguiente:
-
En el centro de actividades Administración, vaya a la sección OAuth.
-
Haga clic en Crear nuevo.
-
En el menú desplegable Tipo de cliente, seleccione Incrustación anónima.
-
Escriba un Nombre y, si lo desea, una Descripción para el cliente de OAuth.
-
En Orígenes permitidos, introduzca cada uno de los orígenes que debe autorizar. Estos son los dominios que accederán al espacio empresarial inquilino de Qlik Cloud para recuperar la información para la analítica incrustada.
Haga clic en Añadir tras insertar cada URL.
-
Cuando haya terminado, haga clic en Crear.
-
Haga clic en Copiar al portapapeles para guardar el ID de cliente para su uso posterior. Será necesario cuando el contenido de la app esté incrustado con qlik-embed.
-
Haga clic en Hecho.
Editar clientes de OAuth
Puede cambiar el nombre de un cliente de OAuth, actualizar la descripción o administrar las URL de redireccionamiento.
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Localice el cliente de OAuth que desea editar.
- Haga clic en
y seleccione Editar.
- Modifique las opciones del cliente de OAuth según sea necesario.
- Haga clic en Guardar.
Eliminar clientes de OAuth
Puede eliminar un cliente de OAuth si ya no lo necesita, o bien si desea revocar el acceso.
Haga lo siguiente:
-
Vaya a OAuth en el centro de actividades Administración.
-
Seleccione uno o varios clientes de OAuth que desee eliminar y, a continuación, haga clic en Eliminar.
- Confirme la eliminación.
Publicar clientes de OAuth
Los clientes de OAuth se vinculan inicialmente al espacio empresarial inquilino que los creó. No obstante, puede configurar un cliente de OAuth para que sea compartido por varios espacios empresariales inquilinos dentro de la misma región. Esto permite a las aplicaciones de terceros utilizar el mismo identificador de cliente en diferentes espacios empresariales inquilinos de Qlik Cloud.
Los propietarios de las aplicaciones pueden rotar los secretos y actualizar la configuración sin la interacción de un administrador del espacio empresarial inquilino. Los administradores del espacio empresarial inquilino no necesitan gestionar las credenciales ni conocer ningún detalle sobre la configuración del cliente publicado.
Para permitir que otros espacios empresariales inquilinos se conecten a un cliente de OAuth, debe publicarlo.
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Localice el cliente de OAuth que desea publicar.
- Haga clic en
junto al cliente y seleccione Publicar.
- Pulse Publicar para confirmar.
Una vez publicado el cliente de OAuth, pasa a estar disponible para su uso externo por parte de otros espacios empresariales inquilinos. Cuando un usuario visite un sitio web externo que utilice este cliente de OAuth, se le pedirá que introduzca el nombre de host de su espacio empresarial inquilino y sus credenciales de usuario, a menos que ya tenga una sesión activa en SaaS.
El inicio de sesión inicial requerirá el consentimiento de un administrador del espacio empresarial inquilino. Una vez aprobado, el cliente de OAuth aparecerá en el centro de actividades Administración del espacio empresarial inquilino.
Métodos de consentimiento
De manera predeterminada, Qlik Cloud solicita el consentimiento de los usuarios al autenticarse. Para agilizar el proceso, especialmente en el caso de las aplicaciones que son de confianza, puede configurar el método de consentimiento en la opción "De confianza", que ignora la solicitud de consentimiento.
Existen dos opciones para solicitar el consentimiento:
-
Obligatorio: se solicita el consentimiento del usuario cada vez que el cliente de OAuth solicita un nuevo ámbito. Este método garantiza la aprobación explícita del usuario para cada nivel de acceso.
-
De confianza: no se solicita el consentimiento del usuario. Esta opción solo está disponible para los clientes no publicados. Para los clientes publicados, el método de consentimiento siempre es Obligatorio para mantener la seguridad en varios espacios empresariales inquilinos.
Cambiar el método de consentimiento
Para cambiar el método de consentimiento de un cliente de OAuth, haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- En el cliente de OAuth, haga clic en
y seleccione Cambiar método de consentimiento.
- Seleccione Obligatorio o De confianza y después haga clic en Cambiar método de consentimiento.
Ver y copiar la configuración de OAuth
En la sección OAuth del centro de actividades Administración, seleccione Ver configuración de OAuth para acceder a los detalles de autenticación de su espacio empresarial inquilino en Qlik Cloud. Esto mostrará un fragmento de código con los puntos de conexión y la configuración de OAuth, así como una URL que puede copiar para utilizarla en aplicaciones externas.
Puede utilizar esta configuración para integrar Qlik Cloud con aplicaciones de terceros, automatizar el acceso a las API o configurar la autenticación para los análisis integrados.
Gestionar los secretos de cliente
Si el secreto de un cliente se ve comprometido o su política de seguridad requiere actualizaciones periódicas, puede añadir o eliminar secretos. Para evitar tiempos de inactividad, puede añadir varios secretos de cliente (un máximo de 5), actualizar su aplicación cliente y, a continuación, eliminar el secreto antiguo.
Añadir un secreto de cliente
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Localice el cliente de OAuth.
- Haga clic en
y seleccione Administrar secretos.
- Haga clic en Generar un nuevo secreto de cliente.
-
Copie el secreto de cliente y el ID de cliente, y guárdelos de forma segura.
Nota informativaNo podrá acceder posteriormente al secreto de cliente. - Haga clic en Cerrar.
Eliminar un secreto de cliente
Haga lo siguiente:
- Vaya a OAuth en el centro de actividades Administración.
- Localice el cliente de OAuth.
- Haga clic en
y seleccione Administrar secretos.
- Haga clic en
junto al secreto del cliente.
- Haga clic en Cerrar.
Creación de aplicaciones cliente de OAuth para acceder a Qlik Cloud
Después de haber registrado un cliente de OAuth en Qlik Cloud, puede utilizar el ID de cliente y el secreto de cliente asociados en su aplicación cliente de OAuth.
Si desea una guía paso a paso, consulte los tutoriales de la sección "Vista general de OAuth" del portal para desarrolladores de Qlik. Estos tutoriales abarcan cómo crear aplicaciones cliente utilizando lenguajes de programación populares.