Tencent Cloud TKE의 Secret 저장 암호화 점검

TKE의 Secret 저장 암호화와 KMS 키 접근을 확인하세요.

설명

Tencent Cloud TKE의 KMS 암호화 보호는 etcd에 저장되는 Kubernetes Secret을 암호화합니다. 이 보호가 필요한 환경에서 활성화되어 있지 않으면 저장소 노출 시 비밀정보를 보호하는 방어 계층이 줄어듭니다.

이 설정이 모든 볼륨이나 네트워크 통신을 암호화하는 것은 아닙니다. Secret 조회 권한을 가진 사용자의 접근도 막지 않으므로 RBAC와 키 권한을 함께 제한해야 합니다.

잠재적 영향

  • Secret 저장소가 노출되면 자격 증명과 토큰 등 비밀정보의 유출 위험이 커질 수 있습니다.
  • 필요한 저장 암호화 통제가 없으면 조직의 데이터 보호 요구를 충족하지 못할 수 있습니다.

해결 방법

클러스터의 실제 암호화 상태를 확인하고, 필요한 경우 tencentcloud_kubernetes_encryption_protection을 대상 cluster_id와 kms_configuration에 연결하세요. 지원되는 클러스터와 KMS 키·리전을 선택하고 필요한 서비스 권한을 부여하세요. 사용 중인 키를 비활성화하거나 삭제하지 말고, 설정 후 Secret의 정상 사용과 암호화 상태를 확인하세요.

예시

암호화 보호 리소스를 연결하는 발췌입니다. VPC 데이터 소스는 생략했습니다. kms_region을 실제 키가 있는 리전과 일치시키고 필요한 KMS 권한을 구성하세요.

변경 전

hcl
resource "tencentcloud_kubernetes_cluster" "platform_cluster" {
  vpc_id                  = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
  cluster_cidr            = "10.32.0.0/16"
  cluster_max_pod_num     = 32
  cluster_name            = "tf_example_cluster"
  cluster_desc            = "example cluster"
  cluster_max_service_num = 32
  cluster_deploy_type     = "MANAGED_CLUSTER"
}

클러스터만 정의하며 이 발췌에는 KMS 암호화 보호 구성이 없습니다. 운영 중인 클러스터의 실제 암호화 상태를 확인하세요.

변경 후

hcl
resource "tencentcloud_kubernetes_cluster" "platform_cluster" {
  vpc_id                  = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
  cluster_cidr            = "10.32.0.0/16"
  cluster_max_pod_num     = 32
  cluster_name            = "tf_example_cluster"
  cluster_desc            = "example cluster"
  cluster_max_service_num = 32
  cluster_deploy_type     = "MANAGED_CLUSTER"
}

resource "tencentcloud_kms_key" "cluster_key" {
  alias       = "tf-example-kms-key"
  description = "example of kms key instance"
  key_usage   = "ENCRYPT_DECRYPT"
  is_enabled  = true
}

resource "tencentcloud_kubernetes_encryption_protection" "cluster_encryption" {
  cluster_id = tencentcloud_kubernetes_cluster.platform_cluster.id

  kms_configuration {
    key_id     = tencentcloud_kms_key.cluster_key.id
    kms_region = "ap-guangzhou"
  }
}

클러스터에 KMS 키와 암호화 보호를 연결합니다. 키 가용성을 유지하고 Secret 접근 권한도 별도로 제한해야 합니다.

참조