VM 인스턴스 OS Login 비활성화

지원되는 Linux VM에서 OS Login을 사용해 SSH 접근을 IAM으로 관리하고 필요한 권한만 부여하세요.

설명

OS Login은 지원되는 Linux VM의 SSH 접근을 IAM과 연결해 관리합니다. 이를 사용하지 않으면 메타데이터 SSH 키 등 다른 인증 경로를 직접 관리해야 하며, 퇴사자나 불필요한 사용자 권한을 일관되게 회수하기 어려워질 수 있습니다. OS Login 비활성화 자체가 인증 없는 SSH를 허용하는 것은 아닙니다.

잠재적 영향

  • 오래된 키나 과도한 접근 권한이 남으면 해당 인증 정보를 가진 사용자가 계속 접속할 수 있습니다.
  • 프로젝트와 VM별 키 관리가 분산되면 권한 회수 누락과 접근 이력 점검의 어려움이 생길 수 있습니다.

해결 방법

  1. VM 운영체제와 게스트 환경의 OS Login 지원 여부를 확인하고 사용자·자동화에 필요한 IAM 로그인 권한을 먼저 부여하세요.
  2. enable-oslogin을 문자열 TRUE로 설정하고 실제 로그인과 필요한 관리자 작업을 시험하세요. OS Login을 켜면 프로젝트·인스턴스 메타데이터의 SSH 키는 더 이상 로그인에 사용되지 않으므로 접근 중단을 방지할 계획이 필요합니다.
  3. google.cloud 1.14.0의 gcp_compute_instance는 기존 VM의 메타데이터를 갱신하지 않습니다. 기존 VM에는 지원되는 Console, gcloud 또는 API 메타데이터 변경을 사용하세요. 방화벽과 관리 경로도 별도로 제한하세요.

예시

새 VM에 전달할 메타데이터 부분의 발췌입니다. 이름, 프로젝트, 머신·디스크 구성과 인증 등 필요한 나머지 입력은 생략했습니다.

변경 전

yaml
- name: oslogin-disabled
  google.cloud.gcp_compute_instance:
    metadata:
      enable-oslogin: "FALSE"
    zone: us-central1-a
    auth_kind: serviceaccount

이 VM에서 OS Login을 비활성화합니다. 실제 SSH 접근은 남아 있는 인증 방식과 네트워크 설정에 따라 달라집니다.

변경 후

yaml
- name: oslogin-enabled
  google.cloud.gcp_compute_instance:
    metadata:
      enable-oslogin: "TRUE"
    zone: us-central1-a
    auth_kind: serviceaccount

새 VM의 OS Login을 활성화하는 메타데이터입니다. 필요한 IAM 권한과 게스트 지원을 확인해야 하며, 기존 VM에 이 작업을 다시 실행하는 것만으로 메타데이터가 변경되지는 않습니다.

참조