Neste documento, descrevemos como configurar o Login do SO e o Login do SO com autenticação de dois fatores (2FA, na sigla em inglês).
Com o Login do SO, você controla o acesso a instâncias de máquina virtual (VM) com base nas permissões do IAM. É possível usar o Login do SO com ou sem autenticação de dois fatores, mas não é possível usar esse recurso sem usar o Login do SO. Para saber mais sobre o Login do SO e a autenticação de dois fatores do Login do SO, incluindo quais tipos de desafio são compatíveis, consulte Sobre o Login do SO.
Antes de começar
- Se você quiser usar a autenticação de dois fatores do Login do SO, ative o recurso no domínio ou na conta:
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Defina uma região e uma zona padrão.
Terraform
Para usar as amostras de Terraform nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.
-
Limitações
As VMs a seguir não são compatíveis com o Login do SO:- VMs do SQL Server e do Windows Server
- VMs do Fedora CoreOS. Para gerenciar o acesso das instâncias às VMs criadas usando essas imagens, use o sistema de ignição do Fedora CoreOS.
Atribuir papéis do IAM para o Login do SO
Atribua todos os papéis do IAM necessários aos usuários que se conectam a VMs com o Login do SO ativado.
Papel | Usuários obrigatórios | Nível da concessão |
---|---|---|
roles/compute.osLogin ou roles/compute.osAdminLogin |
Todos os usuários |
Se um usuário precisar de acesso SSH pelo console do Google Cloud ou pela Google Cloud CLI, conceda esses papéis para envolvidos no projeto ou, de forma complementar, um papel para envolvidos no projeto que contenha a permissão |
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 a que estão se conectando | Na organização. Esse papel precisa ser concedido por um administrador da organização. |
Ativar a OS Login API
É possível ativar o Login do SO ou o Login do SO com a autenticação de dois fatores para uma única VM ou todas as VMs de um projeto. Basta definir os metadados do Login do SO.
Quando você define os metadados do Login do SO, o Compute Engine exclui os arquivos authorized_keys
da VM e não aceita mais conexões das chaves SSH armazenadas nos metadados do projeto ou da instância.
Ativar o Login do SO para todas as VMs de um projeto
Para ativar o Login do SO em todas as VMs de um projeto, defina os seguintes valores nos metadados do projeto:
- Ative o Login do SO:
- Chave:
enable-oslogin
- Valor:
TRUE
- Chave:
- (Opcional) Ative a autenticação de dois fatores:
- Chave:
enable-oslogin-2fa
- Valor:
TRUE
- Chave:
Ativar o Login do SO para uma única VM
Para ativar o Login do SO em uma única VM, defina os seguintes valores nos metadados da instância:
- Ative o Login do SO:
- Chave:
enable-oslogin
- Valor:
TRUE
- Chave:
- (Opcional) Ative a autenticação de dois fatores:
- Chave:
enable-oslogin-2fa
- Valor:
TRUE
- Chave:
Ativar o Login do SO durante a criação da VM
Ative o Login do SO (opcionalmente, com a verificação em duas etapas) ao criar uma VM usando o console do Google Cloud ou a CLI gcloud.
Console
Crie uma VM que ativa o Login do SO e a autenticação de dois fatores do Login do SO na inicialização (opcional) criando uma VM a partir de uma imagem pública e especificando as seguintes configurações:
- Na seção Rede, discos, segurança, gerenciamento, locatário único, expanda a seção Segurança.
- Expanda a seção Gerenciar acesso.
- Selecione Controlar o acesso à VM pelas permissões do IAM.
- Opcional: se você quiser ativar a autenticação de dois fatores do Login do SO, selecione Exigir verificação em duas etapas.
- Clique em Criar para criar e iniciar a VM.
gcloud
-
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Crie uma VM que ativa o Login do SO e a autenticação de dois fatores do Login do SO na inicialização (opcional) executando um dos seguintes comandos
gcloud compute instance create
:Para ativar apenas o Login do SO, execute este comando:
gcloud compute instances create VM_NAME \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata enable-oslogin=TRUE
Para ativar a autenticação de dois fatores do Login do SO, execute este comando:
gcloud compute instances create VM_NAME \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --metadata enable-oslogin=TRUE,enable-oslogin-2fa=TRUE
Substitua:
VM_NAME
: o nome da nova VM.IMAGE_FAMILY
: a família de imagens de um SO Linux. Isso cria a VM a partir da imagem do SO mais recente e não obsoleta. 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 SO tem o próprio projeto de imagem. Para todos os projetos de imagem pública, consulte Detalhes do sistema operacional.
Terraform
É possível aplicar os valores de metadados a projetos ou VMs usando uma das seguintes opções:
Opção 1: defina
enable-oslogin
nos metadados de todo o projeto para que isso se aplique a todas as VMs nele.Use o recurso
google_compute_project_metadata
do Terraform e defina um valor de metadados em queoslogin=TRUE
:Se preferir, defina
enable-oslogin
comoFALSE
para desativar o login do SO.Opção 2: defina
enable-oslogin
nos metadados de uma VM nova ou atual.Use o recurso
google_compute_instance
do Terraform e definaoslogin=TRUE
. Substituaoslogin_instance_name
pelo nome da VM.Se preferir, defina
enable-oslogin
comoFALSE
para impedir que a VM use o Login do SO.
Conectar-se a VMs com o Login do SO ativado
Conecte-se a VMs que têm o login do SO ativado usando os métodos descritos em Conectar-se a VMs do Linux.
Quando você se conecta a VMs com o 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 organização não tiver configurado um nome de usuário, o Compute Engine gerará um nome de usuário no formato USERNAME_DOMAIN_SUFFIX
.
Para mais informações sobre nomes de usuários, consulte Como funciona o Login do SO.
Ao se conectar a VMs com a autenticação de dois fatores do Login do SO ativada, você também vê 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 no smartphone, aceite as mensagens no smartphone ou tablet para continuar. Para outros métodos, insira o código de segurança ou a senha única.
Solução de problemas do Login do SO
Para encontrar métodos de diagnóstico e resolução de erros do Login do SO, consulte Solução de problemas do Login do SO.
A seguir
- Saiba como as conexões SSH com VMs do Linux funcionam no Compute Engine.
- Saiba como usar o SSH com chaves de segurança para restringir ainda mais o acesso às VMs.