SAP HANA | Gestión de la hdbuserstore
La hdbuserstore es la mejor forma de proteger las credenciales de los usuarios cuando se van a utilizar desde scripts a nivel de sistema operativo. En lugar de exponer usuario y contraseña en texto plano, almacena las credenciales de forma segura y encriptada.
- Ubicación del hdbuserstore
- Listar los usuarios de la hdbuserstore
- Datos de ejemplo
- Añadir un usuario en la hdbuserstore
- Borrar un usuario de la hdbuserstore
- Usar un usuario de la hdbuserstore
- Ejemplos prácticos en scripts
- Verificación de conectividad
- Solución de problemas
- Comparación: Conexión tradicional vs hdbuserstore
- Consideraciones de seguridad
- Referencia oficial
Ubicación del hdbuserstore
El archivo hdbuserstore se almacena por defecto en:
- Por usuario:
~/.hdb/<hostname>/SSFS_HDB.DAT - Global:
/usr/sap/<SID>/SYS/global/hdb/security/ssfs/SSFS_HDB.DAT
Listar los usuarios de la hdbuserstore
hdbuserstore LISTPara ver detalles de una clave específica:
hdbuserstore LIST SYSDatos de ejemplo
Para los siguientes ejemplos utilizaremos esta configuración:
| Parámetro | Valor |
|---|---|
| Clave | SYS |
| Hostname | CSNSERVER01 |
| Puerto | 30015 |
| Usuario | SYSTEM |
| Password | cursosapnetweaver01 |
Añadir un usuario en la hdbuserstore
Sintaxis general:
hdbuserstore SET <CLAVE> "<hostname:puerto>" <usuario> <password>Ejemplo con los datos anteriores:
hdbuserstore SET SYS "CSNSERVER01:30015" SYSTEM cursosapnetweaver01Borrar un usuario de la hdbuserstore
hdbuserstore DELETE SYSUsar un usuario de la hdbuserstore
Una vez configurada la clave, podemos conectar sin exponer credenciales:
hdbsql -U SYS "SELECT * FROM SYS.M_BACKUP_CATALOG"Ejemplos prácticos en scripts
Backup automatizado:
#!/bin/bash
hdbsql -U BACKUP "BACKUP DATA USING FILE ('backup_completo')"Consulta desde cron:
0 2 * * * /usr/sap/HDB/HDB00/exe/hdbsql -U MONITOR "SELECT * FROM M_BACKUP_CATALOG" >> /tmp/backup_status.logMúltiples sistemas:
hdbuserstore SET PRD "servidor-prd:30015" SYSTEM password_prd
hdbuserstore SET QAS "servidor-qas:30015" SYSTEM password_qas
hdbuserstore SET DEV "servidor-dev:30015" SYSTEM password_devVerificación de conectividad
Antes de usar una clave en scripts, verifica que funciona:
hdbsql -U SYS "SELECT * FROM DUMMY"Si la conexión es correcta, devolverá:
DUMMY
-----
XSolución de problemas
Error "cannot open key":
- Verificar permisos del archivo SSFS_HDB.DAT (debe ser 600)
- Asegurarse de ejecutar como el usuario correcto (sidadm)
Error de conexión:
- Comprobar que el hostname y puerto son correctos
- Verificar que la base de datos está arrancada
- Revisar firewall y conectividad de red
Comparación: Conexión tradicional vs hdbuserstore
| Aspecto | Conexión tradicional | hdbuserstore |
|---|---|---|
| Seguridad | Password visible en scripts | Password encriptado |
| Mantenimiento | Cambiar en múltiples scripts | Cambiar una sola vez |
| Auditoría | Difícil rastrear accesos | Clave identificable |
| Automatización | Complejo | Simplificado |
Consideraciones de seguridad
- El archivo SSFS_HDB.DAT está encriptado pero debe tener permisos restrictivos (600)
- Cada usuario de sistema operativo tiene su propio hdbuserstore
- No compartir claves entre usuarios, crear una para cada caso de uso
- Rotar passwords regularmente y actualizar en hdbuserstore
Referencia oficial
SAP Help - Secure User Store (hdbuserstore)
Mira lo que te tenemos preparado!!!!
