메인 콘텐츠로 건너뛰기
Secret을 만들고, 수정하고, 삭제하려면 Organization admin 권한이 필요해요. 조직 멤버는 Job을 만들 때 이름으로 Secret을 참조해서 사용할 수 있어요.
Secret은 API 토큰, 비밀번호, 데이터베이스 연결 문자열 같은 민감한 정보를 안전하게 보관하는, 암호화된 조직 단위 자격 증명이에요. 평문을 명령어, 이미지 설정, 저장소 파일에 그대로 두지 말고 Secret으로 등록해 두면, VESSL Cloud가 런타임에 환경 변수로 컨테이너에 주입해요. 값은 사용자 컴퓨터에서 암호화된 뒤 전송되고, 요청 본문이나 접근 로그에 평문으로 남지 않으며, 암호문 형태로만 저장돼요.
VESSL Cloud는 SOC 2 Type II 보안 attestation을 완료했어요. 전체 보고서와 보안 운영 현황은 trust.vessl.ai에서 확인할 수 있어요.
Secret 관리 페이지: Secret Name, Key, 마스킹된 Value, Slug, 마지막 편집자, 편집 시각이 들어있는 표와 New Secret 버튼

자주 쓰는 예시

환경 변수용도
HF_TOKENHugging Face
OPENAI_API_KEYOpenAI
ANTHROPIC_API_KEYAnthropic
WANDB_API_KEYWeights & Biases
GITHUB_TOKENGitHub
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은 감사 목적으로 보관되고, 이름은 바로 다시 쓸 수 있어요.
VESSL Cloud에서 Secret을 만들고, 수정하고, 삭제하는 흐름을 짧은 데모로 확인해 보세요.

Secret 만들기

Secret은 세 가지 핵심 필드를 가져요.
항목설명
NameSecret을 식별하는 이름이에요. 조직 안에서 중복될 수 없어요.
Key워크로드에 주입할 때 기본으로 쓰이는 환경 변수 이름이에요. ^[A-Za-z_][A-Za-z0-9_]*$ 형식(영문·숫자·밑줄, 최대 256자)을 따라요.
Value실제 자격 증명 값이에요. 등록 전에 사용자 컴퓨터에서 암호화돼요.
NameKey는 같게(HF_TOKEN/HF_TOKEN) 두면 직관적이에요. 같은 환경 변수가 필요하지만 환경별로 다른 Secret을 쓰고 싶을 때(예: hf-prodhf-staging, 둘 다 키는 HF_TOKEN)는 이름만 다르게 두면 돼요.

GUI

  1. 사이드바에서 Organization > Secrets로 이동해요.
  2. New secret을 클릭해요.
  3. Name, Key, Value, 그리고 (선택) Description을 입력해요.
  4. Create를 눌러 등록해요.
Create new Secret 모달: Secret name, Key, Value 입력란과 Cancel, Create 버튼

CLI

# 대화형 프롬프트로 입력(터미널일 때 마스킹 처리)
vesslctl secret create HF_TOKEN HF_TOKEN

# 환경 변수에서 값 읽기
vesslctl secret create HF_TOKEN HF_TOKEN --from-env LOCAL_HF_TOKEN

# 표준 입력에서 값 읽기
echo "$HF_TOKEN" | vesslctl secret create HF_TOKEN HF_TOKEN --from-stdin

# 설명 추가
vesslctl secret create HF_TOKEN HF_TOKEN -d "Hugging Face 토큰(프로덕션)"
평문 값이 명령줄에 노출되지 않아요. --from-env--from-stdin을 쓰면 셸 히스토리에도 남지 않아요.

Job에서 Secret 사용하기

GUI

Job 생성 화면의 Environment Variables 섹션에서 Secrets 드롭다운으로 사용할 Secret을 선택해요. Add secret을 눌러 여러 개를 한 번에 연결할 수 있어요. 같은 환경 변수 키를 일반 Variable과 Secret에 동시에 쓰면 일반 Variable 값이 우선해요.
Job 생성 폼의 Environment Variables 섹션: Secrets 드롭다운, Add secret 버튼, 일반 Variable 키·값 입력 표

