Configurar el aprovisionamiento de usuarios de MariaDB
El aprovisionamiento de usuarios en MariaDB agiliza la gestión del acceso (IAM) y automatización de sus usuarios externos e internos en todas las aplicaciones. miniOrange le permite crear, administrar y eliminar el acceso de usuarios a aplicaciones locales, en la nube e híbridas.
A continuación se indican tres partes principales para configurar la sincronización de usuarios entre su base de datos y el IdP de miniOrange:
- Parte A: Cómo agregar su base de datos MariaDB como directorio externo en miniOrange IdP
- Parte B: Configuración de consultas para el aprovisionamiento de usuarios
- Parte C: Configuración del aprovisionamiento de usuarios y la asignación de atributos
Considere el siguiente esquema para configurar el aprovisionamiento/desaprovisionamiento de usuarios. Hemos utilizado este esquema para ilustrar cómo configurar las opciones para una base de datos simple. Puede utilizar este ejemplo para configurar su propia base de datos como un directorio externo en miniOrange.
Configuración de ejemplo:
| Tipo de base de datos |
MariaDB-10.4.14 |
| Nombre de base de datos |
Wordpress |
| URL de JDBC de la base de datos (para MariaDB) |
jdbc:mysql://{dominio-del-servidor}:3306/wordpress |
| Tabla donde se almacena la información del usuario |
wp_users |
Descripción de la tabla wp_users:
| Columna |
Tipo |
Mareas Ideales para Lecciones |
| ID |
bigint (20) sin firmar |
Columna de ID de usuario |
| user_login |
VARCHAR |
Columna de nombre de usuario |
| user_pass |
VARCHAR |
Almacena la contraseña del usuario; almacenará la contraseña predeterminada durante la creación del usuario |
| display_name |
VARCHAR |
Nombre para mostrar del usuario |
| user_email |
VARCHAR |
Dirección de correo electrónico del usuario |
Parte A: Agregar la base de datos MariaDB como directorio externo en miniOrange IdP
Parte B: Configuración del aprovisionamiento de usuarios para su base de datos
Hay dos direcciones en las que se puede configurar el aprovisionamiento de usuarios: entrante (es decir, desde su base de datos a miniOrange) y saliente (desde miniOrange a su base de datos).
El aprovisionamiento entrante se ocupa de la importación de usuarios, mientras que el aprovisionamiento saliente se ocupa de la creación, eliminación y actualización de usuarios. En ambos casos, es necesario el mapeo de atributos. El mapeo de atributos entre las columnas de la base de datos y los atributos del IdP de miniOrange se realiza mediante una notación especial. El IdP de miniOrange infiere los valores de las columnas mediante esta notación.
- Para configurar el aprovisionamiento de usuarios para su base de datos, primero deberá navegar a la sección Directorio externo. Aquí verá la lista de directorios externos configurados.

- Haga clic en el menú desplegable cerca de su base de datos configurada y seleccione Editar:

- Esto abrirá la página de edición para su Directorio Externo configurado.

- Ahora está listo para configurar todas las funciones de aprovisionamiento necesarias.
1. Importar usuarios
- Este es un ejemplo de aprovisionamiento de entrada. Los usuarios se importan desde la base de datos al directorio externo predeterminado de miniOrange. Los atributos que se seleccionarán se especifican en la sección de atributos de la base de datos como un directorio externo. Para cada atributo (excepto el nombre de usuario y la contraseña) que desee importar y asignar a un usuario en el directorio externo predeterminado de miniOrange, debe especificar una consulta SELECT.
- No es necesario especificar una consulta SELECT para los valores de las columnas de nombre de usuario y contraseña; se importan automáticamente utilizando los nombres de columna utilizados al configurar su base de datos como un directorio externo.
- En la página de edición de la tienda de usuarios, desplácese hacia abajo hasta que pueda ver la opción para agregar atributos de base de datos.

