RKE2 CySec Demo 운영자 Secret

이 문서는 bloodbag-cysec namespace의 22-Secret lease 밖 adjunct Secret을 다룬다. 내부시험 Demo Console이 Product API REST로 병상/세션 fixture를 만들 때 쓰는 Demo API token과 Product API 데모 User 자격 증명만 공급한다.

22개 lease Secret·PKI·Hubble·GitOps overlay는 여기 범위가 아니다. 값(token/password byte)은 Git·로그·이슈·PR·명령 출력에 쓰지 않는다.

계약

sites/tirosh-home/secrets.toml에 아래 두 id만 추가한다. 값은 루트 .env(mode 0600)에 두고 커밋하지 않는다.

Secret id Kubernetes name namespace stringData 키 .env
bloodbag-cysec-demo-console bloodbag-cysec-demo-console bloodbag-cysec DEMO_CONSOLE_API_TOKEN BLOODBAG_CYSEC_DEMO_CONSOLE_API_TOKEN
bloodbag-cysec-product-api-demo bloodbag-cysec-product-api-demo bloodbag-cysec username, password BLOODBAG_CYSEC_PRODUCT_API_DEMO_USERNAME, BLOODBAG_CYSEC_PRODUCT_API_DEMO_PASSWORD
  • context: tirosh-home/rke2/gpu
  • username/password Secret은 파일 마운트용이다. 키 이름은 username, password다.
  • 이 두 name은 22-Secret lease 이름 집합에 포함되지 않는다.

Product API User 생성 (SuperAdmin 재사용 금지)

Demo Console이 Product API를 호출할 계정은 역할 User(병원 사용자) 여야 한다. SuperAdmin 자격 증명을 데모 Secret에 넣거나, Demo Console이 SuperAdmin으로 로그인하게 두지 않는다.

  1. 이미 있는 Admin 또는 SuperAdmin 세션으로만 사용자를 만든다. SuperAdmin은 이 한 번의 생성에만 쓰고, 이후 데모 경로에서 재사용하지 않는다.
  2. Product API(https://cysec.bloodbag.internal.tirosh.ai)에 POST /medical-staff를 보낸다. 본문 필드는 username, display_name, password, role이다. role은 반드시 User다. department는 선택이다.
  3. 제품 관리 UI에서 동일 역할로 만들어도 된다. 어떤 경로든 생성 결과는 임상 User여야 한다.
  4. 생성한 username/password를 로컬 .envBLOODBAG_CYSEC_PRODUCT_API_DEMO_USERNAME, BLOODBAG_CYSEC_PRODUCT_API_DEMO_PASSWORD에만 넣는다.
  5. Demo Console API token은 Product API 계정과 별개다. BLOODBAG_CYSEC_DEMO_CONSOLE_API_TOKEN에 전용 난수를 넣는다. SuperAdmin 비밀번호를 이 token으로 재사용하지 않는다.

요청/응답 본문과 .env 값을 터미널에 붙여 넣거나 이슈에 남기지 않는다.

Make 공급

make kubernetes/help
make kubernetes/doctor SITE=tirosh-home
make kubernetes/secret/plan SITE=tirosh-home \
  KUBERNETES_SECRET=bloodbag-cysec-demo-console
make kubernetes/secret/plan SITE=tirosh-home \
  KUBERNETES_SECRET=bloodbag-cysec-product-api-demo

plan은 redacted manifest만 출력한다. 필수 .env 키가 없으면 fail-closed가 정상이다.

클러스터 적용은 값이 준비된 뒤에만 한다.

make kubernetes/secret/apply SITE=tirosh-home \
  KUBERNETES_SECRET=bloodbag-cysec-demo-console
make kubernetes/secret/apply SITE=tirosh-home \
  KUBERNETES_SECRET=bloodbag-cysec-product-api-demo

적용 확인은 Secret 이름만 조회한다. -o yaml/-o json으로 값을 읽지 않는다.

제외

  • sites/tirosh-home/rke2/bloodbag-cysec-secret-pki-material.toml 22개 lease 재작성
  • Redis ACL 비밀번호
  • GitOps adjunct overlay / Ingress
  • Hubble