GCP Cloud KMS 키링

GCP Cloud KMS 키링 (GCP Cloud KMS Keyring)

이 페이지는 Nomad 에이전트 구성의 keyring "gcpckms" 블록에서 Google Cloud Platform Key Management Service (GCP Cloud KMS) 키링을 구성하는 방법에 대한 참조 정보를 제공해요. GCP 자격 증명, 프로젝트, 리전, 키 링(key ring), 크립토 키(crypto key)를 구성해요. GCP Cloud KMS에 정의된 키의 회전을 Nomad가 어떻게 지원하는지도 알아봐요.

출처: 문서

본문

GCP Cloud KMS 키링은 Nomad가 자체 키링을 래핑하기 위해 GCP Cloud KMS를 사용하도록 구성해요. 이 예시는 필요한 모든 값을 제공해 Nomad 구성 파일을 통해 GCP Cloud KMS 키링을 구성하는 방법을 보여줘요.

keyring "gcpckms" {
  active = true
  name   = "example"

  credentials = "/etc/nomad.d/nomad-user-creds.json"
  project     = "nomad-project"
  region      = "global"
  key_ring    = "nomad-keyring"
  crypto_key  = "nomad-key"
}

gcpckms 매개변수 (Parameters)

이 매개변수들은 Nomad 구성 파일의 keyring 스탠자에 적용돼요.

  • credentials (string: <required>) — 사용할 자격 증명 JSON 파일의 경로예요. GOOGLE_CREDENTIALS 또는 GOOGLE_APPLICATION_CREDENTIALS 환경 변수로도 지정할 수 있고, Google Compute Engine에서 실행 중이면 자동으로 설정돼요.
  • project (string: <required>) — 사용할 GCP 프로젝트 ID예요. GOOGLE_PROJECT 환경 변수로도 지정할 수 있어요.
  • region (string: <required>) — 키 링이 위치한 GCP 리전/위치예요. GOOGLE_REGION 환경 변수로도 지정할 수 있어요.
  • key_ring (string: <required>) — 사용할 GCP KMS 키 링이에요.
  • crypto_key (string: <required>) — 암호화·복호화에 사용할 GCP KMS 크립토 키예요.

인증 및 권한 (Authentication & permissions)

인증 관련 값은 환경 변수 또는 구성 매개변수로 제공해야 해요.

GCP 인증 값:

  • GOOGLE_CREDENTIALS 또는 GOOGLE_APPLICATION_CREDENTIALS
  • GOOGLE_PROJECT
  • GOOGLE_REGION

참고 — 위의 GCP 특정 값을 제공하지 않으면 클라이언트는 공식 Google SDK와 지정된 자격 증명, 환경 자격 증명, 애플리케이션 기본 자격 증명을 그 순서대로 사용해요.

서비스 계정은 크립토 키에 대해 다음 최소 권한이 필요해요.

cloudkms.cryptoKeyVersions.useToEncrypt
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeys.get

이 권한들은 다음 역할로 설명할 수 있어요.

roles/cloudkms.cryptoKeyEncrypterDecrypter
cloudkms.cryptoKeys.get

엔진 초기화 과정에서 CloudKMS로부터 키의 메타데이터 정보를 검색하려면 cloudkms.cryptoKeys.get 권한을 사용해요.

키 회전 (Key rotation)

이 키링은 Google Cloud KMS에 정의된 키의 회전을 지원해요. 키 정보가 암호화된 데이터와 함께 저장되므로 CKMS의 경우 예약 회전(scheduled rotation)과 수동 회전(manual rotation) 모두 지원돼요. 이전 키 버전은 비활성화하거나 삭제하면 안 되며, 더 오래된 데이터를 복호화하는 데 사용돼요. 새로 추가되거나 업데이트된 데이터는 기본 키 버전으로 암호화돼요.

더 알아보기 (Learn more)