Ir al contenido

Credenciales temporales

Esta página explica cómo conectar tus cuentas de nube y tus bases de datos para que tus workloads pidan credenciales de corta duración en lugar de usar claves permanentes. Es para quien administra la nube y los secretos de la compañía.

  1. Conectas una cuenta de AWS, Google Cloud o Azure con una credencial que puede crear otras.
  2. Defines roles: qué credencial se crea (un usuario de IAM con ciertas políticas, un token de una cuenta de servicio, una cuenta de base de datos de solo lectura…) y cuánto dura.
  3. Das el rol a un workload.
  4. El workload la pide con su cliente de Vault cuando la necesita. Ironchip la crea en ese momento y la borra cuando vence.

Nadie guarda ni reparte claves permanentes: cada credencial existe solo mientras se usa.

  • El permiso PAM cloud accounts and credentials. Para los roles de base de datos, también PAM targets, sites and agents con Read.
  • Para bases de datos: un recurso PostgreSQL o MySQL con la contraseña Managed by Ironchip. El almacén llega a la base de datos por la conexión con la que rota esa contraseña. Consulta Rotación de contraseñas.

Ve a PAM > Secrets > Credentials. Las pestañas AWS, Google Cloud y Azure muestran un punto verde cuando están conectadas.

Página Credentials con las pestañas de AWS, Google Cloud y Azure y la lista de roles

Nube Qué necesitas Campos
AWS Un usuario de IAM que pueda crear usuarios de IAM y sus claves, y asumir los roles que nombren tus roles Access key, Secret key, Region y, si hace falta, IAM endpoint (optional) y STS endpoint (optional)
Google Cloud Una cuenta de servicio que pueda crear cuentas de servicio y sus claves, fijar políticas de IAM y crear tokens de las cuentas que suplanten tus roles Su clave JSON, con Choose its key file
Azure Una aplicación que pueda gestionar aplicaciones y entidades de servicio en Microsoft Graph y asignar roles en la suscripción Tenant (directory) id, Subscription id, Cloud, Application (client) id y Client secret

Haz clic en Connect. Después, haz clic en Change its key (o Change its client secret en Azure): el almacén crea una credencial nueva y borra la que diste, de modo que a partir de ese momento solo el almacén la conoce.

Disconnect olvida la cuenta. No se puede mientras haya roles de esa nube; las credenciales ya creadas siguen hasta que vencen.

  1. Haz clic en Add role.

  2. En Makes, elige AWS credentials, Google Cloud credentials, Azure credentials o Database accounts.

  3. Escribe Name. El workload lo pedirá como <tipo>/<nombre>, por ejemplo aws/s3-reader o database/reporting.

  4. Completa lo de cada tipo:

    Tipo Opciones
    AWS An IAM user, with policies: ARN de políticas (Policy ARNs) o una política propia en JSON. A role, assumed: los ARN de los roles (Role ARNs). Duran 1 hora, renovable hasta 24.
    Google Cloud Tokens of an existing service account, Tokens of a service account made for it o Keys of a service account made for it, con el proyecto, los permisos (Bindings) y, opcionalmente, los ámbitos. Lasts: de 15 minutos a 12 horas.
    Azure A service principal made for it, with roles (una línea por rol y ámbito, y grupos opcionales) o Client secrets of an existing application. Lasts: de 15 minutos a 1 día.
    Base de datos Database: el recurso. Start from: una plantilla (PostgreSQL · read only, PostgreSQL · read and write, MySQL · read only). Statements that create the account, one per line, con {{name}}, {{password}} y {{expiration}}. Lasts: de 15 minutos a 1 día.
  5. Haz clic en Add role. AWS, Google Cloud y Azure comprueban el rol al añadirlo y, si lo rechazan, la consola muestra su motivo.

Un rol no se edita: para cambiarlo, crea otro y bórralo con Remove role. No se puede borrar mientras algún workload lo tenga.

Dar el rol a un workload y pedir la credencial

Sección titulada «Dar el rol a un workload y pedir la credencial»
  1. En PAM > Secrets > Workloads, abre Options > Edit workload y marca el rol en Short-lived credentials it asks for (optional).
  2. Desde la aplicación, después de iniciar sesión como en Secretos para aplicaciones, pide la credencial:
Ventana de terminal
vault read aws/creds/s3-reader
vault read gcp/impersonated-account/deployer/token # o gcp/roleset/deployer/token
vault read azure/creds/reader
vault read database/creds/reporting

La respuesta trae la credencial y su duración. El almacén la borra cuando vence o cuando se revoca el token del workload.