Saltar al contenido principal Saltar al contenido complementario

Crear y administrar clientes de OAuth

OAuth es un protocolo de seguridad estándar para autorización y delegación. Permite que aplicaciones de terceros accedan a los recursos de las API sin revelar las credenciales del usuario final. Un cliente de OAuth puede obtener un código de autorización e intercambiarlo con un token de acceso que se puede utilizar para acceder al contenido de Qlik Cloud mediante las API.

Clientes públicos y confidenciales

OAuth tiene dos tipos de clientes, los clientes públicos y los clientes confidenciales, para asegurar la autorización entre una aplicación (el cliente) y el servidor de autorización (Qlik Cloud).

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. Los clientes públicos en Qlik Cloud suelen ser aplicaciones frontales de usuario, como aplicaciones de una sola página con análisis integrado o una extensión de visualización personalizada en Qlik Sense, que requieren información sobre el usuario final para respaldar el ciclo de vida de la aplicación.

Vea : RFC 6749 Section 2.1: Tipos de clientes OAuth 2.0.

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 utilizan tipos de concesión específicos.

Clientes confidenciales

Un cliente confidencial es una aplicación que mantiene una identificación de cliente y un secreto de cliente de manera segura sin exponerlos a terceros no autorizados. Los clientes confidenciales pueden tener acceso a los recursos protegidos porque están en posesión del secreto del cliente. Un ejemplo de un cliente confidencial es una aplicación web con un backend seguro que interactúa con las API de Qlik Cloud para orquestar tareas de actualización de datos o administrar el acceso de los usuarios al contenido.

Tipos de concesión de autorización

Qlik admite dos tipos de concesión de autorización, o flujos: Flujo de códigos de autorización y Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE). Estos flujos son muy similares, pero se utilizan en diferentes casos.

Flujo de códigos de autorización

Las aplicaciones web tradicionales son aplicaciones del lado del servidor en las que el código fuente no se expone públicamente, por lo tanto, pueden usar el flujo de códigos de autorización, que intercambia un código de autorización por un token. Las aplicaciones web que usan este flujo deben estar del lado del servidor porque el secreto del cliente de la aplicación se pasa al servidor de autorización durante el intercambio de un token.

Nota informativaCompartir el secreto de cliente en público pone en peligro la seguridad de su espacio empresarial inquilino. Mantenga siempre el secreto de cliente de su aplicación seguro y privado.

Vea: Flujo de códigos de autorización para más detalles.

Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE)

Las aplicaciones nativas y de una sola página no pueden almacenar un secreto de cliente, porque se puede acceder a su código fuente descompilando la app o viendo la fuente de la app a través de un navegador, respectivamente. PKCE agrega una capa adicional de protección en clientes públicos al requerir el uso de un verificador de código para obtener un token de acceso.

Vea: Flujo de códigos de autorización con clave de prueba para el intercambio de códigos (PKCE) para más detalles.

Limitar los ámbitos disponibles para los clientes de OAuth

Los ámbitos de OAuth ofrecen una manera de limitar la cantidad de acceso que se otorga a las aplicaciones cliente de OAuth. Por ejemplo, a un token de acceso emitido a una aplicación cliente se le puede otorgar acceso completo a recursos protegidos o solo acceso de lectura.

En Qlik Cloud, los ámbitos proporcionan una manera de controlar el acceso del cliente a la funcionalidad y los recursos disponibles. Cada ámbito otorga un nivel de acceso diferente. Los clientes sin ámbitos no podrán acceder a ningún recurso.

Crear un cliente de OAuth

Los clientes de OAuth los gestionan los administradores de un espacio empresarial inquilino desde la página OAuth de la Consola de gestión.

Con un cliente de OAuth puede integrar su aplicación cliente con Qlik Cloud.

Para aprender a crear un cliente de OAuth para la implementación e instalación del complemento de Qlik para Microsoft Excel, vea Crear un cliente de OAuth para el complemento de Qlik para Microsoft Excel.

