시크릿 암호화 설정

Prev Next

VPC 환경에서 이용 가능합니다.

Ncloud Kubernetes Service 에서는 NCP KMS(Key Management Service)와 Kubernetes의 Encrypting Confidential Data at Rest 를 활용해 etcd에 저장 되는 시크릿을 암호화 할 수 있습니다.

제약사항

  • Kubernetes 1.28 버전 이상부터 제공합니다.
    • 1.28 이전 버전의 클러스터는 업그레이드 기능을 이용하여 요구되는 버전을 충족 후 사용할 수 있습니다.
  • 한 번 설정된 시크릿 암호화 기능은 해제하거나 변경할 수 없습니다.
주의

사용 중인 KMS 키를 삭제할 경우 클러스터의 시크릿을 복구할 수 없습니다.

필수조건

  • NCP KMS에 키가 생성되어 있어야 합니다.
  • 키의 용도는 암/복호화(AES-256) 이고, 수렴 암호화는 비활성화되어 있어야 합니다.
  • KMS 키 정보 조회를 위해 SubAccount인 경우 아래 권한을 추가해야 합니다.
    • Service: Key Management Service
      • 액션 명: View/getKeyList, View/getKeyInfo

시크릿 암호화 설정(클러스터 생성 시 설정)

  1. Ncloud Kubernetes Service > Clusters에서 [생성하기] 버튼을 클릭합니다.
  2. 시크릿 암호화에서 [설정] 을 선택합니다.
  3. 시크릿 암호화에 사용될 키를 선택합니다.
  4. 클러스터 설정 완료 후 클러스터를 생성합니다.

시크릿 암호화 설정(기존 클러스터 설정)

  1. Ncloud Kubernetes Service > 클러스터 > 상세정보 > 시크릿 암호화에서 [설정] 버튼을 클릭합니다.
  2. 시크릿 암호화에 사용될 키를 선택하고 [확인] 버튼을 클릭합니다.
  3. 클러스터가 설정중 상태로 변경되고, 시크릿 암호화 설정이 진행됩니다.
  4. 시크릿 암호화 설정이 완료되면 클러스터가 운영중 상태로 변경됩니다.
  5. 기존 클러스터에 시크릿 암호화를 설정 한 경우 새로운 키를 활용하여 기존 시크릿을 재암호화해야 합니다.
    $ kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    

키 회전

  • KMS 키는 자동 회전을 통해 주기적으로 키 회전을 수행하는 것이 보안상 안전합니다.
  • KMS 키가 회전되면 기존 시크릿은 이전 키 버전으로 암호화된 상태로 유지됩니다.
  • KMS 키가 회전되면 새로 생성되는 시크릿은 새로운 키로 암호화 되지만 기존 시크릿은 재암호화해야 합니다.
    $ kubectl get secrets --all-namespaces -o json | kubectl replace -f -
    ``