CLI

Job을 만들 때 --secret으로 하나 이상의 Secret을 주입해요.
# HF_TOKEN 환경 변수로 주입(같은 이름의 Secret을 참조)
vesslctl job create ... --secret HF_TOKEN

# OPENAI_API_KEY 환경 변수로 주입(openai-prod라는 이름의 Secret을 참조)
vesslctl job create ... --secret OPENAI_API_KEY=openai-prod

# 여러 개 동시에 주입
vesslctl job create ... --secret HF_TOKEN --secret OPENAI_API_KEY
  • --secret NAME은 Secret을 같은 이름의 환경 변수로 주입해요.
  • --secret KEY=NAMEKEY라는 환경 변수로 주입하고, NAME이라는 Secret을 참조해요.
  • 같은 환경 변수 키를 --env--secret에서 둘 다 지정하면 평문 --env 값이 우선해요.
Workspace는 아직 Secret 주입을 지원하지 않아요. 현재 Job에서만 사용할 수 있고, Workspace 지원은 후속 릴리스로 예정돼 있어요.

Secret 수정하기

값을 갱신하거나, 환경 변수 키 이름을 바꾸거나, 설명을 편집할 수 있어요.
# 값 갱신(대화형 프롬프트)
vesslctl secret update <slug>

# 환경 변수에서 새 값 읽기
vesslctl secret update <slug> --from-env NEW_HF_TOKEN

# 환경 변수 키 이름 바꾸기(값 갱신은 하지 않음)
vesslctl secret update <slug> --key NEW_KEY

# 설명 편집
vesslctl secret update <slug> --description "2026-05 갱신"
이미 실행 중인 워크로드는 갱신된 Secret 값을 자동으로 가져오지 않아요. 새 값을 적용하려면 워크로드를 재시작해야 해요.

Secret 목록 보기와 삭제

# 활성 Secret 목록
vesslctl secret list

# 소프트 삭제된 Secret까지 포함
vesslctl secret list --include-deleted

# 삭제(확인 후)
vesslctl secret delete <slug>

# 확인 없이 바로 삭제
vesslctl secret delete <slug> -y

FAQ

Organization admin만 Secret을 만들고, 수정하고, 삭제할 수 있어요. 일반 멤버는 Secret 이름과 메타데이터를 보고 Job을 만들 때 이름으로 참조할 수 있어요. 사용하는 데 admin 권한은 필요 없어요. (저장된 값은 멤버든 admin이든 누구도 다시 볼 수 없어요. 멤버만의 제약이 아니에요.)
값은 사용자 컴퓨터에서 조직 공개 키로 봉인(sealed-box)된 뒤 전송돼서, 평문이 요청 본문이나 접근 로그에 남지 않아요. VESSL Cloud는 암호문만 저장하고(저장할 때 master key로 다시 암호화), 워크로드에 주입하기 위해서만 Job을 제출할 때 서버에서 복호화해요. 접근은 SOC 2 Type II 통제를 따라요.
Name은 조직 안에서 Secret을 식별하는 이름(중복 불가)이고, Key는 워크로드에 주입할 때 기본으로 쓰이는 환경 변수 이름이에요. 단순하게 쓰려면 둘을 같게 두면 되고, 같은 환경 변수가 필요하지만 환경별로 다른 Secret을 쓰고 싶을 때(예: hf-prodhf-staging, 둘 다 키는 HF_TOKEN)는 이름을 따로 둘 수 있어요.
평문 --env KEY=value 값이 우선해요. 같은 키에 대한 --secret KEY=name 참조는 무시돼요.
아니요. Secret은 컨테이너가 시작될 때 주입돼요. 새 값을 적용하려면 워크로드를 재시작해야 해요.
네. 삭제는 소프트 삭제예요. 이름은 바로 다시 쓸 수 있고, vesslctl secret list --include-deleted로 이전 기록을 확인할 수 있어요.