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.

Índice

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 LIST

Para ver detalles de una clave específica:

hdbuserstore LIST SYS

Datos de ejemplo

Para los siguientes ejemplos utilizaremos esta configuración:

ParámetroValor
ClaveSYS
HostnameCSNSERVER01
Puerto30015
UsuarioSYSTEM
Passwordcursosapnetweaver01

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 cursosapnetweaver01

Borrar un usuario de la hdbuserstore

hdbuserstore DELETE SYS

Usar 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.log

Mú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_dev

Verificació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
-----
X

Solució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

AspectoConexión tradicionalhdbuserstore
SeguridadPassword visible en scriptsPassword encriptado
MantenimientoCambiar en múltiples scriptsCambiar una sola vez
AuditoríaDifícil rastrear accesosClave identificable
AutomatizaciónComplejoSimplificado

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!!!!
Subir