Skip to main content
W&B Secret Manager를 사용하면 서버리스 샌드박스 안에서 API 토큰 및 기타 자격 증명을 사용할 수 있습니다. 애플리케이션이 시크릿 이름을 Sandbox API에 전달하면, API는 샌드박스를 생성할 때 담당 W&B 팀에서 해당 값을 가져와 환경 변수로 주입합니다.

시작하기 전에

W&B 시크릿 주입을 사용하려면 W&B API 키로 인증된 샌드박스가 필요합니다. 이 기능은 서버리스 샌드박스에서 사용할 수 있지만, 자체 CoreWeave Kubernetes Service(CKS) 클러스터의 샌드박스에서는 사용할 수 없습니다. CKS 배치에는 CoreWeave API 액세스 토큰이 사용되며, 이 토큰을 별도의 W&B 키와 함께 사용하여 CKS 샌드박스의 시크릿을 가져올 수는 없습니다. 예시를 따라 하려면 다음이 필요합니다.
  • 서버리스 샌드박스 액세스 권한이 있는 W&B SaaS(Software as a Service) 계정
  • W&B 팀의 Secret Manager에 저장된 HF_TOKEN이라는 이름의 시크릿. 시크릿이 없으면 W&B Admin에게 시크릿 추가를 요청하세요.
  • 해당 팀에 액세스할 수 있는 W&B API 키
샌드박스를 생성하는 프로세스의 환경에 WANDB_API_KEY를 설정하세요. [WANDB-API-KEY]를 본인의 W&B API 키로 바꾸세요.
WANDB_ENTITY는 선택 사항이며, 지정하지 않으면 API 키의 기본 entity가 사용됩니다. 시크릿이 다른 팀에 속한 경우 WANDB_ENTITY를 해당 팀으로 설정하세요. [WANDB-TEAM]을 팀 이름으로 바꾸세요.
사용하는 언어에 맞는 클라이언트를 설치하세요.
Python 3.11 이상을 사용하고, 필요한 경우 uv를 설치하세요. Python 환경에 W&B 인증 의존성을 포함하여 클라이언트를 설치하세요.

시크릿 주입하기

Python에서는 store="wandb"를, TypeScript에서는 store: "wandb"를 사용하세요. 이 저장소는 인증된 W&B 팀의 시크릿을 조회합니다. 이 플로우에서는 조직 시크릿 저장소를 따로 등록할 필요가 없습니다. 다음 예시는 HF_TOKEN을 주입한 뒤, 값을 출력하지 않고 해당 시크릿이 있는지만 확인합니다. 샌드박스에서 환경 변수 이름은 기본적으로 시크릿 이름과 같습니다.
AuthStrategy.WANDB를 사용해 W&B 인증을 명시적으로 선택하세요.
두 예시 모두 Secret is available을 출력하고, 오퍼레이션이 종료되면 샌드박스를 중지합니다. 샌드박스 내부에서 실행되는 코드는 HF_TOKEN에서 값을 읽을 수 있습니다. secrets에는 시크릿 값이 아니라 시크릿 이름을 전달하세요. 실제 값은 서버가 조회합니다. 값을 출력하거나 로그에 기록하지 마세요.

시크릿 참조 필드

Python Secret 또는 TypeScript secrets 항목에서 다음 필드를 사용하세요.

맞춤형 환경 변수 이름 사용

시크릿을 받을 환경 변수를 직접 지정하려면 Python에서는 env_var를, TypeScript에서는 envVar를 설정하세요. 다음 예시는 HF_TOKEN 시크릿을 HUGGINGFACE_TOKEN이라는 이름으로 노출합니다.
두 예시 모두 HUGGINGFACE_TOKEN이 존재하는지 확인한 뒤 Secret is available을 출력합니다.

구조화된 시크릿에서 필드 선택하기

JSON 객체에서 값 하나만 주입하려면 field를 해당 값의 최상위 키로 설정하세요. 중첩 경로는 지원되지 않습니다. 값이 JSON 문자열이면 앞뒤의 JSON 따옴표 없이 주입됩니다. 이 예제를 따라 하려면 DB_CREDENTIALS라는 이름의 팀 시크릿을 추가하고, 값으로 {"password":"[DB-PASSWORD]"}와 같은 JSON 객체를 입력하세요. 시크릿을 저장하기 전에 [DB-PASSWORD]를 실제 비밀번호로 바꾸세요. 다음 예시는 이 시크릿의 password 필드를 DB_PASSWORD에 주입합니다.
두 예시 모두 비밀번호는 출력하지 않고 Secret is available만 출력합니다. 시크릿이 JSON 객체가 아니거나, 키가 없거나, 키의 값이 null이면 필드를 선택할 수 없어 실패합니다.

시크릿 참조 재사용

Python 세션에서는 공유 시크릿 참조를 SandboxDefaults에 넣으세요. TypeScript에서는 샌드박스를 생성할 때 secrets 배열을 재사용하세요.
Python 클라이언트는 세션 기본값과 샌드박스별 secrets를 병합하며, 완전히 동일한 중복 항목은 무시합니다. 서로 다른 참조가 같은 환경 변수를 가리키면 클라이언트는 샌드박스를 생성하기 전에 ValueError를 발생시킵니다. Python 유형 시그니처는 시크릿 참조를 참조하세요.

시크릿 주입 문제 해결

시크릿 참조를 사용할 때 샌드박스가 시작되지 않으면 오류 메시지를 참고하여 인증, 선택한 팀, 배치를 확인하세요. CKS 배치에서는 W&B 시크릿 주입을 사용할 수 없습니다. CoreWeave API 액세스 토큰과 W&B API 키를 모두 설정한 경우에도 마찬가지입니다.
마지막 수정일 2026년 9월 30일