OS 로그인 설정


이 문서에서는 OS 로그인과 2단계 인증(2FA)으로 OS 로그인을 설정하는 방법을 설명합니다.

OS 로그인을 사용 설정하면 IAM 권한을 기반으로 가상 머신(VM) 인스턴스에 대한 액세스를 제어할 수 있습니다. 2FA를 사용하거나 사용하지 않고 OS 로그인을 사용할 수 있지만 OS 로그인을 사용하지 않고 2FA를 사용할 수 없습니다. OS 로그인에서 지원하는 본인 확인 유형을 포함하여 OS 로그인 및 OS 로그인 2FA에 대한 자세한 내용은 OS 로그인 정보를 참조하세요.

시작하기 전에

  • OS 로그인 2FA를 사용하려면 도메인 또는 계정에 2FA를 사용 설정합니다.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 로컬 개발 환경의 인증 설정를 참조하세요.

제한사항

OS 로그인은 다음 VM에서 지원되지 않습니다.
  • Windows Server 및 SQL Server VM
  • Fedora CoreOS VM. 이러한 이미지를 사용하여 만든 VM에 대한 인스턴스 액세스를 관리하려면 Fedora CoreOS 이그니션 시스템을 사용하세요.

OS 로그인 IAM 역할 할당

OS 로그인이 사용 설정된 VM에 연결하는 사용자에게 필요한 모든 IAM 역할을 할당합니다.

역할 필요한 사용자 부여 수준
roles/compute.osLogin 또는 roles/compute.osAdminLogin 모든 사용자

프로젝트 또는 인스턴스 수준.

사용자에게 Google Cloud 콘솔 또는 Google Cloud CLI의 SSH 액세스 권한이 필요하면 프로젝트 수준에서 이러한 역할을 부여하거나 compute.projects.get가 포함된 프로젝트 수준에서 역할을 추가로 부여해야 합니다.

roles/iam.serviceAccountUser 모든 사용자(VM에 서비스 계정이 있는 경우) 서비스 계정 수준.
roles/compute.osLoginExternalUser 연결 중인 VM과 다른 조직의 사용자

조직 수준.

이 역할은 조직 관리자가 부여해야 합니다.

OS 로그인 사용 설정

OS 로그인 메타데이터를 설정하여 단일 VM 또는 프로젝트의 모든 VM에 대해 2단계 인증으로 OS 로그인을 사용 설정할 수 있습니다.

OS 로그인 메타데이터를 설정하면 Compute Engine이 VM의 authorized_keys 파일을 삭제하고 프로젝트 또는 인스턴스 메타데이터에 저장된 SSH 키의 연결을 더 이상 허용하지 않습니다.

프로젝트의 모든 VM에 OS 로그인 사용 설정

프로젝트의 모든 VM에 OS 로그인을 사용 설정하려면 프로젝트 메타데이터에서 다음 값을 설정합니다.

  1. OS 로그인을 사용 설정합니다.
    • 키: enable-oslogin
    • 값: TRUE
  2. (선택사항) 2단계 인증을 사용 설정합니다.
    • 키: enable-oslogin-2fa
    • 값: TRUE

단일 VM에 OS 로그인 사용 설정

단일 VM에 OS 로그인을 사용 설정하려면 인스턴스 메타데이터에서 다음 값을 설정합니다.

  1. OS 로그인을 사용 설정합니다.
    • 키: enable-oslogin
    • 값: TRUE
  2. (선택사항) 2단계 인증을 사용 설정합니다.
    • 키: enable-oslogin-2fa
    • 값: TRUE

VM 생성 중에 OS 로그인 사용 설정

Google Cloud 콘솔 또는 gcloud CLI를 사용하여 VM을 만드는 동안 OS 로그인을 사용 설정합니다(선택적으로 2단계 인증 사용).

콘솔

