설명
OS Login은 지원되는 Linux VM의 SSH 접근을 IAM과 연결해 관리합니다. 이를 사용하지 않으면 메타데이터 SSH 키 등 다른 인증 경로를 직접 관리해야 하며, 퇴사자나 불필요한 사용자 권한을 일관되게 회수하기 어려워질 수 있습니다. OS Login 비활성화 자체가 인증 없는 SSH를 허용하는 것은 아닙니다.
잠재적 영향
- 오래된 키나 과도한 접근 권한이 남으면 해당 인증 정보를 가진 사용자가 계속 접속할 수 있습니다.
- 프로젝트와 VM별 키 관리가 분산되면 권한 회수 누락과 접근 이력 점검의 어려움이 생길 수 있습니다.
해결 방법
- VM 운영체제와 게스트 환경의 OS Login 지원 여부를 확인하고 사용자·자동화에 필요한 IAM 로그인 권한을 먼저 부여하세요.
enable-oslogin을 문자열TRUE로 설정하고 실제 로그인과 필요한 관리자 작업을 시험하세요. OS Login을 켜면 프로젝트·인스턴스 메타데이터의 SSH 키는 더 이상 로그인에 사용되지 않으므로 접근 중단을 방지할 계획이 필요합니다.google.cloud1.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에 이 작업을 다시 실행하는 것만으로 메타데이터가 변경되지는 않습니다.