Haga lo siguiente:

  1. En la Consola de gestión, vaya a OAuth.

  2. Haga clic en Crear nuevo.

  3. Seleccione un tipo de cliente.

    Utilice Web para los clientes confidenciales y App de una sola página o Nativa para clientes públicos.

  4. En el diálogo, asigne un nombre al cliente de OAuth.

  5. Añada una descripción, si lo desea.

  6. Seleccione cualquiera de los ámbitos disponibles, ya sea desplazándose o utilizando el campo de búsqueda.

    Á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 se admite con tipos de clientes App de una sola página y Nativo.
    admin.apps

    Leer y administrar todas las apps del espacio empresarial inquilino.

    Vea también: Administrar apps

    Indica un elemento secundario admin.apps:export

    Exportar todas las apps del espacio empresarial inquilino

    Vea también: Exportar apps

    Indica un elemento secundario admin.apps:read

    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

    Indica un elemento secundario admin.automations:read

    Leer todas las automatizaciones del espacio empresarial inquilino
    admin.spaces

    Leer y administrar todos los espacios del espacio empresarial inquilino

    Vea también: Administrar espacios

    Indica un elemento secundario admin.spaces:read

    Leer todos los espacios del espacio empresarial inquilino
    apps

    Leer y administrar sus apps

    Vea también: Administrar apps

    Indica un elemento secundario apps:export

    Exportar sus apps

    Vea también: Exportar apps

    Indica un elemento secundario apps:read

    Leer sus apps
    Automatizaciones

    Leer y administrar sus automatizaciones

    Vea también: Administrar las automatizaciones

    Indica un elemento secundario automations:read

    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

    identity.name:read

    Leer su nombre completo
    identity.picture:read

    Leer su imagen de perfil

    Vea también: Proveedores de identidad

    identity.subject:read

    Leer su identificador de usuario
    spaces.data

    Leer y administrar sus espacios de datos

    Vea también: Administrar espacios

    Indica un elemento secundario spaces.data:read

    Leer sus espacios de datos
    spaces.managed

    Leer y administrar sus espacios administrados

    Vea también: Administrar espacios

    Indica un elemento secundario spaces.managed:read

    Leer sus espacios administrados
    spaces.shared

    Leer y administrar sus espacios compartidos

    Vea también: Administrar espacios

    Indica un elemento secundario spaces.shared:read

    Leer sus espacios compartidos
    offline_access

    Acceder a recursos mientras está desconectado

    Nota informativaNo se admite con el tipo de cliente App de una sola página.
    Nota informativaPuede usar los botones Todo y Seleccionado encima de la lista para mostrar todos los ámbitos o solo los ámbitos seleccionados.
    Nota informativaLa lista anterior refleja los ámbitos admitidos en la versión inicial. Puede encontrar una lista completa de ámbitos, incluidos los ámbitos agregados después del lanzamiento inicial, en la página Portal para desarrolladores de Qlik.
  7. Indique una o varias URL de redirección para la aplicación cliente de OAuth.

    Nota de sugerenciaLa 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 llamada 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 aplicaciones nativas también pueden usar el formato de enlace específico de la aplicación, por ejemplo, exampleapp://.

    Haga clic en Agregar para agregar la URL de redireccionamiento a la lista de permitidos.

  8. Para el tipo de cliente Web o Single-page app, especifique uno o más orígenes permitidos. El acceso a la aplicación sólo se concederá si la URL se añade a la lista de orígenes permitidos.

  9. Para el tipo de cliente Web, puede activar Permitir máquina a máquina (M2M) o Permitir suplantación de usuario M2M para el acceso automatizado al sistema sin interacción del usuario. La suplantación M2M permite a su aplicación actuar en nombre de los usuarios durante la autenticación.

  10. Haga clic en Crear.

  11. Haga clic en Copiar al portapapeles para guardar la ID del cliente y el secreto de cliente para su uso posterior. Guarde el secreto del cliente en un lugar seguro. Haga clic en Hecho.

    Nota informativaLos clientes públicos no tendrán ningún secreto de cliente.
Nota informativaPara una descripción general de los diferentes casos de uso, consulte Resumen de casos de uso y tipos de OAuth.

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:

  1. En la Consola de gestión de Qlik Cloud, vaya a OAuth.

  2. Haga clic en Crear nuevo.

  3. En el menú desplegable Tipo de cliente, seleccione App de una sola página. Aparecerán más campos.

  4. Inserte un Nombre. La Descripción es opcional.

  5. 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 Crear un cliente de OAuth para obtener una descripción completa de cada ámbito disponible.

  6. 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

  7. Haga clic en Añadir.

  8. En el campo Agregar orígenes permitidos, inserte la URL de su espacio inquilino y haga clic en Agregar.

  9. Haga clic en Crear.

  10. 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.

Tras haber creado el cliente OAuth, obtenga el enlace al archivo actualizado de manifiesto XML desde la Consola de gestión. Vaya a la página Configuración y después navegue hasta Compartir e informes > Complemento de Excel dentro de la Consola de gestión. Utilice este enlace para implementar e instalar el complemento.

Para más información sobre cómo generar el archivo de manifiesto, así como cómo implementar e instalar un complemento, consulte:

