Este documento descreve como pode usar o Início de sessão do SO para gerir o acesso a instâncias de VMs na sua organização.
Este tópico aborda as seguintes tarefas:
- Ative o Início de sessão do SO para uma organização através de uma política da organização: Use uma política da organização para garantir que todas as novas instâncias de VM na sua organização têm o Início de sessão do SO ativado.
- Conceda acesso a instâncias a utilizadores fora da sua organização: permita que as contas de utilizador fora da sua organização usem o SSH para se ligarem às suas instâncias.
- Gerir a API de Início de sessão do SO: permitir ou negar o acesso dos utilizadores à API de Início de sessão do SO. Também pode ativar ou desativar funcionalidades da API de Início de sessão do SO.
- Audite eventos de Início de sessão do SO: acompanhe eventos e atividades relacionados com o Início de sessão do SO, como adicionar, eliminar ou atualizar uma chave SSH, ou eliminar informações POSIX.
- Modifique contas de utilizador através da Directory API: atualize as propriedades do utilizador, como o nome de utilizador e as informações da conta POSIX, através da Directory API.
- Use grupos do Linux com o Início de sessão do SO (descontinuado): faça a gestão das autorizações dos utilizadores nas VMs através de grupos do Linux com o Início de sessão do SO.
- Use o Início de sessão do SO com a federação de identidades da força de trabalho (pré-visualização): ligue-se a VMs com o Início de sessão do SO ativado quando a sua organização usa um fornecedor de identidade (IdP) externo.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Política da organização do Início de sessão do SO
Pode configurar uma restrição do Início de sessão do SO na sua organização para garantir que todos os novos projetos e as instâncias de VM criadas nestes novos projetos têm o Início de sessão do SO ativado.
Quando esta restrição está configurada, aplicam-se as seguintes condições:
enable-oslogin=true
está incluído nos metadados do projeto para todos os novos projetos.- Os pedidos que definem
enable-oslogin
comofalse
nos metadados da instância ou do projeto são rejeitados para VMs e projetos novos e existentes.
Limitações
O início de sessão no SO não é suportado nos seguintes produtos, funcionalidades e VMs:- Versões 6.1.4 e anteriores do Cloud Data Fusion
- Cloud Composer 1
- VMs do Windows Server e SQL Server
- VMs do Fedora CoreOS. Para gerir o acesso de instâncias a VMs criadas com estas imagens, use o sistema de ignição do Fedora CoreOS
Soluções alternativas para o Cloud Data Fusion e o Cloud Composer
Para usar o Início de sessão do SO em organizações que usam o Cloud Data Fusion e o Cloud Composer, pode ativar a restrição do Início de sessão do SO ao nível da organização e, em seguida, desativar seletivamente a restrição em projetos ou pastas para os projetos afetados.
Para mais informações sobre a edição de políticas da organização, consulte o artigo Criar e editar políticas.
Ative a política de organização
Para ativar a política de Início de sessão do SO, pode definir a restrição de Início de sessão do SO em projetos e pastas específicos através da CLI do Google Cloud. Também pode definir a restrição de início de sessão do SO em toda a organização através da Google Cloud consola ou da CLI do Google Cloud.
Consola
Para definir a política da organização de início de sessão no SO a partir da consola, conclua os seguintes passos:
- Na Google Cloud consola, aceda à página Políticas de organização.
- Na lista de políticas, clique em Exigir início de sessão do SO para ver as restrições do início de sessão do SO.
- Clique em Editar para editar as restrições de início de sessão do SO existentes.
- Na página Editar, selecione Personalizar.
- Para ativar a aplicação desta restrição, selecione Ativado.
- Clique em Guardar para aplicar as definições de restrição.
gcloud
Para definir a política da organização de Início de sessão do SO, use o comando
gcloud beta resource-manager org-policies enable-enforce
.Encontre o ID da sua organização.
gcloud organizations list
Defina a restrição na sua organização. Substitua
organization-id
pelo seu ID da organização.gcloud beta resource-manager org-policies enable-enforce compute.requireOsLogin \ --organization=organization-id
Também pode aplicar a política organizacional de início de sessão no SO a uma pasta ou a um projeto com os flags
--folder
ou--project
e o ID da pasta e o ID do projeto, respetivamente.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 o seguinte:
folder-id
: o ID da pasta.project-id
: o seu ID do projeto.
Conceda acesso a instâncias a utilizadores fora da sua organização
Por predefinição, os utilizadores fora da sua organização não podem definir chaves SSH para instâncias na sua organização nem receber acesso a instâncias na sua organização. Em algumas situações, pode ter de conceder acesso à instância a utilizadores que fazem parte de uma organização diferente ou que têm uma conta Google de consumidor.
gmail.com
A função do IAM
roles/compute.osLoginExternalUser
permite que as Contas Google externas interajam com as outras funções de Início de sessão do SO ao permitir-lhes configurar informações da conta POSIX.Para conceder a função
roles/compute.osLoginExternalUser
e outras funções de acesso de instância do SO Login necessárias a utilizadores fora da sua organização, conclua os seguintes passos:- Na Google Cloud consola, aceda à página IAM e administração.
- Clique no menu pendente Selecionar um projeto. Na caixa de diálogo Selecionar um recurso
apresentada, selecione a sua organização fazendo o seguinte:
- Clique no menu pendente da organização para ver todas as suas organizações.
- Selecione a sua organização no menu pendente.
- Clique em Conceder acesso para adicionar uma nova função a um utilizador.
- No campo Novos membros, adicione o endereço de email do utilizador para o qual quer configurar o acesso à instância.
- No menu pendente Função, selecione a função Utilizador externo de início de sessão no SO do Compute.
- Clique em Guardar.
- Se ainda não o fez, conceda as funções de acesso da outra instância do SO Login ao utilizador ao nível do projeto ou da organização.
O utilizador já pode estabelecer ligação a instâncias no seu projeto que tenham o Início de sessão no SO ativado.
Faça a gestão da API de Início de sessão do SO
Ao nível da organização, pode restringir o acesso à API OS Login definindo os controlos de administrador do Google Workspace. Para configurar os controlos de administrador do Google Workspace ou ver as opções de configuração, consulte o artigo Controle quem usa o Google Cloud na sua organização. Como administrador do Google Workspace, também pode ativar ou desativar determinadas funcionalidades da API OS Login. Isto inclui as seguintes opções:
- Escolha se quer incluir o sufixo do domínio nos nomes de utilizadores gerados pela API OS
Login. Por exemplo, no domínio
example.com
, o utilizadoruser@example.com
tem o nome de utilizadoruser
se a definição para incluir o sufixo do domínio não estiver selecionada. - Decida se os membros da sua organização podem gerir chaves SSH através da API OS Login.
- Restrinja ou permita o acesso de VMs a utilizadores fora da sua organização.
Para mais informações sobre como ativar ou desativar as definições da API OS Login, consulte o artigo Escolha as definições para a Google Cloud Platform.
Audite eventos de início de sessão no SO
Enquanto administrador do Google Workspace, pode usar o SDK de administração do Google Workspace para auditar as ações realizadas com a API OS Login. Ao rever estes eventos, pode acompanhar quando um utilizador adiciona, elimina ou atualiza uma chave SSH, ou elimina informações da conta POSIX.
Pode obter eventos de atividade de auditoria da API OS Login, a partir do SDK de administrador do Google Workspace, chamando
Activities.list()
comapplicationName=gcp
. Para mais informações, consulte os Google Cloud eventos de atividade na documentação da API Google Workspace Admin SDK Reports.Modifique contas de utilizador através da API Directory
O Início de sessão no SO usa as definições de utilizador do Cloud ID ou do Google Workspace quando se liga a uma instância. Se for um superadministrador do Google Workspace, pode usar a API Directory para concluir as seguintes tarefas para as suas contas de utilizador do Google Workspace ou do Cloud ID:
- Modifique as definições de início de sessão da instância
- Defina um utilizador como administrador
- Modificar propriedades do utilizador, como o nome e o email da conta
- Adicione e remova chaves SSH para um utilizador
- Modifique as informações da conta POSIX
- Altere o nome de utilizador ao qual os utilizadores se ligam na instância
Os exemplos seguintes mostram como modificar ou remover contas de utilizador através da API Directory. Para mais informações sobre as propriedades da conta que pode editar, consulte a referência da API Directory.
Modifique as propriedades da conta
Para modificar as informações da conta POSIX de um utilizador ou gerir as chaves SSH do utilizador, envie um pedido
PUT
para o métododirectory.users.update
e especifique uma ou mais propriedades a alterar na conta de utilizador.Se modificar as propriedades de um utilizador, tem de especificar os valores
username
,uid
egid
atuais ou novos no pedido.posixAccounts
Se modificar as propriedades
sshPublicKeys
do utilizador, tem de especificar o valorkey
no pedido.Segue-se um exemplo de um pedido
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 o seguinte:
USER_KEY
: o endereço de email principal do utilizador, o endereço de email do alias ou o ID do utilizador exclusivo.USERNAME
: o nome de utilizador que o Compute Engine adiciona à VM para o utilizador. Este valor tem de ser único na sua organização e não pode terminar com um til ("~") nem conter um ponto (".").UID
: o ID do utilizador na VM para este utilizador. Esta propriedade tem de ser um valor entre1001
e60000
ou um valor entre65535
e2147483647
. Para aceder a um SO otimizado para contentores, o elementoUID
tem de ter um valor entre65536
e214748646
. OUID
tem de ser exclusivo na sua organização.GID
: o ID do grupo na VM ao qual o utilizador pertence.USER_HOME_PATH
: (opcional) o diretório base na VM para o utilizador. Por exemplo,/home/example_username
.SHELL_PATH
: (Opcional) O caminho para a shell predefinida do utilizador depois de se ligar à instância. Por exemplo,/bin/bash
ou/bin/sh
.KEY_VALUE
: o valor da chave pública de SSH.EXPIRATION_TIME
: (opcional) a hora de validade da chave em microssegundos desde o início da época (1 segundo = 106 microssegundos).
Remova as propriedades da conta
Para limpar os dados
posixAccounts
esshPublicKeys
de um utilizador, envie um pedidoPUT
para o métododirectory.users.update
, definindo 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 email principal do utilizador, pelo endereço de email do alias ou pelo ID do utilizador exclusivo.Use grupos Linux com o Início de sessão do SO (descontinuado)
Os administradores da organização podem usar a API Cloud Identity Groups para configurar grupos Linux suplementares para utilizadores do Início de sessão do SO através da criação e gestão de grupos POSIX. O início de sessão no SO associa grupos POSIX a grupos Linux suplementares nas VMs da sua organização para que possa gerir as autorizações que os utilizadores têm nas suas VMs.
Faça a gestão da subscrição de utilizadores em grupos Linux
Para criar um grupo POSIX, consulte o artigo Criar e atualizar grupos POSIX.
Para adicionar utilizadores a um grupo, consulte o artigo Adicione ou convide utilizadores para um grupo.
As atualizações da subscrição entram em vigor no prazo de 10 minutos. As alterações ao grupo são refletidas em todas as VMs criadas recentemente. As atualizações de grupos POSIX podem demorar até seis horas a propagar-se a todas as VMs em execução. Os utilizadores podem ter de terminar sessão ou usar o comando
newgrp
para observar as alterações ao grupo.Elimine as configurações de grupos POSIX
O suporte de grupos POSIX do Início de sessão no SO foi descontinuado. Recomendamos que elimine as configurações dos grupos POSIX de início de sessão do SO.
Tem de ser um administrador da organização para eliminar as configurações de grupos POSIX do Início de sessão do SO.
- Se não souber o ID do recurso da sua organização, obtenha o ID do recurso da sua organização.
- Indique todos os grupos POSIX na sua organização. Tenha em atenção o endereço de email de cada grupo.
- Para cada grupo POSIX na sua organização, faça o seguinte:
- Obtenha as informações do grupo. Tenha em atenção o
posixGroups.gid
. - Elimine o grupo POSIX.
- Obtenha as informações do grupo. Tenha em atenção o
- Opcionalmente, verifique se todos os grupos foram eliminados listando todos os grupos POSIX na sua organização. Se todos os grupos tiverem sido eliminados com êxito, a resposta está vazia.
Limites de velocidade para grupos Linux com o Início de sessão do SO
Os grupos Linux com utilização do Início de sessão do SO usam a quota
oslogin.googleapis.com/metadata_server_groups_requests
. Por predefinição, o limite de quota é de 60 pedidos/minuto, por projeto para uma região específica.Se precisar de um limite de taxa mais elevado, pode pedir um ajuste da quota na página Quotas da Google Cloud consola.
Use a federação de identidade da força de trabalho com o Início de sessão do SO
As organizações que usam a federação de identidade da força de trabalho podem usar o início de sessão do SO para gerir o acesso às respetivas VMs. Quando a federação de identidades da força de trabalho está ativada para uma organização, o Início de sessão do SO usa a autenticação baseada em certificados em vez da autenticação baseada em chaves para validar as identidades dos utilizadores.
Antes de começar
- Crie um Workforce Identity Pool.
- Configure os
google.posix_username
mapeamentos de atributos. Configure a sua VM para usar o Início de sessão do SO com a federação de identidade da força de trabalho fazendo o seguinte:
Confirme que a VM tem o OpenSSH 7.4 ou posterior instalado executando o seguinte comando na VM:
ssh -V
Limitações
- Não pode usar a federação de identidades da força de trabalho com a autenticação de dois fatores (2FA) do início de sessão no SO.
- A VM à qual está a estabelecer ligação tem de ter a versão 7.4 ou posterior do OpenSSH para usar a federação de identidades da força de trabalho com o início de sessão no SO.
- Se a sua organização usar a federação de identidades da força de trabalho, não pode aceder às portas série das VMs.
Estabeleça ligação a VMs que usam o Início de sessão do SO e a federação de identidade da força de trabalho
Ligue-se a VMs que usam o Início de sessão do SO com a federação de identidades da força de trabalho através da Google Cloud consola, da CLI gcloud ou de outros clientes SSH.
Consola
Quando se liga a VMs que usam o Início de sessão do SO com a federação de identidades da força de trabalho através do SSH no navegador, o Compute Engine configura o certificado SSH em seu nome quando tenta estabelecer ligação.
Para estabelecer ligação a VMs, faça o seguinte:
- 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.
gcloud
Quando se liga a VMs que usam o Início de sessão do SO com a federação de identidade da força de trabalho através da CLI gcloud, o Compute Engine configura o certificado SSH em seu nome quando tenta estabelecer ligação.
Estabeleça ligação a uma VM através do SSH executando o comando
gcloud beta compute ssh
:Execute o seguinte comando:
gcloud beta compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Substitua o seguinte:
PROJECT_ID
: o ID do projeto que contém a VMZONE
: o nome da zona em que a VM está localizadaVM_NAME
: o nome da VM
Se tiver definido propriedades predefinidas para a CLI gcloud, pode omitir as flags
--project
e--zone
deste comando. Por exemplo:gcloud compute ssh VM_NAME
-
Instale o IAP Desktop na sua estação de trabalho, se ainda não o tiver feito.
-
Abra o IAP Desktop. É apresentada a janela Adicionar projetos.
-
Quando lhe for pedido, inicie sessão com a federação de identidade da força de trabalho.
-
Na janela Adicionar projetos, introduza o ID do projeto ou o nome do projeto que contém as VMs às quais quer estabelecer ligação.
-
Na janela Project Explorer, clique novamente com o botão direito do rato no nome da VM e selecione Connect para estabelecer ligação à VM.
- Crie uma chave SSH se ainda não tiver uma.
Assine a sua chave pública de SSH através do 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 o seguinte:
USER
: uma única identidade num pool de força de trabalho, no seguinte formato:principal:%2F%2Fiam.googleapis.com%2Flocations%2Fglobal%2FworkforcePools%2POOL_ID%2Fsubject%2FSUBJECT_ATTRIBUTE_VALUE
Substitua o seguinte:
POOL_ID
: o conjunto de trabalhadores ao qual o utilizador pertence.SUBJECT_ATTRIBUTE_VALUE
: o valor dogoogle.posix_username
mapeamento de atributos do utilizador.
PROJECT_ID
: o ID do projeto que contém a VM à qual quer estabelecer ligação.LOCATION
: a zona onde se encontra a VM à qual quer estabelecer ligação.PUBLIC_KEY
: o conteúdo do ficheiro de chave pública de SSH.
Copie o certificado SSH do resultado do
user.signSshPublicKey
método e guarde o conteúdo num novo ficheiro.Defina autorizações no ficheiro de certificado SSH executando o seguinte comando:
sudo chmod 600 FILE_NAME
Substitua
FILE_NAME
pelo nome do ficheiro.Estabeleça ligação à VM através do seguinte comando:
ssh -i PATH_TO_PRIVATE_KEY -o CertificateFile=PATH_TO_SSH_CERTIFICATE USERNAME@EXTERNAL_IP
Substitua o seguinte:
PATH_TO_PRIVATE_KEY
: o caminho para o ficheiro de chave SSH privada.PATH_TO_SSH_CERTIFICATE
: o caminho para o ficheiro de certificado SSH.USERNAME
: o valor dogoogle.posix_username
mapeamento de atributos do utilizador.EXTERNAL_IP
: o endereço IP externo da VM.
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.
IAP Desktop
Quando se liga a VMs que usam o Início de sessão do SO com a federação de identidades da força de trabalho através do IAP Desktop, o Compute Engine configura o certificado SSH em seu nome quando tenta estabelecer ligação.
Para estabelecer ligação a uma VM através do IAP Desktop, faça o seguinte:
Cliente SSH
Para estabelecer ligação a uma VM que usa o Início de sessão do SO com a federação de identidades da força de trabalho através de um cliente SSH, faça o seguinte:
O que se segue?
- Saiba como configurar o Início de sessão do SO.
- Saiba como configurar o início de sessão no SO com a validação em dois passos.
- Leia uma vista geral da funcionalidade de início de sessão do SO.
- Resolva problemas com o Início de sessão do SO.
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 2025-10-19 UTC.
-