Configure o Início de sessão do SO


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

O Início de sessão do SO permite-lhe controlar o acesso a instâncias de máquinas virtuais (VMs) com base em autorizações de acesso à IAM. Pode usar o Início de sessão do SO com ou sem a 2FA, mas não pode usar a 2FA sem usar o Início de sessão do SO. Para saber mais sobre o Início de sessão do SO e a A2F do Início de sessão do SO, incluindo os tipos de desafios que o Início de sessão do SO suporta, consulte o artigo Acerca do Início de sessão do SO.

Antes de começar

Limitações

O Início de sessão do SO não é suportado nas seguintes VMs:

Atribua funções IAM do Início de sessão do SO

Atribua todas as funções de IAM necessárias aos utilizadores que se ligam a VMs com o início de sessão do SO ativado.

Função Utilizadores necessários Nível de concessão
roles/compute.osLogin ou roles/compute.osAdminLogin Todos os utilizadores

No projeto ou na instância.

Se um utilizador precisar de acesso SSH a partir da Google Cloud consola ou da Google Cloud CLI, tem de conceder estas funções ao nível do projeto ou, em alternativa, conceder uma função ao nível do projeto que contenha a autorização compute.projects.get.

roles/iam.serviceAccountUser Todos os utilizadores, se a VM tiver uma conta de serviço Na conta de serviço.
roles/compute.osLoginExternalUser Utilizadores de uma organização diferente da VM à qual estão a estabelecer ligação

Na organização.

Esta função tem de ser concedida por um administrador da organização.

Ativar OS Login

Pode ativar o Início de sessão do SO ou o Início de sessão do SO com autenticação de dois fatores para uma única VM ou todas as VMs num projeto, definindo metadados do Início de sessão do SO.

Quando define metadados do Início de sessão do SO, o Compute Engine elimina os ficheiros authorized_keys da VM e deixa de aceitar ligações de chaves SSH armazenadas nos metadados do projeto ou da instância.

Ative o início de sessão no SO para todas as VMs num projeto

Para ativar o início de sessão do SO para todas as VMs num projeto, defina os seguintes valores nos metadados do projeto:

  1. Ative o Início de sessão do SO:
    • Tecla: enable-oslogin
    • Valor: TRUE
  2. (Opcional) Ative a autenticação de dois fatores:
    • Tecla: enable-oslogin-2fa
    • Valor: TRUE

Ative o Início de sessão do SO para uma única VM

Para ativar o início de sessão do SO para uma única VM, defina os seguintes valores nos metadados da instância:

  1. Ative o Início de sessão do SO:
    • Tecla: enable-oslogin
    • Valor: TRUE
  2. (Opcional) Ative a autenticação de dois fatores:
    • Tecla: enable-oslogin-2fa
    • Valor: TRUE

Ative o Início de sessão do SO durante a criação de VMs

Ative o início de sessão no SO (opcionalmente, com a validação em dois passos) ao criar uma VM através da consola ou da CLI gcloud. Google Cloud

Consola

Crie uma VM que ative o Início de sessão do SO e (opcionalmente) a A2F do Início de sessão do SO no arranque: criando uma VM a partir de uma imagem pública e especificando as seguintes configurações:

  1. Expanda a secção Opções avançadas.
  2. Expanda a secção Segurança.
  3. Expanda a secção Gerir acesso.
  4. Selecione Controlar o acesso à VM através das autorizações do IAM.
  5. Opcional: se quiser ativar a A2F do Início de sessão do SO, selecione Exigir validação em dois passos.
  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 ative o Início de sessão do SO e (opcionalmente) a A2F do Início de sessão do SO no arranque executando um dos seguintes comandos gcloud compute instance create:

    • Para ativar apenas o início de sessão no SO, execute o seguinte comando:

      gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE
      
    • Para ativar a A2F de início de sessão no 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 SO Linux. Isto cria a VM a partir da imagem do SO não descontinuada mais recente. Para todas as famílias de imagens públicas, consulte os detalhes do sistema operativo.
    • IMAGE_PROJECT: o projeto de imagem que contém a família de imagens. Cada SO tem o seu próprio projeto de imagem. Para todos os projetos de imagens públicas, consulte os detalhes do sistema operativo.
  3. Terraform

    Pode aplicar os valores de metadados aos seus projetos ou VMs através de uma das seguintes opções:

    • Opção 1: defina enable-oslogin nos metadados ao nível do projeto para que se aplique a todas as VMs no seu projeto.

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

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

      Em alternativa, pode definir enable-oslogin como FALSE para desativar o início de sessão no SO.

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

      Use o recurso do Terraform google_compute_instance 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 {
          }
        }
      }

      Em alternativa, pode definir enable-oslogin como FALSE para excluir a sua VM da utilização do Início de sessão do SO.

Ligue-se a VMs com o Início de sessão do SO ativado

Estabeleça ligação a VMs com o Início de sessão do SO ativado através dos métodos descritos no artigo Estabeleça ligação a VMs do Linux.

Quando se liga a VMs com o Início de sessão do SO ativado, o Compute Engine usa o nome de utilizador que o administrador da sua organização configurou para si. Se o administrador da sua organização não tiver configurado um nome de utilizador para si, o Compute Engine gera um nome de utilizador no formato USERNAME_DOMAIN_SUFFIX. Para mais informações sobre nomes de utilizador, consulte o artigo Como funciona o Início de sessão do SO.

Quando se liga a VMs com a V2P do Início de sessão do SO ativada, também vê uma mensagem baseada no método de validação em dois passos ou no tipo de desafio selecionado. Para o método de pedido por telemóvel, aceite os pedidos no telemóvel ou tablet para continuar. Para outros métodos, introduza o seu código de segurança ou palavra-passe de utilização única.

Resolva problemas com o Início de sessão do SO

Para encontrar métodos de diagnóstico e resolução de erros do Início de sessão do SO, consulte o artigo Resolução de problemas do Início de sessão do SO.

O que se segue?