GKE 제어 플레인 인증 설정 점검

GKE 제어 플레인의 인증 방식과 IAM 및 RBAC 권한을 확인하세요.

설명

GKE 제어 플레인은 클러스터의 워크로드와 권한을 관리하므로 접근 주체와 권한을 명확히 해야 합니다. master_auth를 생략했다고 인증이 꺼지는 것은 아닙니다. 이 블록의 사용자 이름과 비밀번호를 이용하는 Basic 인증은 GKE 1.19부터 지원되지 않습니다.

잠재적 영향

불필요한 관리 권한이나 유출된 자격 증명은 워크로드 변경과 데이터 접근으로 이어질 수 있습니다. 오래된 로그인 방식에 의존하면 관리 자동화가 실패할 수도 있습니다.

해결 방법

Google Cloud의 OAuth 토큰을 사용하는 현재 인증 방식을 구성하고 IAM 및 Kubernetes RBAC 권한을 필요한 작업으로 제한하세요. 오래된 사용자 이름·비밀번호 로그인 절차를 제거하고 승인된 운영자의 접근을 확인하세요.

예시

클러스터 설정 발췌입니다. 프로젝트와 보호된 서비스 계정 JSON 파일 경로를 입력하세요. Ansible 실행용 자격 증명과 클러스터 운영자의 권한은 별도로 관리합니다.

변경 전

yaml
- name: GKE 클러스터 생성
  google.cloud.gcp_container_cluster:
    name: my-cluster1
    initial_node_count: 2
    node_config:
      machine_type: n1-standard-4
    location: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: serviceaccount
    service_account_file: "{{ gcp_service_account_file }}"
    state: present

master_auth가 없다는 사실만으로 인증되지 않은 접근이 허용되는 것은 아닙니다.

변경 후

yaml
- name: GKE 클러스터 생성
  google.cloud.gcp_container_cluster:
    name: my-cluster1
    initial_node_count: 2
    master_auth:
      username: ""
      password: ""
    node_config:
      machine_type: n1-standard-4
    location: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: serviceaccount
    service_account_file: "{{ gcp_service_account_file }}"
    state: present

빈 username과 password는 레거시 Basic 자격 증명을 사용하지 않겠다는 설정입니다. IAM 및 RBAC 권한을 부여하는 구성은 별도로 필요합니다.

참조