22.1. Vista general del sistema de Autenticación
![../../../_images/auth-system-overview.png](../../../_images/auth-system-overview.png)
Figura 22.1 Anatomía del sistema de Autenticación
22.1.1. Base de datos de autenticación
El nuevo sistema de autenticación almacena las configuraciones de autenticación en un archivo de base de datos SQLite ubicado, por defecto, en <profile directory>/qgis-auth.db
.
Esta base de datos de autenticación se puede mover entre las instalaciones de QGIS sin afectar otras preferencias de usuario actuales de QGIS, ya que está completamente separada de la configuración normal de QGIS. Se genera un ID de configuración (una cadena alfanumérica aleatoria de 7 caracteres) cuando se almacena inicialmente una configuración en la base de datos. Esto representa la configuración, lo que permite que la ID se almacene en componentes de la aplicación de texto sin formato (como archivos de proyecto, complemento o configuración) sin revelar sus credenciales asociadas.
Nota
El directorio principal de qgis-auth.db se puede configurar usando la siguiente variable de entorno, QGIS_AUTH_DB_DIR_PATH
, o se puede configurar en la línea de comando durante el lanzamiento con la opción --authdbdirectory
.
22.1.2. Contraseña maestra
Para almacenar o acceder a información confidencial dentro de la base de datos, un usuario debe definir una “contraseña maestra”. Se solicita y verifica una nueva contraseña maestra cuando se almacena inicialmente cualquier dato cifrado en la base de datos. Cuando se accede a información confidencial, se solicita al usuario la contraseña maestra. Luego, la contraseña se almacena en caché durante el resto de la sesión (hasta que se cierra la aplicación), a menos que el usuario elija manualmente una acción para borrar su valor en caché. Algunas instancias de uso del sistema de autenticación no requieren la entrada de la contraseña maestra, como cuando se selecciona una configuración de autenticación existente o cuando se aplica una configuración a una configuración de servidor (como cuando se agrega una capa WMS).
Puede optar por guardar la contraseña en el Wallet/Keyring
de su computadora.
![../../../_images/auth-password-new_enter.png](../../../_images/auth-password-new_enter.png)
Figura 22.2 Ingrese la nueva contraseña maestra
Nota
Se puede establecer una ruta a un archivo que contiene la contraseña maestra mediante la siguiente variable de entorno, QGIS_AUTH_PASSWORD_FILE
.
22.1.2.1. Administrar la contraseña maestra
Una vez configurada, la contraseña maestra se puede restablecer; se necesitará la contraseña maestra actual antes de restablecer. Durante este proceso, existe la opción de generar una copia de seguridad completa de la base de datos actual.
![../../../_images/auth-password-reset.png](../../../_images/auth-password-reset.png)
Figura 22.3 Restablecer contraseña maestra
Si el usuario olvida la contraseña maestra, no hay forma de recuperarla o anularla. Tampoco hay forma de recuperar información cifrada sin conocer la contraseña maestra.
Si un usuario ingresa su contraseña existente de manera incorrecta tres veces, el diálogo ofrecerá borrar la base de datos.
![../../../_images/auth-password-invalid-3times.png](../../../_images/auth-password-invalid-3times.png)
Figura 22.4 Solicitud de contraseña después de tres intentos no válidos
22.1.3. Configuraciones de autenticación
Puede administrar las configuraciones de autenticación desde Configuraciones en la pestaña Autenticación del cuadro de diálogo Opciones de QGIS (:menuselection:` Configuración -> Opciones`).
![../../../_images/auth-editor-configs2.png](../../../_images/auth-editor-configs2.png)
Figura 22.5 Editor de configuraciones
Use el botón para agregar una nueva configuración, el
para eliminar configuraciones y el botón
para modificar los existentes.
![../../../_images/auth-config-create_authcfg-id.png](../../../_images/auth-config-create_authcfg-id.png)
Figura 22.6 Agregar configuración desde el editor de configuración
El mismo tipo de operaciones para la gestión de la configuración de autenticación (Agregar, Editar y Eliminar) se puede realizar al configurar una conexión de servicio determinada, como configurar una conexión de servicio OWS. Para eso, hay botones de acción dentro del selector de configuración para administrar completamente las configuraciones que se encuentran dentro de la base de datos de autenticación. En este caso, no es necesario ir a la pestaña Configuraciones en Auttenticación de las opciones de QGIS a menos que necesite realizar una gestión de configuración más completa.
![../../../_images/auth-selector-wms-connection.png](../../../_images/auth-selector-wms-connection.png)
Figura 22.7 Cuadro de diálogo de conexión WMS que muestra los botones de configuración de autenticación Añadir, Editar, y Borrar
Al crear o editar una configuración de autenticación, la información requerida es un nombre, un método de autenticación y cualquier otra información que requiera el método de autenticación (vea más sobre los tipos de autenticación disponibles en Métodos de autenticación).
22.1.4. Métodos de autenticación
Los complementos de C ++ proporcionan las autenticaciones disponibles de la misma manera que los complementos de proveedores de datos son compatibles con QGIS. El método de autenticación que se puede seleccionar es relativo al acceso necesario para el recurso/proveedor, p. ejemplo HTTP(S) o base de datos, y si hay soporte tanto en el código QGIS como en un complemento. Como tal, algunos complementos de métodos de autenticación pueden no ser aplicables en todos los lugares donde se muestra un selector de configuración de autenticación. Se puede acceder a una lista de complementos de métodos de autenticación disponibles y sus recursos / proveedores compatibles yendo a Complementos instalados.
![../../../_images/auth-method-listing.png](../../../_images/auth-method-listing.png)
Figura 22.8 Lista de complementos de métodos disponibles
Se pueden crear complementos para nuevos métodos de autenticación que no requieren la recompilación de QGIS. Dado que actualmente el soporte para complementos es solo C ++, QGIS deberá reiniciarse para que el nuevo complemento incorporado esté disponible para el usuario. Asegúrese de que su complemento esté compilado con la misma versión de destino de QGIS si tiene la intención de agregarlo a una instalación de destino existente.
![../../../_images/auth-config-create_basic-auth.png](../../../_images/auth-config-create_basic-auth.png)
Figura 22.9 Configuraciones básicas de autenticación HTTP
![../../../_images/auth-config-create_esritoken.png](../../../_images/auth-config-create_esritoken.png)
Figura 22.10 Configuraciones de autenticación de token ESRI
![../../../_images/auth-config-create_oauth2.png](../../../_images/auth-config-create_oauth2.png)
Figura 22.11 Configuraciones de autenticación OAuth2
![../../../_images/auth-config-create_pem-der-paths.png](../../../_images/auth-config-create_pem-der-paths.png)
Figura 22.12 Configuraciones de autenticación de rutas PKI
![../../../_images/auth-config-create_pkcs12-paths.png](../../../_images/auth-config-create_pkcs12-paths.png)
Figura 22.13 Configuraciones de autenticación de rutas de archivo PKI PKCS#12
![../../../_images/auth-config-create_stored-identity2.png](../../../_images/auth-config-create_stored-identity2.png)
Figura 22.14 Configuraciones de autenticación de identidad almacenada
Nota
La URL del recurso es actualmente una función no implementada que eventualmente permitirá que una configuración particular se elija automáticamente cuando se conecte a recursos en una URL determinada.
22.1.5. Utilidades de contraseña maestra y configuración de autenticación
En el menú Opciones (
) en la pestaña :guilabel:ʻAutenticación`, hay varias acciones de utilidad para administrar la base de datos de autenticación y las configuraciones:![../../../_images/auth-editor-configs_utilities-menu.png](../../../_images/auth-editor-configs_utilities-menu.png)
Figura 22.15 Menú utilidades
Ingresar contraseña maestra: abre el cuadro de diálogo de ingreso de contraseña maestra, independientemente de realizar cualquier comando de autenticación de la base de datos
Borrar contraseña maestra en caché: deshabilita la contraseña maestra si se ha establecido
Restablecer contraseña maestra: abre un cuadro de diálogo para cambiar la contraseña maestra (se debe conocer la contraseña actual) y, opcionalmente, hacer una copia de seguridad de la base de datos actual
Borrar la caché de acceso de autenticación de red: borra la caché de autenticación de todas las conexiones
Limpiar automáticamente la caché de acceso de autenticación de red en errores de SSL: la caché de conexión almacena todos los datos de autenticación para las conexiones, también cuando la conexión falla. Si cambia las configuraciones de autenticación o las autoridades de certificación, debe borrar el caché de autenticación o reiniciar QGIS. Cuando esta opción está marcada, la caché de autenticación se borrará automáticamente cada vez que se produzca un error de SSL y usted elija cancelar la conexión.
Integre la contraseña maestra con su Wallet/Keyring: agrega la contraseña maestra a su Wallet/Keyring personal
Almacenar/actualizar la contraseña maestra en su Wallet/Keyring: actualiza la contraseña maestra cambiada en su Wallet/Keyring
Borrar la contraseña maestra de su Wallet/Keyring: elimina la contraseña maestra de su Wallet/Keyring
Habilitar el registro de depuración del asistente de contraseña: habilita una herramienta de depuración que contendrá toda la información de registro de los métodos de autenticación
Borrar configuraciones de autenticación en caché: borra la caché de búsqueda interna para configuraciones, que se utiliza para acelerar las conexiones de red. Esto no borra el caché del administrador de acceso a la red central de QGIS, lo que requiere un reinicio de QGIS.
Eliminar todas las configuraciones de autenticación: borra la base de datos de todos los registros de configuración, sin eliminar otros registros almacenados.
Borrar base de datos de autenticación: programa una copia de seguridad de la base de datos actual y la reconstrucción completa de la estructura de la tabla de la base de datos. Las acciones están programadas para un momento posterior, para garantizar que otras operaciones, como la carga del proyecto, no interrumpan la operación o provoquen errores debido a una base de datos que falta temporalmente.
Figura 22.16 Menú de verificación de borrado de BD
22.1.6. Usando configuraciones de autenticación
Normalmente, se selecciona una configuración de autenticación en un cuadro de diálogo de configuración para servicios de red (como WMS). Sin embargo, el widget selector se puede incrustar en cualquier lugar donde se necesite autenticación o en funciones no básicas, como en complementos PyQGIS o C ++ de terceros.
Cuando se usa el selector, Sin autenticación se muestra en el control del menú emergente cuando no se selecciona nada, cuando no hay configuraciones para elegir, o cuando una configuración previamente asignada ya no se puede encontrar en la base de datos. Los campos Tipo y Id son de solo lectura y proporcionan una descripción del método de autenticación y el ID de la configuración, respectivamente.
![../../../_images/auth-selector-no-authentication.png](../../../_images/auth-selector-no-authentication.png)
Figura 22.17 Selector de configuración de autenticación sin autenticación
![../../../_images/auth-selector-pkcs12-authentication.png](../../../_images/auth-selector-pkcs12-authentication.png)
Figura 22.18 Selector de configuración de autenticación con configuración seleccionada
22.1.7. Python bindings
Todas las clases y funciones públicas tienen enlaces sip, excepto QgsAuthCrypto
, ya que la administración del hash de la contraseña maestra y el cifrado de la base de datos de autenticación deben ser manejados por la aplicación principal y no a través de Python. Ver Consideraciones de Seguridad sobre el acceso a Python.