Secret을 만들고, 수정하고, 삭제하려면 Organization admin 권한이 필요해요. 조직 멤버는 Job을 만들 때 이름으로 Secret을 참조해서 사용할 수 있어요.
VESSL Cloud는 SOC 2 Type II 보안 attestation을 완료했어요. 전체 보고서와 보안 운영 현황은 trust.vessl.ai에서 확인할 수 있어요.

자주 쓰는 예시
| 환경 변수 | 용도 |
|---|---|
HF_TOKEN | Hugging Face |
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
WANDB_API_KEY | Weights & Biases |
GITHUB_TOKEN | GitHub |
DATABASE_URL | 데이터베이스 연결 문자열 |
동작 방식
- 전송 전에 암호화돼요: Secret을 만들 때 값이 사용자 컴퓨터에서 조직 공개 키로 봉인(sealed-box)돼서, 평문이 요청 본문이나 접근 로그에 남지 않아요. VESSL Cloud는 저장할 때 master key로 다시 암호화해서 암호문만 보관해요.
- 제출 시점에 주입돼요: 워크로드를 제출하면 VESSL Cloud가 서버에서 값을 복호화해 Kubernetes Secret으로 컨테이너에 전달하고, 컨테이너가 시작될 때 환경 변수로 주입돼요.
- 값은 다시 볼 수 없어요: Secret을 저장하고 나면 VESSL Cloud는 값을 멤버든 admin이든 누구에게도 다시 보여주지 않아요. 목록·상세 화면에는 메타데이터만 보여요. 값을 바꾸려면 admin이 새 값으로 덮어써요(rotation). 이전 값은 다시 가져올 수 없어요.
- 조직 단위로 공유돼요: 한 조직 안의 모든 팀이 같은 Secret을 공유해요. 조직 내 어떤 Job에서든 이름으로 참조할 수 있어요.
- 관리자가 관리해요: Organization admin만 생성·수정·삭제할 수 있어요. 일반 멤버는 Secret 이름과 메타데이터를 보고 워크로드에서 이름으로 참조할 수 있어요.
- 소프트 삭제예요: 삭제된 Secret은 감사 목적으로 보관되고, 이름은 바로 다시 쓸 수 있어요.
Secret 만들기
Secret은 세 가지 핵심 필드를 가져요.| 항목 | 설명 |
|---|---|
| Name | Secret을 식별하는 이름이에요. 조직 안에서 중복될 수 없어요. |
| Key | 워크로드에 주입할 때 기본으로 쓰이는 환경 변수 이름이에요. ^[A-Za-z_][A-Za-z0-9_]*$ 형식(영문·숫자·밑줄, 최대 256자)을 따라요. |
| Value | 실제 자격 증명 값이에요. 등록 전에 사용자 컴퓨터에서 암호화돼요. |
HF_TOKEN/HF_TOKEN) 두면 직관적이에요. 같은 환경 변수가 필요하지만 환경별로 다른 Secret을 쓰고 싶을 때(예: hf-prod와 hf-staging, 둘 다 키는 HF_TOKEN)는 이름만 다르게 두면 돼요.
GUI
- 사이드바에서 Organization > Secrets로 이동해요.
- New secret을 클릭해요.
- Name, Key, Value, 그리고 (선택) Description을 입력해요.
- Create를 눌러 등록해요.

CLI
--from-env나 --from-stdin을 쓰면 셸 히스토리에도 남지 않아요.
Job에서 Secret 사용하기
GUI
Job 생성 화면의 Environment Variables 섹션에서 Secrets 드롭다운으로 사용할 Secret을 선택해요. Add secret을 눌러 여러 개를 한 번에 연결할 수 있어요. 같은 환경 변수 키를 일반 Variable과 Secret에 동시에 쓰면 일반 Variable 값이 우선해요.
CLI
Job을 만들 때--secret으로 하나 이상의 Secret을 주입해요.
--secret NAME은 Secret을 같은 이름의 환경 변수로 주입해요.--secret KEY=NAME은KEY라는 환경 변수로 주입하고,NAME이라는 Secret을 참조해요.- 같은 환경 변수 키를
--env와--secret에서 둘 다 지정하면 평문--env값이 우선해요.
Workspace는 아직 Secret 주입을 지원하지 않아요. 현재 Job에서만 사용할 수 있고, Workspace 지원은 후속 릴리스로 예정돼 있어요.
Secret 수정하기
값을 갱신하거나, 환경 변수 키 이름을 바꾸거나, 설명을 편집할 수 있어요.이미 실행 중인 워크로드는 갱신된 Secret 값을 자동으로 가져오지 않아요. 새 값을 적용하려면 워크로드를 재시작해야 해요.
Secret 목록 보기와 삭제
FAQ
Secret은 누가 관리할 수 있나요?
Secret은 누가 관리할 수 있나요?
Organization admin만 Secret을 만들고, 수정하고, 삭제할 수 있어요. 일반 멤버는 Secret 이름과 메타데이터를 보고 Job을 만들 때 이름으로 참조할 수 있어요. 사용하는 데 admin 권한은 필요 없어요. (저장된 값은 멤버든 admin이든 누구도 다시 볼 수 없어요. 멤버만의 제약이 아니에요.)
VESSL Cloud는 Secret 값을 어떻게 보호하나요?
VESSL Cloud는 Secret 값을 어떻게 보호하나요?
값은 사용자 컴퓨터에서 조직 공개 키로 봉인(sealed-box)된 뒤 전송돼서, 평문이 요청 본문이나 접근 로그에 남지 않아요. VESSL Cloud는 암호문만 저장하고(저장할 때 master key로 다시 암호화), 워크로드에 주입하기 위해서만 Job을 제출할 때 서버에서 복호화해요. 접근은 SOC 2 Type II 통제를 따라요.
왜 Name과 Key를 따로 두나요?
왜 Name과 Key를 따로 두나요?
Name은 조직 안에서 Secret을 식별하는 이름(중복 불가)이고, Key는 워크로드에 주입할 때 기본으로 쓰이는 환경 변수 이름이에요. 단순하게 쓰려면 둘을 같게 두면 되고, 같은 환경 변수가 필요하지만 환경별로 다른 Secret을 쓰고 싶을 때(예:
hf-prod와 hf-staging, 둘 다 키는 HF_TOKEN)는 이름을 따로 둘 수 있어요.같은 환경 변수 키를 --env와 --secret에 동시에 쓰면 어떻게 되나요?
같은 환경 변수 키를 --env와 --secret에 동시에 쓰면 어떻게 되나요?
평문
--env KEY=value 값이 우선해요. 같은 키에 대한 --secret KEY=name 참조는 무시돼요.이미 돌고 있는 워크로드가 갱신된 값을 받나요?
이미 돌고 있는 워크로드가 갱신된 값을 받나요?
아니요. Secret은 컨테이너가 시작될 때 주입돼요. 새 값을 적용하려면 워크로드를 재시작해야 해요.
삭제한 Secret 이름을 다시 쓸 수 있나요?
삭제한 Secret 이름을 다시 쓸 수 있나요?
네. 삭제는 소프트 삭제예요. 이름은 바로 다시 쓸 수 있고,
vesslctl secret list --include-deleted로 이전 기록을 확인할 수 있어요.