Google Distributed Cloud 버전 1.10은 외부 KMS(키 관리 서비스) 또는 기타 종속 항목 없이도 보안 비밀 암호화를 지원합니다.
상시 보안 비밀 암호화 사용 설정
상시 보안 비밀 암호화는 클러스터의 etcd 데이터베이스에 저장되기 전에 보안 비밀을 암호화하는 데 사용되는 암호화 키를 자동으로 생성하여 작동합니다. 보안 비밀은 보안 비밀 쓰기마다 생성되는 데이터 암호화 키(DEK)를 사용하여 암호화됩니다. 이 DEK는 보안 비밀 객체를 암호화하기 위해 AES-GCM 모드로 사용됩니다. DEK는 키 암호화 키(KEK)로 다시 암호화됩니다. 암호화 알고리즘은 A256GCM(256비트 키를 사용하는 AES GCM)입니다.
ADMIN_KUBECONFIG를 관리자 클러스터 kubeconfig 파일의 경로로 바꿉니다.
ADMIN_CLUSTER_CONFIG를 관리자 클러스터 구성 파일의 경로로 바꿉니다.
USER_CLUSTER_CONFIG을 사용자 클러스터 구성 파일의 경로로 바꿉니다.
이 섹션에서 제공하는 gkectl update 명령어를 사용해 해당 클러스터를 업데이트할 수도 있습니다.
키 저장
관리자 클러스터의 암호화 키는 관리자 클러스터 데이터 디스크에 저장됩니다. 이 디스크는 관리자 마스터 머신의 /opt/data에 마운트되며, 암호화 키는 /opt/data/gke-k8s-kms-plugin/generatedkeys/에서 찾을 수 있습니다. 해당 키에서 사용하는 암호화된 보안 비밀에 대한 액세스 권한을 유지하려면 키를 백업해야 합니다. 제어 영역 VM 디스크가 보호되도록 하려면 하이퍼바이저에서 VM/스토리지 암호화 또는 유사한 방법을 사용 설정해야 합니다.
키 순환
클러스터의 기존 암호화 키를 순환하려면 해당 관리자 클러스터 구성 파일 또는 사용자 클러스터 구성 파일의 keyVersion을 올리고 적절한 gkectl update 명령어를 사용합니다. 이렇게 하면 새 버전 번호와 일치하는 새 키가 생성되고, 각 보안 비밀이 다시 암호화되고, 이전 보안 비밀을 안전하게 삭제됩니다. 이후의 모든 새 보안 비밀은 새 암호화 키를 사용하여 암호화됩니다.
상시 보안 비밀 암호화 사용 중지
기존 클러스터에서 보안 비밀 암호화를 중지하려면 disabled: true 필드를 추가합니다. 그런 다음 해당하는 gkectl update 명령어를 실행합니다. 이 업데이트는 기존의 각 보안 비밀을 복호화하고 각 보안 비밀을 일반 텍스트로 저장합니다. 이후의 모든 새 보안 비밀은 일반 텍스트로 저장됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-05-03(UTC)"],[],[],null,["Google Distributed Cloud version 1.10 supports encrypting secrets without the need for\nan external KMS (Key Management Service), or any other dependencies.\n\nNote the following limitation with advanced clusters:\n\n- Version 1.31: always-on secrets encryption isn't supported on [advanced clusters](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#enable-advanced-cluster-field).\n- Version 1.32 and higher: always-on encryption is supported on advanced clusters.\n\nEnable always-on secrets encryption\n\nAlways-on secrets encryption works by automatically generating an encryption key that is used to encrypt secrets before they are stored on the etcd database for that cluster. The secrets are encrypted using a Data Encryption Key (DEK) generated for every Secret write. This DEK is used in AES-GCM mode to encrypt the Secret object. The DEK is in turn encrypted with a Key Encrypting Key (KEK). The encryption algorithm is A256GCM (AES GCM using 256-bit key).\n\nThe key version is a version number to indicate the key currently in use.\n\nYou can enable secrets encryption after a cluster has already been created.\n\n- For the admin cluster:\n\n 1. Edit the [admin cluster configuration file](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/admin-cluster-configuration-file-latest#secretsencryption-section) to add the `secretsEncryption` section.\n\n 2. Run the `gkectl update` command.\n\n ```\n gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG\n ```\n- For a user cluster:\n\n 1. Edit the [user cluster configuration file](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#secretsencryption-section) to add the `secretsEncryption` section.\n\n 2. Run the `gkectl update` command.\n\n ```\n gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG\n ```\n\nReplace the following:\n\n- `ADMIN_KUBECONFIG` with the path of your admin cluster kubeconfig file.\n- `ADMIN_CLUSTER_CONFIG` with the path of your admin cluster configuration file.\n- `USER_CLUSTER_CONFIG` with the path of your user cluster configuration file.\n\nThe `gkectl update` commands provided in this section can also be used for any other updates to the corresponding cluster.\n\nKey storage\n\nThe encryption keys for the admin cluster are stored on the admin cluster data disk. This disk is mounted on the admin master machine at /opt/data, and the encryption keys can be found at /opt/data/gke-k8s-kms-plugin/generatedkeys/. These keys must be backed up to retain access to the encrypted secrets used by that key. You should enable [VM/storage encryption in the hypervisor](https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-5E2C3F74-38C1-44C3-ABC5-C2C9353B9DC4.html) or similar measures to ensure that the control plane VM disks are protected.\n\nKey rotation\n\nTo rotate an existing encryption key for a cluster, increment the `keyVersion` in the corresponding [admin cluster configuration file](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/admin-cluster-configuration-file-latest#secretsencryption-generatedkey-version-field) or [user cluster configuration file](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#secretsencryption-generatedkey-version-field), and run the appropriate `gkectl update` command. This creates a new key matching the new version number, re-encrypts each secret, and securely erases the old one. All subsequent new secrets are encrypted using the new encryption key.\n\nDisable always-on secrets encryption\n\nTo disable secrets encryption on an existing cluster, add a `disabled: true` field. Next, run the corresponding `gkectl update` command. This update decrypts each existing secret and stores each secret in plain text. All subsequent new secrets are stored in plain text.\n\n```\nsecretsEncryption:\n mode: GeneratedKey\n generatedKey:\n keyVersion: KEY_VERSION\n disabled: true\n```"]]