- Agregue tantos campos de entrada como sean necesarios. Para este ejemplo, tenemos 3 columnas de base de datos: NOMBRE, APELLIDO y DIRECCIÓN DE CORREO ELECTRÓNICO, sin incluir las columnas NOMBRE DE USUARIO y CONTRASEÑA. Las consultas para estas columnas serán las siguientes:
- Consulta por nombre →
SELECT '##FIRSTNAME##', FIRSTNAME FROM USERS WHERE USERNAME=?
- Consulta de apellido →
SELECT '##LASTNAME##', LASTNAME FROM sUSERS WHERE USERNAME=?
- Consulta de dirección de correo electrónico →
SELECT '##EMAIL_ADDRESS##', EMAIL_ADDRESS FROM USERS WHERE USERNAME=?
- La notación [ '##COLUMN_NAME##', COLUMN_NAME ] en la consulta le indica a miniOrange que este campo debe completarse con el valor de la columna de la base de datos, según el identificador de nombre de usuario único.
- Su configuración debería verse así después de que haya terminado de agregar las consultas:
2. Verificar usuarios
- Esta consulta se utiliza para comprobar si un usuario en particular ya existe en la base de datos. No se creará nuevamente un usuario que ya exista en la base de datos. La estructura de la consulta debe ser tal que verifique todas las columnas de la tabla que definen un usuario específico.
- Para nuestro ejemplo, compararemos el valor de la columna NOMBRE DE USUARIO con el campo relevante en miniOrange:
SELECT * FROM USERS WHERE USERNAME='##USERNAME##'
3. Crear usuario
- Estas consultas crean un usuario en la base de datos cada vez que se crea un usuario en miniOrange. La consulta debe contener los nombres de columna adecuados. En este ejemplo, la contraseña se establece en una cadena predeterminada (que se debe cambiar más adelante).
- Estas consultas utilizan la misma notación para especificar los atributos que se deben asignar desde el IdP de miniOrange a la base de datos. Este es un ejemplo de aprovisionamiento de salida.
- En nuestro ejemplo, sincronizaremos el nombre de usuario, el nombre, el apellido y la dirección de correo electrónico del usuario recién creado de miniOrange con la base de datos. Pasaremos una cadena de contraseña predeterminada ('defaultPassword123#') a la base de datos:
INSERT INTO USERS (USERNAME, PASSWORD, FIRSTNAME, LASTNAME, EMAIL_ADDRESS) VALUES
('##USERNAME##', 'defaultPassword123#',
'##FIRSTNAME##','##LASTNAME##','##EMAIL_ADDRESS##')
- En este ejemplo, las cadenas [ '##USERNAME##', '##FIRSTNAME##', '##LASTNAME##' ] serán reemplazadas por los valores de nombre de usuario, nombre y apellido del usuario recién creado en miniOrange.
4. Actualizar usuario
- Estas consultas actualizan un usuario en la base de datos cada vez que se modifican los detalles del usuario correspondiente en miniOrange. Este es un ejemplo de aprovisionamiento saliente.
- En este ejemplo, todos los campos de un usuario en particular se actualizan en la base de datos cuando se activa una actualización en miniOrange. El valor del nombre de usuario es inmutable en miniOrange, por lo que se ha utilizado en la cláusula WHERE:
UPDATE USERS SET FIRSTNAME='##FIRSTNAME##', LASTNAME='##LASTNAME##',
EMAIL_ADDRESS='##EMAIL_ADDRESS##' WHERE USERNAME='##USERNAME##'

- En este ejemplo, solo se actualizan los datos de aquellos usuarios cuyo nombre de usuario es el mismo tanto en miniOrange como en la base de datos.
5. Eliminar usuarios
- Estas consultas eliminan un usuario de la base de datos cada vez que se elimina un usuario en miniOrange. Este es un ejemplo de aprovisionamiento saliente.

- En este ejemplo, eliminaremos de la base de datos aquellos usuarios cuyo valor de la columna de nombre de usuario coincida con el valor del campo de nombre de usuario en miniOrange:
DELETE FROM USERS WHERE USERNAME='##USERNAME##'

- En este ejemplo, sólo se eliminan de la base de datos aquellos usuarios cuyo nombre de usuario coincide exactamente en ambos: la base de datos y miniOrange.
Una vez que haya introducido los valores requeridos, desplácese hacia abajo y haga clic en Guardar para guardar la configuración actual.
C. Configurar el aprovisionamiento de usuarios y la asignación de atributos
Ver informes de aprovisionamiento
¿Cómo acceder a los informes de aprovisionamiento?
- Navegue a Informes En el panel de navegación izquierdo, busque Aprovisionamientoy selecciona Informe de aprovisionamiento.

- Filtrar los informes especificando Identificador de usuario final y Nombre de la aplicación criterios. Además, elija el deseado. espacio de tiempo para los informes. Una vez hecho esto, haga clic en el Buscar.

- Alternativamente, puede hacer clic directamente en Buscar para recuperar todos los informes de aprovisionamiento en función del tiempo sin aplicar ningún filtro específico.