Editar un cliente de OAuth

Puede cambiar el nombre de un cliente de OAuth, actualizar la descripción o administrar las URL de redireccionamiento.

Haga lo siguiente:

  1. En la Consola de gestión, vaya a OAuth.
  2. Seleccione el cliente de OAuth que desee editar. Haga clic en ... y seleccione Editar.
  3. En el diálogo, cambie las opciones del cliente de OAuth según sea necesario.
  4. Haga clic en Guardar.

Publicar un cliente de OAuth

Los clientes de OAuth creados se vinculan automáticamente al espacio empresarial inquilino que los creó. Puede configurar un cliente de OAuth para que se comparta y esté disponible para todos los demás espacios empresariales inquilinos dentro de una región. Las aplicaciones de terceros que se conectan a Qlik Cloud pueden tener el mismo ID de cliente para todos los espacios empresariales inquilinos de Qlik Cloud. El propietario de la aplicación puede rotar los secretos y actualizar la configuración sin la interacción de un administrador de un espacio empresarial inquilino. Los administradores de un espacio empresarial inquilino no necesitarán administrar las credenciales ni conocer los detalles de configuración.

Para permitir que otros espacios empresariales inquilinos se conecten a un cliente de OAuth, debe publicarse.

Haga lo siguiente:

  1. En la Consola de gestión, vaya a OAuth.
  2. Seleccione el cliente de OAuth que desee publicar. Haga clic en ... y seleccione Publicar.
  3. Haga clic en Publicar.

Cuando un usuario navega a un sitio web externo que utiliza Qlik OAuth, se le solicita el nombre de host del espacio empresarial inquilino y, posteriormente, también las credenciales del usuario, a menos que el usuario ya tenga una sesión activa de SaaS. El primer inicio de sesión con un cliente de OAuth externo requiere el consentimiento de un administrador del espacio empresarial inquilino. Cuando se aprueba, el nuevo cliente de OAuth se muestra en la Consola de gestión.

Método de consentimiento

Tiene dos opciones para el consentimiento: Required o Trusted. Con la autorización Required mediante el cliente de OAuth, se solicitará el consentimiento cada vez que se solicite un nuevo ámbito para el usuario. Con la opción Trusted, no se le solicitará al usuario. Solo puede usar Trusted para clientes que no estén publicados. Para los clientes publicados, el método de consentimiento siempre es Required.

Nota informativaPara los clientes que se utilizan como M2M, el método de consentimiento debe configurarse como Trusted después de crear el cliente.

Ver y copiar la configuración de OAuth

En la sección OAuth de la Consola de gestión, seleccione Ver configuración de OAuth para mostrar la configuración como un fragmento de código y una URL para copiar.

Eliminar un cliente de OAuth

Puede eliminar un cliente de OAuth cuando ya no lo necesite o para revocar el acceso.

Haga lo siguiente:

  1. En la Consola de gestión, vaya a OAuth.

  2. Seleccione el cliente OAuth que desea eliminar y haga clic en Eliminar.

    Nota informativaPuede eliminar más de un cliente OAuth a la vez.
  3. Confirme que desea eliminar el cliente OAuth.

Gestionar los secretos de cliente

Es posible que deba agregar o eliminar un secreto de cliente si, por ejemplo, un secreto de cliente se ve comprometido o si su política de seguridad requiere que lo actualice periódicamente. También puede agregar varios secretos de cliente para evitar el tiempo de inactividad en la aplicación. Por ejemplo, puede crear un segundo secreto, implementar el nuevo secreto en su aplicación cliente y luego eliminar el antiguo secreto.

Haga lo siguiente:

  1. En la Consola de gestión, vaya a OAuth.
  2. Seleccione el cliente OAuth que desee administrar. Haga clic en ... y seleccione Administrar secretos.
  3. En el cuadro de diálogo, realice una de las siguientes acciones:
    • Para agregar un nuevo secreto de cliente, haga clic en Generar un nuevo secreto de cliente.
    • Para eliminar un secreto de cliente, haga clic en Eliminar junto al secreto de cliente.
  4. Haga clic en Cerrar.

Crear una aplicación cliente OAuth para acceder a Qlik Cloud

Una vez que haya registrado un cliente OAuth con Qlik Cloud, puede usar el ID de cliente asociado y el secreto del cliente en su propia aplicación de cliente OAuth. Hay tutoriales disponibles en la sección OAuth del Portal para desarrolladores para crear aplicaciones cliente utilizando algunos de los lenguajes de codificación más populares.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.