Vault SecretRef
번들로 제공되는 Vault Plugin을 사용하면 OpenClaw가 Gateway 시작 및 다시 로드 시 HashiCorp Vault에서exec SecretRef를 해석할 수 있습니다. OpenClaw는 Vault 참조를 구성에 저장하고, 해석된 값은 메모리 내 시크릿 스냅샷에 유지하며, 해석된 API 키를 openclaw.json에 다시 기록하지 않습니다.
이미 Vault를 실행 중이거나 모델 공급자 키를 OpenClaw 구성 파일 외부에 보관하려는 경우 이 기능을 사용하세요. SecretRef 런타임 모델은 시크릿 관리를 참조하세요.
시작하기 전에
다음이 필요합니다.- 번들
vaultPlugin을 사용할 수 있는 OpenClaw - 연결 가능한 Vault 서버
- OpenClaw가 해석해야 하는 시크릿 경로에 대한 읽기 권한이 있는 클라이언트 토큰을 생성할 수 있는 Vault 인증
- Gateway를 시작하는 환경에
VAULT_ADDR과 함께VAULT_TOKEN, 또는VAULT_TOKEN_FILE을 사용하는OPENCLAW_VAULT_AUTH_METHOD=token_file, 또는 구성된 JWT/Kubernetes 로그인이 포함되어야 함
openclaw vault 명령을 실행하기 전에 번들 Plugin을 활성화하세요.
Vault에 공급자 키 저장
OpenClaw의 기본값은secret에 마운트된 KV v2이며, Vault 개발 서버 예제와 일치합니다. 프로덕션 Vault에서는 SecretRef ID를 생성하기 전에 OPENCLAW_VAULT_KV_MOUNT를 실제 KV 마운트 경로로 설정하세요. OpenClaw 기본값을 사용할 경우 다음 SecretRef ID는
Gateway에서 Vault 사용 가능하게 설정
컨테이너화되지 않은 로컬 Gateway의 경우 OpenClaw를 시작하는 동일한 셸에서 Vault 설정을 내보내세요. 기본 인증 방식은VAULT_TOKEN에서 Vault 클라이언트 토큰을 읽습니다.
jwt 유형의 Vault 역할을 사용하세요.
kubernetes를 사용하세요. 이는 Pod로 실행되는 Gateway를 위한 방식입니다. 기본 마운트는 kubernetes이고 기본 JWT 파일은 표준 서비스 계정 토큰 경로입니다.
auth/kubernetes가 아닌 다른 위치에 마운트한 경우에만 OPENCLAW_VAULT_AUTH_MOUNT를 설정하세요. 서비스 계정 토큰이 사용자 지정 경로에 프로젝션된 경우에만 OPENCLAW_VAULT_JWT_FILE을 설정하세요.
선택적 설정:
openclaw vault status는 VAULT_TOKEN을 출력하지 않습니다. 토큰, 토큰 파일, JWT 파일의 설정 여부만 보고합니다.
SecretRef 계획 생성 및 적용
OpenRouter의 모델 공급자 API 키를 Vault에 매핑하는 계획을 생성하세요.--allow-exec를 사용하세요.
Gateway가 아직 실행 중이 아니라면 계획을 적용한 후 openclaw secrets reload를 실행하는 대신 정상적으로 시작하세요.
추가 공급자 키 구성
기본 제공 단축 옵션:--provider-key를 사용하세요.
--provider-key <provider=id>는 models.providers.<provider>.apiKey에 SecretRef를 기록합니다. 사용자 지정 공급자의 경우 공급자의 baseUrl, api 또는 models 설정은 생성하지 않으므로 먼저 해당 설정을 구성하세요.
알려진 SecretRef 대상 경로에는 --target <path=id>를 사용하세요.
openclaw.json에 적용됩니다. 기존 auth-profiles.json 대상에는 auth-profiles:<agentId>:<path>를 사용하세요.
대상 경로는 등록된 OpenClaw SecretRef 대상이어야 합니다. 설정 명령은 OpenClaw에 임의의 명명된 시크릿을 생성하지 않습니다. Vault가 계속 시크릿 저장소 역할을 하며, OpenClaw는 지원되는 구성 필드에만 SecretRef를 저장합니다.
SecretRef ID 형식
Vault SecretRef ID는 다음 규칙을 사용합니다.
반환되는 Vault 필드는 문자열이어야 합니다.
KV v1의 경우 다음을 설정하세요.
providers/openrouter/apiKey는 다음을 읽습니다.
OpenClaw가 저장하는 내용
Vault 설정 계획을 적용하면 Plugin이 관리하는 공급자가 저장됩니다.컨테이너 및 관리형 배포
컨테이너화된 Gateway도 동일한 Plugin 및 SecretRef 구성을 사용합니다. 컨테이너에는 다음 항목을 전달해야 합니다.VAULT_ADDR- 다음 인증 소스 중 하나:
VAULT_TOKENOPENCLAW_VAULT_AUTH_METHOD=token_file및VAULT_TOKEN_FILEOPENCLAW_VAULT_AUTH_METHOD=jwt및OPENCLAW_VAULT_AUTH_MOUNT,OPENCLAW_VAULT_AUTH_ROLE,OPENCLAW_VAULT_JWT_FILEOPENCLAW_VAULT_AUTH_METHOD=kubernetes및OPENCLAW_VAULT_AUTH_ROLE; 필요에 따라OPENCLAW_VAULT_AUTH_MOUNT또는OPENCLAW_VAULT_JWT_FILE재정의
- 선택적
VAULT_NAMESPACE,OPENCLAW_VAULT_KV_MOUNT,OPENCLAW_VAULT_KV_VERSION
OPENCLAW_VAULT_AUTH_METHOD=kubernetes를 권장합니다. Vault가 클러스터를 일반 JWT/OIDC 발급자로 취급하도록 구성된 경우에만 OPENCLAW_VAULT_AUTH_METHOD=jwt를 사용하세요. 두 옵션 모두 Kubernetes Secret에 장기 Vault 토큰을 저장하는 것보다 낫습니다. Vault Agent 사이드카 또는 인젝터 배포에서는 대신 token_file을 사용할 수 있습니다.
멀티테넌트 Vault 설정에서는 테넌트 라우팅을 Vault 정책과 배포 구성에 유지하세요. OpenClaw에는 고정된 마운트, 역할 또는 경로가 필요하지 않습니다. 각 Gateway 환경에서 자체 OPENCLAW_VAULT_KV_MOUNT, OPENCLAW_VAULT_AUTH_ROLE, SecretRef ID를 설정할 수 있습니다. 하나의 공유 Gateway에서 서로 다른 Vault 사용자의 시크릿을 동시에 해석해야 하는 경우 서로 다른 인증 환경을 래핑하는 수동 구성 exec 공급자를 사용하거나, 별도의 Vault 환경 변수를 사용하는 Gateway 환경으로 테넌트를 분리하세요.