gcpckms KMS

gcpckms KMS

GCP Cloud KMS는 키 관리를 위해 Boundary가 GCP Cloud KMS를 사용하도록 구성해요. GCP Cloud KMS 인증(seal)은 Boundary 구성 파일에 gcpckms 블록이 있으면 활성화돼요.

출처: HashiCorp Boundary docs

본문

GCP Cloud KMS는 키 관리를 위해 Boundary가 GCP Cloud KMS를 사용하도록 구성해요.

GCP Cloud KMS 인증은 Boundary 구성 파일에 seal "gcpckms" 블록이 있으면 활성화돼요.

gcpckms 예시

이 예시는 필요한 모든 값을 제공해 Boundary 구성 파일을 통해 GCP Cloud KMS를 구성하는 방법을 보여줘요.

kms "gcpckms" {
  purpose     = "root"
  credentials = "/usr/boundary/boundary-project-user-creds.json"
  project     = "boundary-project"
  region      = "global"
  key_ring    = "boundary-keyring"
  crypto_key  = "boundary-key"
  key_id      = "global_worker-auth"
}

gcpckms 파라미터

이 파라미터들은 Boundary 구성 파일의 kms 스탠자에 적용돼요.

  • purpose — 이 KMS의 목적이에요. 허용되는 값은 bsr, config, downstream-worker-auth, previous-root, recovery, root, worker-auth, worker-auth-storage예요. 세션 녹화를 활성화하려면 purpose에 bsr 값을 구성해야 해요. 지원되는 KMS purpose에 대한 자세한 내용은 Data encryption in Boundary를 참고하세요.
  • credentials (string: <required>) — 사용할 자격 증명 JSON 파일의 경로예요. GOOGLE_CREDENTIALS 또는 GOOGLE_APPLICATION_CREDENTIALS 환경 변수로도 지정할 수 있고, Google App Engine, Google Compute Engine, Google Kubernetes Engine에서 실행 중이면 자동으로 설정돼요.
  • project (string: <required>) — 사용할 GCP 프로젝트 ID예요. GOOGLE_PROJECT 환경 변수로도 지정할 수 있어요.
  • region (string: "us-east-1") — 키 링(key ring)이 있는 GCP 지역/위치예요. GOOGLE_REGION 환경 변수로도 지정할 수 있어요.
  • key_ring (string: <required>) — 사용할 GCP CKMS 키 링이에요. GCPCKMS_WRAPPER_KEY_RING 환경 변수로도 지정할 수 있어요.
  • crypto_key (string: <required>) — 암호화와 복호화에 사용할 GCP CKMS 크립토 키예요. GCPCKMS_WRAPPER_CRYPTO_KEY 환경 변수로도 지정할 수 있어요.
  • key_id — 이 키의 고유한 이름이에요. 루트 키 마이그레이션을 수행할 때 키를 식별하는 데 사용돼요. key_id 필드는 모든 KMS 스탠자에서 사용할 수 있어요.

인증 & 권한

인증 관련 값은 환경 변수나 구성 파라미터로 제공해야 해요.

GCP 인증 값:

  • GOOGLE_CREDENTIALS 또는 GOOGLE_APPLICATION_CREDENTIALS
  • GOOGLE_PROJECT
  • GOOGLE_REGION