# Bases de datos

> Da acceso privilegiado a PostgreSQL y MySQL sin compartir la contraseña del administrador, con aprobación, rotación de la contraseña y credenciales que caducan.

URL: https://docs.ironchip.com/pam/recursos/bases-de-datos/

Esta página explica cómo funciona el acceso a bases de datos con Ironchip PAM. Es para quien administra las bases de datos y para quien se conecta con un cliente de base de datos.

## Cómo funciona

La persona se conecta con su cliente (`psql`, `mysql` u otro) y un ticket de un solo uso como usuario. El broker de Ironchip PAM retiene la conexión mientras Ironchip comprueba la ventana, la dirección y los factores, y la conecta con la base de datos con la credencial del recurso. La persona nunca conoce la contraseña.

- **PostgreSQL, MySQL y MariaDB.** Solo con el cliente nativo, no desde la consola.
- **Aprobación al conectar:** PostgreSQL le dice a la persona que su sesión espera una aprobación; en MySQL, el cliente simplemente espera.
- **Registro de la conexión:** quién, cuándo, desde dónde y a qué base de datos. El contenido de la sesión no se graba.

## Contraseña gestionada por Ironchip

Elige **Managed by Ironchip: nobody types or sees it** y escribe una cuenta de administración (**Admin account** y **Admin password**). El almacén de secretos entra con ella, pone una contraseña que nadie conoce a la cuenta del recurso y la cambia cada día y tras cada sesión. Solo el almacén guarda la cuenta de administración. Consulta [Rotación de contraseñas](https://docs.ironchip.com/pam/boveda/rotacion/).

Con **A stored password**, la consola muestra las órdenes `CREATE ROLE` (PostgreSQL) o `CREATE USER` (MySQL) para preparar la cuenta.

## Credenciales de base de datos para aplicaciones

Sobre una base de datos con la contraseña gestionada puedes crear roles de [credenciales temporales](https://docs.ironchip.com/pam/boveda/credenciales-temporales/): tus aplicaciones y pipelines piden una cuenta con cualquier cliente de Vault, por ejemplo de solo lectura durante una hora, y la cuenta se borra sola al caducar.

```bash
vault read database/creds/reporting
```

## Pasos

1. Da de alta la base de datos como [recurso](https://docs.ironchip.com/pam/administracion/recursos/) PostgreSQL o MySQL y añádela a una [política de destino](https://docs.ironchip.com/pam/administracion/politicas/#pol%C3%ADticas-de-destino).
2. Nómbrala en un [acceso](https://docs.ironchip.com/pam/administracion/accesos/).
3. La persona [solicita el acceso](https://docs.ironchip.com/pam/usuarios/solicitar-acceso/), si hace falta, y [se conecta](https://docs.ironchip.com/pam/usuarios/conectarse/):

   ```bash
   psql -h <PAM_HOST> -p <PUERTO> -U ticket-<TICKET>
   mysql -h <PAM_HOST> -P <PUERTO> -u ticket-<TICKET>
   ```
