Configurar login do sistema operacional


Este documento descreve como configurar o Login do SO e o Login do SO com autenticação de dois fatores (2FA).

O Login do SO permite controlar o acesso a instâncias de máquinas virtuais (VM) com base em permissões do IAM. Você pode usar o Login do SO com ou sem 2FA, mas não pode usar o 2FA sem usar o Login do SO. Para saber mais sobre o login do sistema operacional e o login do sistema operacional 2FA, incluindo quais tipos de desafio o login do sistema operacional suporta, consulte Sobre o login do sistema operacional .

Antes de começar

Limitações

O Login do SO não é compatível com as seguintes VMs:
  • VMs do Windows Server e do SQL Server
  • VMs do Fedora CoreOS. Para gerenciar o acesso de instâncias a VMs criadas usando essas imagens, use o sistema de ignição Fedora CoreOS

Atribuir funções do IAM de login do SO

Atribua todas as funções do IAM necessárias aos usuários que se conectam a VMs com login do SO habilitado.

Papel Usuários obrigatórios Nível de concessão
roles/compute.osLogin ou roles/compute.osAdminLogin Todos os usuários

No projeto ou instância .

Se um usuário precisar de acesso SSH do console do Google Cloud ou da CLI do Google Cloud, você deverá conceder esses papéis no nível do projeto ou, adicionalmente, conceder um papel no nível do projeto que contenha a permissão compute.projects.get .

roles/iam.serviceAccountUser Todos os usuários, se a VM tiver uma conta de serviço Na conta de serviço .
roles/compute.osLoginExternalUser Usuários de uma organização diferente da VM à qual estão se conectando

Na Organização .

Essa função deve ser concedida por um administrador da organização.

Habilitar login do sistema operacional

Você pode habilitar o Login do SO ou o Login do SO com autenticação de dois fatores para uma única VM ou para todas as VMs em um projeto, definindo os metadados do Login do SO.

Quando você define os metadados de login do SO, o Compute Engine exclui os arquivos authorized_keys da VM e não aceita mais conexões de chaves SSH armazenadas nos metadados do projeto ou da instância.

Habilitar o login do sistema operacional para todas as VMs em um projeto

Para ativar o Login do SO para todas as VMs em um projeto, defina os seguintes valores nos metadados do projeto :

  1. Habilite o login do sistema operacional:
    • Chave: enable-oslogin
    • Valor: TRUE
  2. (Opcional) Habilite a autenticação de dois fatores:
    • Chave: enable-oslogin-2fa
    • Valor: TRUE

Habilitar login do sistema operacional para uma única VM

Para ativar o login do sistema operacional para uma única VM, defina os seguintes valores nos metadados da instância :

  1. Habilite o login do sistema operacional:
    • Chave: enable-oslogin
    • Valor: TRUE
  2. (Opcional) Habilite a autenticação de dois fatores:
    • Chave: enable-oslogin-2fa
    • Valor: TRUE

Habilitar login do sistema operacional durante a criação da VM

Ative o login do SO (opcionalmente, com verificação em duas etapas) ao criar uma VM usando o console do Google Cloud ou a CLI gcloud.

Console

Crie uma VM que habilite o Login do SO e (opcionalmente) o Login do SO 2FA na inicialização criando uma VM a partir de uma imagem pública e especificando as seguintes configurações:

  1. Expanda a seção Opções avançadas .
  2. Expanda a seção Segurança .
  3. Expanda a seção Gerenciar acesso .
  4. Selecione Controlar o acesso à VM por meio de permissões do IAM .
  5. Opcional: se você quiser ativar o Login 2FA do SO, selecione Exigir verificação em duas etapas .
  6. Clique em Criar para criar e iniciar a VM.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Crie uma VM que habilite o Login do SO e (opcionalmente) o Login do SO 2FA na inicialização executando um dos seguintes comandos gcloud compute instance create :

    • Para ativar apenas o login do sistema operacional, execute o seguinte comando:

      gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE
      
    • Para ativar o Login 2FA do SO, execute o seguinte comando:

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

    Substitua o seguinte:

    • VM_NAME : o nome da nova VM.
    • IMAGE_FAMILY : a família de imagens de um sistema operacional Linux. Isso cria a VM a partir da imagem de sistema operacional não obsoleta mais recente. Para todas as famílias de imagens públicas, consulte Detalhes do sistema operacional .
    • IMAGE_PROJECT : o projeto de imagem que contém a família de imagens. Cada sistema operacional possui seu próprio projeto de imagem. Para todos os projetos de imagens públicas, consulte Detalhes do sistema operacional .

Terraforma

Você pode aplicar os valores de metadados aos seus projetos ou VMs usando uma das seguintes opções:

  • Opção 1: defina enable-oslogin nos metadados de todo o projeto para que se apliquem a todas as VMs do seu projeto.

    Use o recurso google_compute_project_metadata Terraform e defina um valor de metadados onde oslogin=TRUE :

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

    Alternativamente, você pode definir enable-oslogin como FALSE para desabilitar o Login do SO.

  • Opção 2: defina enable-oslogin nos metadados de uma VM nova ou existente.

    Use o recurso google_compute_instance Terraform e defina oslogin=TRUE . Substitua oslogin_instance_name pelo nome da sua 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 {
        }
      }
    }

    Como alternativa, você pode definir enable-oslogin como FALSE para impedir que sua VM use o Login do SO.

Conectar-se a VMs que tenham o Login do SO habilitado

Conecte-se a VMs que tenham o Login do SO habilitado usando os métodos descritos em Conectar-se a VMs Linux .

Quando você se conecta a VMs com login do SO ativado, o Compute Engine usa o nome de usuário que o administrador da organização configurou para você . Se o administrador da sua organização não tiver configurado um nome de usuário para você, o Compute Engine gerará um nome de usuário no formato USERNAME_DOMAIN_SUFFIX . Para obter mais informações sobre nomes de usuário, consulte Como funciona o login do sistema operacional .

Ao se conectar a VMs que têm o login do sistema operacional 2FA habilitado, você também verá uma mensagem com base no método de verificação em duas etapas ou tipo de desafio selecionado. Para o método de solicitação por telefone, aceite as solicitações em seu telefone ou tablet para continuar. Para outros métodos, insira seu código de segurança ou senha de uso único.

Solucionar problemas de login do sistema operacional

Para encontrar métodos para diagnosticar e resolver erros de login do sistema operacional, consulte Solução de problemas de login do sistema operacional .

O que vem a seguir