공개 이미지에서 VM을 만들고 다음 구성을 지정하여 시작 시 OS 로그인 및 OS 로그인 2FA(선택사항)를 사용 설정하는 VM을 만듭니다.

  1. 네트워킹, 디스크, 보안, 관리, 단독 테넌시 섹션에서 관리 섹션을 펼칩니다.
  2. 액세스 관리 섹션을 펼칩니다.
  3. IAM 권한을 통해 VM 액세스 제어를 선택합니다.
  4. 선택사항: OS 로그인 2FA를 사용 설정하려면 2단계 인증 필요를 선택합니다.
  5. 만들기를 클릭하여 VM을 만들고 시작합니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 다음 gcloud compute instance create 명령어 중 하나를 실행하여 시작 시 OS 로그인 및 OS 로그인 2FA(선택사항)를 사용 설정하는 VM을 만듭니다.

    • OS 로그인만 사용 설정하려면 다음 명령어를 실행합니다.

      gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE
      
    • OS 로그인 2FA를 사용 설정하려면 다음 명령어를 실행합니다.

      gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE,enable-oslogin-2fa=TRUE
      

    다음을 바꿉니다.

    • VM_NAME: 새 VM의 이름입니다.
    • IMAGE_FAMILY: Linux OS의 이미지 계열입니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 모든 공개 이미지 계열은 운영체제 세부정보를 참조하세요.
    • IMAGE_PROJECT: 이미지 계열이 포함된 이미지 프로젝트입니다. 각 OS에는 자체 이미지 프로젝트가 있습니다. 모든 공개 이미지 프로젝트는 운영체제 세부정보를 참조하세요.

Terraform

다음 옵션 중 하나를 사용하여 메타데이터 값을 프로젝트나 VM에 적용할 수 있습니다.

  • 옵션 1:프로젝트의 모든 VM에 적용되도록 프로젝트 수준 메타데이터에 enable-oslogin를 설정합니다.

    google_compute_project_metadata Terraform 리소스를 사용하고 oslogin=TRUE인 경우 메타데이터 값을 설정합니다.

    resource "google_compute_project_metadata" "default" {
      metadata = {
        enable-oslogin = "TRUE"
      }
    }

    또는 OS 로그인을 중지하려면 enable-osloginFALSE로 설정하면 됩니다.

  • 옵션 2: 새 VM 또는 기존 VM의 메타데이터에 enable-oslogin을 설정합니다.

    google_compute_instance Terraform 리소스를 사용하고 oslogin=TRUE를 설정합니다. oslogin_instance_name을 VM 이름으로 바꿉니다.

    resource "google_compute_instance" "oslogin_instance" {
      name         = "oslogin-instance-name"
      machine_type = "f1-micro"
      zone         = "us-central1-c"
      metadata = {
        enable-oslogin : "TRUE"
      }
      boot_disk {
        initialize_params {
          image = "debian-cloud/debian-11"
        }
      }
      network_interface {
        # A default network is created for all GCP projects
        network = "default"
        access_config {
        }
      }
    }

    또는 enable-osloginFALSE로 설정하여 OS 로그인이 적용되지 않도록 VM을 제외할 수도 있습니다.

OS 로그인이 사용 설정된 VM에 연결

Linux VM에 연결에 설명된 방법을 사용하여 OS 로그인이 사용 설정된 VM에 연결합니다.

OS 로그인이 사용 설정된 VM에 연결하면 Compute Engine에서 조직 관리자가 자동으로 구성한 사용자 이름을 사용합니다. 조직 관리자가 자동으로 사용자 이름을 구성하지 않았으면 Compute Engine에서 USERNAME_DOMAIN_SUFFIX 형식의 사용자 이름을 생성합니다. 사용자 이름에 대한 자세한 내용은 OS 로그인 작동 방법을 참조하세요.

OS 로그인 2FA가 사용 설정된 VM에 연결하면 선택한 2단계 인증 방법 또는 본인 확인 유형에 따라 메시지가 표시됩니다. 휴대전화 안내 메시지를 사용하는 경우 휴대전화나 태블릿의 안내 메시지를 수락하여 계속 진행합니다. 다른 방법의 경우 보안 코드 또는 일회용 비밀번호를 입력합니다.

OS 로그인 문제 해결

OS 로그인 오류를 진단 및 해결하는 방법은 OS 로그인 문제 해결을 참조하세요.

다음 단계