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_CREDENTIALSGOOGLE_PROJECTGOOGLE_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) 모두 지원돼요. 이전 키 버전은 비활성화하거나 삭제하면 안 되며, 더 오래된 데이터를 복호화하는 데 사용돼요. 새로 추가되거나 업데이트된 데이터는 기본 키 버전으로 암호화돼요.