KMS
System Mode 전용 — 시스템 관리자(SysAdmin)가 플랫폼의 내부 시스템 보안 자산(암호화 키·시크릿·인증서)을 조회하고 상태를 관리합니다.
KMS(Key Management Service)는 Thaki Cloud 플랫폼의 내부 시스템 보안 자산을 중앙에 암호화 저장하고, 현황 조회와 상태 변경을 제공하는 관리 계층입니다. KMS는 자산의 원천 발급 시스템이 아니며, 최초 발급은 각 앱 또는 연동 시스템이 담당합니다.
접근 권한
KMS는 엔지니어링 모드의 시스템 앱으로, 시스템 관리자만 접근할 수 있습니다. 도메인 관리자용 KMS 앱은 제공하지 않습니다. 사용자 개인 보안 자산(Password·MFA·Access Key 등)은 IAM 마이페이지에서 관리합니다.
관리 자산
KMS는 좌측 사이드바에서 세 가지 보안 자산을 관리합니다.
| 자산 | 설명 | 예시 |
|---|---|---|
| Encryption Keys | 리소스 암호화/복호화 키 | 볼륨 암호화 키, kubeconfig 암호화 키 |
| Secrets | 인증·접근 제어에 쓰이는 비공개 민감값 | JWT 서명 Secret, 인프라 인증 정보 |
| Certificates | 통신 상대의 신원을 증명하는 인증서 | 내부 서비스 간 mTLS 워크로드 인증서 |
KMS가 하는 일 / 하지 않는 일
| 하는 일 | 하지 않는 일 |
|---|---|
| 자산을 암호화하여 저장 | 자산 원천 발급 (각 앱·연동 시스템이 담당) |
| 목록·현황 조회 | 자산 직접 재발급 (IAM·원천 앱에서 수행) |
| 권한 기반 가시성 통제 | 사용자 개인 자산 직접 관리 (IAM 담당) |
| 상태 변경(순환·보관·폐기) | 일반 앱에 직접 API 제공 |
지원 알고리즘
| 유형 | 알고리즘 | 주요 용도 |
|---|---|---|
| 대칭키 | AES-256-GCM | 데이터 암호화, Secret 암호화 |
| 비대칭키 | RSA-2048 / RSA-4096 | 전자서명, TLS 인증서 키 |
| 비대칭키 | EC P-256 / P-384 | JWT 서명, 경량 인증 |
플랫폼 전체 관리
각 키·시크릿·인증서는 도메인(키링)에 속하지만, 시스템 KMS는 단일 Domain이 아닌 플랫폼 전체의 자산을 한 화면에서 조회하고 상태를 관리합니다.
| 관리 항목 | 설명 |
|---|---|
| 전체 도메인 자산 조회 | 모든 도메인의 키·시크릿·인증서를 한 화면에서 조회 |
| 상태 수명주기 관리 | 순환·보관·복구·폐기 등 상태 전이 통제 |
| 감사 추적 | 모든 상태 전이를 사유(reason)와 함께 감사 로그에 기록 |
WARNING
상태 변경(보관·삭제·폐기·파기)은 확인 절차와 사유 입력이 필요합니다. 특히 키를 Destroy(영구 파기)하면 해당 키로 암호화된 데이터를 복호화할 수 없으므로, 실행 전 사용 현황을 반드시 확인하세요.
권한 모델
권한은 리스트 조회(가시성) · 값/내용 접근 · 상태 변경 · 재발급 수행 인터페이스를 분리해 적용합니다. 시스템 KMS는 시스템 관리자(SysAdmin) 전용입니다.
| 주체 | 리스트 조회 | 값/내용 접근 | 상태 변경 | 재발급 인터페이스 |
|---|---|---|---|---|
| 사용자 | 본인 자산만 | 최초 발급 시 1회 | 본인 자산에 한해 제한적 | IAM 마이페이지 |
| Domain Admin | IAM 내 관리 대상 자산 | Secret 값 불가 | 위임된 자산(서비스 어카운트 등)에 한해 가능 | IAM |
| SysAdmin | 시스템 자산 | 필요 범위 내 제한 | 가능 | 시스템 KMS |
Domain Admin의 상태 변경은 위임된 관리 대상 자산에 한정하며, 개인 사용자 자산에는 적용하지 않습니다.
감사 로그
모든 상태 전이(자동·수동 포함)는 감사 로그에 기록됩니다.
필수 기록 항목: timestamp · actor(수행 주체) · resource_type · resource_id(UUID+버전) · prev_state · next_state · reason · source_ip
사유(reason) 코드
| 값 | 적용 대상 | 설명 |
|---|---|---|
rotation | 시크릿 / 암호 키 | 정상 로테이션에 의한 전이 |
ttl_expiry | 시크릿 | TTL 만료에 의한 자동 전이 |
routine_archive | 암호 키 | 운영 정리 목적의 보관 |
suspected_compromise | 암호 키 | 침해 의심에 의한 긴급 중단(암·복호화 모두 차단) |
confirmed_compromise | 시크릿 / 암호 키 | 침해 확인. 재보호 전용 접근만 허용, 일반 서비스 차단 |
manual_delete | 시크릿 / 암호 키 | 관리자의 명시적 삭제 |
retention_expiry | 시크릿 | 보존 기간(30일) 만료에 의한 자동 Destroy |
emergency_destroy | 암호 키 | 키 유출·손상 확인 시 긴급 영구 삭제 |
NIST SP 800-57 대응
기존 상태 모델을 유지하면서 reason 값으로 NIST SP 800-57의 Suspended/Compromised 요건을 충족합니다. 동일 상태여도 reason에 따라 접근 권한이 분기됩니다.
- Suspended(의심) — Active → Archived (
suspected_compromise). 암·복호화 모두 차단. 의심 해소 시 키를 재사용하지 않고 신규 키를 발급합니다. - Compromised(확인) — Active → Deactivated (
confirmed_compromise). 재보호 파이프라인 전용 복호화만 허용하고 일반 서비스 접근은 차단합니다. 재보호 완료 후 Destroyed로 전이합니다.
| 상태 | reason | 암호화 | 복호화 | 접근 주체 |
|---|---|---|---|---|
| Deactivated | rotation | X | O | 일반 서비스 + 관리자 |
| Deactivated | confirmed_compromise | X | O(제한적) | 재보호 파이프라인 전용 |
| Archived | routine_archive | X | X | 관리자만(복구 목적) |
| Archived | suspected_compromise | X | X | 관리자만(조사 목적) |
시작하기
사용 방법
관련 문서
- IAM — System Mode
- Audit — System Mode
- IAM 마이페이지 — 사용자 개인 보안 자산(Password·MFA·Access Key) 관리