Este documento descreve como usar o Login do SO para gerenciar o acesso a instâncias de VM em toda a organização.
Neste tópico, abordamos as seguintes tarefas:
- Ativar o Login do SO em uma organização usando uma política dela: use uma política da organização para garantir que todas as instâncias de VM da organização tenham o Login do SO ativado.
- Conceder acesso à instância para usuários de fora da organização: permita que contas de usuário de fora da sua organização usem o SSH para conexão com as instâncias.
- Gerenciar a API Login do SO: permita ou negue o acesso de usuários para usar a API Login do SO. Também ative ou desative os recursos da API Login do SO.
- Fazer auditoria de eventos de login do SO: rastreie eventos e atividades relacionados ao login do SO, como adição, exclusão ou atualização de uma chave SSH ou exclusão de informações POSIX.
- Modificar contas de usuário usando a API Directory: atualize as propriedades do usuário, como nome de usuário e informações da conta POSIX, por meio da API Directory.
- Usar grupos do Linux com o Login do SO (descontinuado): gerencie as permissões de usuário nas VMs usando grupos do Linux com o Login do SO.
- Usar o Login do SO com a federação de identidade de colaboradores (pré-lançamento): conecte-se a VMs que tenham o Login do SO ativado quando a organização usar um provedor de identidade externo (IdP).
Antes de começar
-
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 selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
enable-oslogin=true
está incluído nos metadados do projeto para todos os novos projetos.- As solicitações que definem
enable-oslogin
comofalse
nos metadados da instância ou do projeto são rejeitadas para VMs e projetos novos e atuais. - Cloud Data Fusion versões 6.1.4 e anteriores
- Cloud Composer 1
- Clusters públicos do Google Kubernetes Engine (GKE) que executam versões anteriores à 1.23.5
- Clusters particulares do GKE que executam versões do pool de nós anteriores à 1.20.5
- Dataproc sem servidor
- 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.
- No Console do Google Cloud, acesse a página Políticas da organização.
- Na lista de políticas, clique em Requer Login do SO para ver as restrições desse recurso.
- Clique em Editar para editar suas restrições de Login do SO atuais.
- Na página Editar, selecione Personalizar.
- Para ativar a aplicação dessa restrição, selecione Ativado.
- Clique em Salvar para aplicar as configurações da restrição.
Encontre o ID da sua organização
gcloud organizations list
Defina a restrição na sua organização. Substitua
organization-id
pelo ID da organização.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
folder-id
: o ID da pasta.project-id
: o ID do projeto.- No console do Google Cloud, acesse a página IAM e administrador.
- Clique no menu suspenso Selecionar um projeto. Na caixa de diálogo Select a resource
que aparece, selecione sua organização:
- Clique no menu suspenso para ver todas as organizações.
- Selecione sua organização no menu suspenso.
- Clique em Conceder acesso para adicionar um novo papel a um usuário.
- No campo Novos participantes, adicione o endereço de e-mail do usuário para quem você quer configurar o acesso à instância.
- No menu suspenso Papel, selecione o papel Usuário externo do Login do SO do Compute.
- Clique em Salvar.
- Conceda os outros papéis de acesso à instância do Login do SO ao usuário no nível do projeto ou da organização, se ainda não tiver feito isso.
- Escolher se quer incluir o sufixo de domínio nos nomes de usuário gerados pela API Login do SO. Por exemplo, no domínio
example.com
, o usuáriouser@example.com
terá o nome de usuáriouser
se a configuração para incluir o sufixo de domínio não estiver marcada. - Decidir se os membros da sua organização podem gerenciar chaves SSH usando a API Login do SO.
- Restringir ou permitir o acesso à VM aos usuários que não fazem parte da sua organização.
- Modificar as configurações de login da instância
- Tornar o usuário um administrador
- Modificar as propriedades do usuário, como nome da conta e e-mail
- Adicionar e remover chaves SSH de um usuário
- Modificar informações da conta POSIX
- Alterar o nome de usuário com que ele se conecta à instância
USER_KEY
: endereço de e-mail principal do usuário, endereço de e-mail de alias ou ID exclusivo do usuário.USERNAME
: o nome de usuário que o Compute Engine adiciona à VM para o usuário. Esse valor precisa ser exclusivo na sua organização e não pode terminar com um til ("~") ou conter um ponto (".").UID
: ID do usuário na VM dele. Essa propriedade precisa ser um valor entre1001
e60000
ou entre65535
e2147483647
. Para acessar um Container-Optimized OS, oUID
precisa ter um valor entre65536
e214748646
. OUID
precisa ser exclusivo na sua organização;GID
: o ID do grupo na VM a que o usuário pertence.USER_HOME_PATH
: (opcional) o diretório inicial na VM do usuário. Por exemplo,/home/example_username
.SHELL_PATH
: (opcional) o caminho para o shell padrão do usuário depois que ele se conecta à instância. Por exemplo,/bin/bash
ou/bin/sh
.KEY_VALUE
: o valor da chave SSH pública.EXPIRATION_TIME
: (opcional) o prazo de validade da chave em microssegundos desde a época (1 segundo = 106 microssegundos).- Se você não souber o ID do recurso da sua organização, peça o ID do recurso da sua organização.
- Listar todos os grupos POSIX na sua organização. Anote o endereço de e-mail de cada grupo.
- Para cada grupo POSIX na sua organização, faça o seguinte:
- Recuperar as informações do grupo. Observe o
posixGroups.gid
. - Exclua o grupo POSIX.
- Recuperar as informações do grupo. Observe o
- Opcionalmente, verifique se todos os grupos foram excluídos listando todos os grupos POSIX na sua organização. Se todos os grupos tiverem sido excluídos, a resposta vai estar vazia.
- Crie um pool de identidades de colaboradores.
- Configure mapeamentos de atributos
google.posix_username
. Configure a VM para que use o Login do SO com a federação de identidade de colaboradores conforme a seguir:
Para confirmar se a VM tem o OpenSSH 7.4 ou posterior instalado, execute o seguinte comando na VM:
ssh -V
A VM a que você está se conectando precisa ter o OpenSSH versão 7.4 ou mais recente para usar a federação de identidade da força de trabalho com o Login do SO.
Os usuários em organizações que usam a federação de identidade de colaboradores não podem acessar as portas seriais da VM.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
-
In the Google Cloud console, 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.
Execute este comando:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Substitua:
PROJECT_ID
: o ID do projeto que contém a VM.ZONE
: o nome da zona em que a VM está localizada.VM_NAME
: o nome da VM
Se você tiver definido as propriedades padrão para a Google Cloud CLI, poderá omitir as sinalizações
--project
e--zone
desse comando. Por exemplo:gcloud compute ssh VM_NAME
-
Instale o IAP Desktop na sua estação de trabalho, se ainda não tiver feito isso.
-
Abra o IAP Desktop. A janela Adicionar projetos será aberta.
-
Quando solicitado, faça login com a federação de identidade de colaboradores.
-
Na janela Adicionar projetos, insira o ID ou o nome do projeto que contém as VMs a que você quer se conectar.
-
Na janela Project Explorer, clique com o botão direito do mouse no nome da VM novamente e selecione Conectar para se conectar à VM.
- Crie uma chave SSH caso ainda não tenha uma.
Assine sua chave SSH pública usando o método
users.projects.locations.signSshPublicKey
:POST https://oslogin.googleapis.com/v1beta/users/USER/projects/PROJECT_ID/locations/LOCATION:signSshPublicKey { "ssh_public_key": "PUBLIC_KEY" }
Substitua:
USER
: uma identidade exclusiva em um pool de colaboradores, no seguinte formato:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Substitua:
POOL_ID
: o pool de colaboradores do qual o usuário faz parte.SUBJECT_ATTRIBUTE_VALUE
: o valor do mapeamento de atributosgoogle.posix_username
do usuário.
PROJECT_ID
: o ID do projeto que contém a VM a que você quer se conectar.LOCATION
: a zona onde está localizada a VM a que você quer se conectar.PUBLIC_KEY
: o conteúdo do arquivo da sua chave pública SSH.
Copie o certificado SSH da saída do método
user.signSshPublicKey
e salve o conteúdo em um novo arquivo.Execute o comando a seguir para definir permissões no arquivo do certificado SSH:
sudo chmod 600 FILE_NAME
Substitua
FILE_NAME
pelo nome do arquivo.Conecte-se à VM usando o seguinte comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Substitua:
PATH_TO_PRIVATE_KEY
: o caminho para o arquivo da sua chave SSH particular.PATH_TO_SSH_CERTIFICATE
: o caminho para o arquivo do seu certificado SSH.USERNAME
: o valor do mapeamento de atributosgoogle.posix_username
do usuário.EXTERNAL_IP
: o endereço IP externo da VM.
- Saiba como configurar o login do SO.
- Saiba como configurar o login do SO com a verificação em duas etapas.
- Leia uma visão geral do recurso de Login do SO.
- Resolva problemas do Login do SO.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Política da organização de login do SO
Configure uma restrição de Login do SO na organização para garantir que todos os novos projetos e as instâncias de VM criadas neles tenham esse recurso ativado.
Quando essa restrição é configurada, as seguintes condições são aplicadas:
Limitações
O login do SO não é compatível com os seguintes produtos, recursos e VMs:Soluções alternativas para o Cloud Data Fusion, Cloud Composer e GKE
Para usar o Login do SO em organizações que usam o Cloud Data Fusion, o Cloud Composer e o GKE, ative a restrição de login do SO no nível da organização e desative seletivamente a restrição em projetos ou pastas dos projetos afetados.
Para mais informações sobre como editar políticas da organização, consulte Como criar e editar políticas.
Ativar a política da organização
Para ativar a política de Login do SO, é possível definir a restrição desse recurso em projetos e pastas específicos usando a CLI do Google Cloud. Também é possível definir a restrição de Login do SO em toda a organização usando o Console do Google Cloud ou a CLI do Google Cloud.
Console
Para definir a política da organização de Login do SO no console, conclua as seguintes etapas:
gcloud
Para definir a política da organização de Login do SO, use o comando
gcloud beta resource-manager org-policies enable-enforce
.É possível também aplicar a política da organização de Login do SO a uma pasta ou um projeto com as sinalizações
--folder
ou--project
e o ID da pasta e do projeto, respectivamente.Para pastas, execute o seguinte comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --folder=folder-id
Para projetos, execute o seguinte comando:
gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --project=project-id
Substitua:
Conceda acesso à instância a usuários fora da sua organização.
Por padrão, os usuários de fora da organização não podem definir chaves SSH para instâncias da organização nem receber acesso a elas. Em algumas situações, talvez seja necessário conceder acesso a instâncias para usuários que façam parte de uma organização diferente ou que tenham uma conta
gmail.com
do Google de uso doméstico.O papel do IAM
roles/compute.osLoginExternalUser
permite que contas do Google externas interajam com os outros papéis do Login do SO para que configurem informações da conta POSIX.Para conceder
roles/compute.osLoginExternalUser
e outros papéis com acesso a instâncias de Login do SO necessárias para usuários de fora da sua organização, conclua as seguintes etapas:Agora o usuário pode conectar-se a instâncias do projeto que tenham o Login do SO ativado.
Gerenciar a API OS Login
No nível da organização, é possível restringir o acesso à API OS Login ao configurar os controles de administrador do Google Workspace. Para fazer isso ou visualizar as opções de configuração, consulte Controlar quem usa o Google Cloud na sua organização. Como um administrador do Google Workspace, também é possível ativar ou desativar determinados recursos da API OS Login. Isso inclui as seguintes opções:
Para mais informações sobre como ativar ou desativar as configurações da API Login do SO, consulte Escolher configurações para o Google Cloud Platform.
Auditar eventos de login do SO
Como um administrador do Google Workspace, é possível usar o SDK Admin do Google Workspace para fazer a auditoria das ações realizadas com a API OS Login. Ao analisar esses eventos, é possível rastrear quando um usuário adiciona, exclui ou atualiza uma chave SSH ou exclui informações da conta POSIX.
É possível recuperar os eventos de atividade de auditoria da API OS Login usando o SDK Admin do Google Workspace, basta chamar
Activities.list()
comapplicationName=gcp
. Para mais informações, consulte Eventos de atividade do Google Cloud na documentação das APIs de relatórios relacionadas ao SDK Admin do Google Workspace.Modifique as contas de usuários usando a API Directory.
O Login do SO usa as configurações de usuário do Cloud Identity ou do Google Workspace para se conectar a uma instância. Se você é administrador de uma organização, poderá usar a API Directory para concluir as seguintes tarefas nas contas de usuário do Google Workspace ou do Cloud Identity:
Os exemplos a seguir mostram como modificar ou remover contas de usuário usando a API Directory. Para mais informações sobre as propriedades da conta que podem ser editadas, consulte a referência da API Directory.
Modificar propriedades da conta
Para modificar as informações da conta POSIX de um usuário ou gerenciar as chaves SSH do usuário, emita uma solicitação
PUT
para o métododirectory.users.update
e especifique uma ou mais propriedades para alterar na conta de usuário.Se você modificar as propriedades
posixAccounts
de um usuário, precisará especificar os valores atuais ou novosusername
,uid
egid
na solicitação.Se você modificar as propriedades
sshPublicKeys
do usuário, precisará especificar o valorkey
na solicitação.Veja a seguir um exemplo de solicitação
PUT
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": [ { "username": "USERNAME", "uid": "UID", "gid": "GID", "homeDirectory": "USER_HOME_PATH", "shell": "SHELL_PATH" } ], "sshPublicKeys": [ { "key": "KEY_VALUE", "expirationTimeUsec": EXPIRATION_TIME } ], }
Substitua:
Remover as propriedades da conta
Para limpar os dados
posixAccounts
esshPublicKeys
de um usuário, emita uma solicitaçãoPUT
para o métododirectory.users.update
, configurando os camposposixAccounts
esshPublicKeys
comonull
:PUT https://admin.googleapis.com/admin/directory/v1/users/USER_KEY { "posixAccounts": null, "sshPublicKeys": null }
Substitua
USER_KEY
pelo endereço de e-mail principal do usuário, pelo endereço de e-mail do alias ou pelo ID exclusivo do usuário.Usar grupos do Linux com o Login do SO (descontinuado)
Os administradores da organização podem usar a API Cloud Identity Groups para configurar grupos complementares do Linux para usuários do Login do SO, criando e gerenciando grupos POSIX. O Login do SO vincula grupos POSIX a grupos Linux complementares nas VMs da sua organização para que você possa gerenciar as permissões que os usuários têm nas VMs.
Gerenciar a associação de usuários em grupos do Linux
Para criar um grupo POSIX, consulte Como criar e atualizar grupos POSIX.
Para adicionar usuários a um grupo, consulte Adicionar ou convidar usuários para um grupo.
Elas são atualizadas em até 10 minutos. As alterações em grupo são refletidas em todas as VMs recém-criadas. As atualizações do grupo POSIX podem levar até seis horas para serem propagadas para todas as VMs em execução. Os usuários talvez precisem sair ou usar o comando
newgrp
para observar as mudanças no grupo.Excluir configurações de grupos POSIX
O suporte ao grupo POSIX do Login do SO foi descontinuado. Recomendamos que você exclua as configurações dos grupos POSIX do Login do SO.
Você precisa ser um administrador da organização para excluir as configurações do grupo POSIX do Login do SO.
Limites de taxa para grupos do Linux com Login do SO
Grupos do Linux com Login do SO usam cota
oslogin.googleapis.com/metadata_server_groups_requests
. Por padrão, o limite de cota é de 60 solicitações/minuto por projeto para uma determinada região.Se você precisar de uma limitação de taxa mais alta, solicite uma cota maior no Console do Google Cloud da página "Cotas".
Usar a federação de identidade de colaboradores com o Login do SO
As organizações que usam a federação de identidade de colaboradores podem usar o Login do SO para gerenciar o acesso às VMs. Quando a federação de identidade de colaboradores está ativada em uma organização, o Login do SO usa a autenticação com base no certificado no lugar daquela com base em chave para verificar as identidades dos usuários.
Antes de começar
Limitações
Conectar-se a VMs que usam o Login do SO e a federação de identidade de colaboradores
Conecte-se a VMs que usam o Login do SO com a federação de identidade de colaboradores usando o console do Google Cloud, a gcloud CLI ou outros clientes SSH.
Console
Quando você se conecta a VMs que usam o Login do SO com a federação de identidade de colaboradores via SSH no navegador, o Compute Engine configura o certificado SSH em seu nome quando você tenta se conectar.
Para se conectar a VMs, faça isto:
gcloud
Quando você se conecta a VMs que usam o Login do SO com a federação de identidade de colaboradores via gcloud CLI, o Compute Engine configura o certificado SSH em seu nome quando você tenta se conectar.
Conecte-se a uma VM usando SSH executando o comando
gcloud beta compute ssh
:IAP Desktop
Quando você se conecta a VMs que usam o Login do SO com a federação de identidade de colaboradores via Desktop IAP, o Compute Engine configura o certificado SSH em seu nome quando você tenta se conectar.
Para se conectar a uma VM usando o IAP Desktop, faça o seguinte:
Cliente SSH
Para se conectar a uma VM que usa o Login do SO com a federação de identidade de colaboradores via cliente SSH, faça isto:
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-