GKE 레거시 Basic 인증 설정 점검

GKE에 남아 있는 레거시 Basic 인증 설정과 로그인 절차를 정리하세요.

설명

사용자 이름과 비밀번호를 사용하는 GKE Basic 인증은 GKE 1.19부터 지원되지 않습니다. 과거 클러스터의 정적 자격 증명과 이를 사용하는 자동화가 남아 있다면 현재의 인증 방식으로 전환해야 합니다.

잠재적 영향

공유 로그인 정보가 유출되면 부여된 권한으로 클러스터에 접근할 수 있습니다. 오래된 인증에 의존하면 개별 사용자 추적과 자격 증명 교체가 어려워지고 관리 작업이 실패할 수 있습니다.

해결 방법

master_auth.username과 master_auth.password의 레거시 값을 제거하세요. Google Cloud OAuth 토큰 기반 접근으로 전환하고 IAM 및 Kubernetes RBAC 권한을 최소화하세요. 자동화와 운영 문서에서도 기존 로그인 정보를 제거하세요.

예시

과거 Basic 인증 필드를 비교하는 발췌이며 현재 GKE에서 Basic 인증을 활성화하는 방법이 아닙니다. 프로젝트와 보호된 서비스 계정 JSON 파일 경로는 환경에 맞게 제공하세요.

변경 전

yaml
- name: create a cluster4
  google.cloud.gcp_container_cluster:
    name: my-cluster4
    initial_node_count: 2
    master_auth:
      username: cluster_admin
      password: ""
    node_config:
      machine_type: n1-standard-4
      disk_size_gb: 500
    location: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: serviceaccount
    service_account_file: "{{ gcp_service_account_file }}"
    state: present

- name: create a cluster5
  google.cloud.gcp_container_cluster:
    name: my-cluster5
    initial_node_count: 2
    master_auth:
      username: ""
      password: my-secret-password
    node_config:
      machine_type: n1-standard-4
      disk_size_gb: 500
    location: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: serviceaccount
    service_account_file: "{{ gcp_service_account_file }}"
    state: present

첫 작업은 사용자 이름을 지정합니다. 두 번째처럼 사용자 이름 없이 비밀번호만 지정하는 구성은 유효하지 않습니다. 어느 예시도 현재 GKE의 권장 로그인 방식이 아닙니다.

변경 후

yaml
- name: create a cluster
  google.cloud.gcp_container_cluster:
    name: my-cluster
    initial_node_count: 2
    master_auth:
      username: ""
      password: ""
    node_config:
      machine_type: n1-standard-4
      disk_size_gb: 500
    location: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: serviceaccount
    service_account_file: "{{ gcp_service_account_file }}"
    state: present

두 값을 비워 레거시 Basic 자격 증명을 사용하지 않습니다. 이 설정은 현재 인증을 끄거나 IAM 권한을 부여하지 않습니다.

참조