SecretRefs de Vault
El plugin de Vault incluido permite que OpenClaw resuelva SecretRefsexec desde
HashiCorp Vault al iniciar el Gateway y durante las recargas. OpenClaw almacena las
referencias de Vault en la configuración, conserva los valores resueltos en la instantánea
de secretos en memoria y no vuelve a escribir las claves de API resueltas en openclaw.json.
Úselo si ya ejecuta Vault o desea que las claves de proveedores de modelos residan fuera de
los archivos de configuración de OpenClaw. Para conocer el modelo de ejecución de SecretRef, consulte
Gestión de secretos.
Antes de comenzar
Se necesita:- OpenClaw con el plugin
vaultincluido disponible - un servidor Vault accesible
- autenticación de Vault que pueda generar un token de cliente con acceso de lectura a las rutas de secretos que OpenClaw debe resolver
- el entorno que inicia el Gateway debe incluir
VAULT_ADDRy, además,VAULT_TOKEN, oOPENCLAW_VAULT_AUTH_METHOD=token_fileconVAULT_TOKEN_FILE, o un inicio de sesión JWT/Kubernetes configurado
openclaw vault:
Almacenar una clave de proveedor en Vault
De forma predeterminada, OpenClaw utiliza KV v2 montado ensecret, lo que coincide con los
ejemplos del servidor de desarrollo de Vault. Para un Vault de producción, establezca OPENCLAW_VAULT_KV_MOUNT en la ruta
de montaje de KV real antes de crear identificadores de SecretRef. Con los valores predeterminados de OpenClaw, este
identificador de SecretRef:
Hacer que Vault sea visible para el Gateway
Para un Gateway local sin contenedores, exporte la configuración de Vault en el mismo shell que inicia OpenClaw. El método de autenticación predeterminado lee un token de cliente de Vault desdeVAULT_TOKEN:
jwt:
kubernetes. Está pensado para
Gateways que se ejecutan como Pods; el montaje predeterminado es kubernetes y el archivo JWT
predeterminado es la ruta estándar del token de la cuenta de servicio:
OPENCLAW_VAULT_AUTH_MOUNT únicamente cuando la autenticación de Kubernetes de Vault esté montada en un lugar
distinto de auth/kubernetes. Establezca OPENCLAW_VAULT_JWT_FILE únicamente cuando el token de la cuenta
de servicio se proyecte en una ruta personalizada.
Configuración opcional:
openclaw vault status nunca muestra VAULT_TOKEN; solo indica si están configurados
el token, el archivo de token y el archivo JWT.
Generar y aplicar un plan de SecretRef
Cree un plan que asigne la clave de API del proveedor de modelos OpenRouter a Vault:--allow-exec porque el plugin de Vault resuelve mediante un proveedor
de SecretRef exec gestionado por OpenClaw.
Si el Gateway aún no está en ejecución, inícielo con normalidad después de aplicar el plan
en lugar de ejecutar openclaw secrets reload.
Configurar más claves de proveedores
Atajos integrados:--provider-key:
--provider-key <provider=id> escribe una SecretRef en
models.providers.<provider>.apiKey. Para los proveedores personalizados, no crea
la configuración baseUrl, api ni models del proveedor; configúrela primero.
Utilice --target <path=id> para cualquier ruta de destino de SecretRef conocida:
openclaw.json. Utilice
auth-profiles:<agentId>:<path> para los destinos auth-profiles.json existentes.
La ruta de destino debe ser un destino de SecretRef registrado en OpenClaw. El comando
de configuración no crea secretos con nombres arbitrarios en OpenClaw; Vault sigue siendo el
almacén de secretos y OpenClaw solo almacena SecretRefs en campos de configuración compatibles.
Formato del identificador de SecretRef
Los identificadores de SecretRef de Vault utilizan esta convención:
El campo devuelto por Vault debe ser una cadena.
Para KV v1, establezca:
providers/openrouter/apiKey lee:
Qué almacena OpenClaw
Al aplicar un plan de configuración de Vault se almacena un proveedor gestionado por el plugin:Contenedores e implementaciones gestionadas
Los Gateways en contenedores siguen utilizando el mismo plugin y la misma configuración de SecretRef. El contenedor debe recibir:VAULT_ADDR- una fuente de autenticación:
VAULT_TOKENOPENCLAW_VAULT_AUTH_METHOD=token_filejunto conVAULT_TOKEN_FILEOPENCLAW_VAULT_AUTH_METHOD=jwtjunto conOPENCLAW_VAULT_AUTH_MOUNT,OPENCLAW_VAULT_AUTH_ROLEyOPENCLAW_VAULT_JWT_FILEOPENCLAW_VAULT_AUTH_METHOD=kubernetesjunto conOPENCLAW_VAULT_AUTH_ROLE; opcionalmente, sustituyaOPENCLAW_VAULT_AUTH_MOUNToOPENCLAW_VAULT_JWT_FILE
- los valores opcionales
VAULT_NAMESPACE,OPENCLAW_VAULT_KV_MOUNTyOPENCLAW_VAULT_KV_VERSION
OPENCLAW_VAULT_AUTH_METHOD=kubernetes
cuando Vault tenga configurada la autenticación de Kubernetes para el clúster. Utilice
OPENCLAW_VAULT_AUTH_METHOD=jwt únicamente cuando Vault esté configurado para tratar el clúster
como un emisor JWT/OIDC genérico. Cualquiera de las dos opciones es mejor que un token de Vault
de larga duración en un Secret de Kubernetes. Las implementaciones con un contenedor auxiliar o inyector de Vault Agent pueden
utilizar token_file en su lugar.
Para configuraciones de Vault multiinquilino, mantenga el enrutamiento de inquilinos en la política de Vault y en
la configuración de la implementación. OpenClaw no requiere un montaje, rol o ruta fijos: cada
entorno de Gateway puede configurar sus propios OPENCLAW_VAULT_KV_MOUNT,
OPENCLAW_VAULT_AUTH_ROLE e identificadores de SecretRef. Si un único Gateway compartido debe resolver
distintos usuarios de Vault al mismo tiempo, utilice proveedores exec configurados manualmente
que encapsulen entornos de autenticación distintos, o separe los inquilinos entre entornos de Gateway
con entornos de Vault independientes.