Neste documento, descrevemos como usar uma conta de serviço para se conectar a instâncias de máquina virtual (VM) do Compute Engine usando SSH. Ao configurar o SSH para uma conta de serviço, é possível configurar aplicativos para usar o SSH, o que ajuda a automatizar suas cargas de trabalho.
Antes de começar
- Crie uma conta de serviço.
-
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:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Conectar manualmente às VMs como uma conta de serviço
Para se conectar a VMs como uma conta de serviço, use um dos seguintes métodos:
Permissões exigidas para a tarefa
Para executar esta tarefa, é necessário ter as seguintes permissões:
- Todas as permissões incluídas no
papel de criador do token da conta de serviço (
roles/iam.serviceAccountTokenCreator
) na conta de serviço. Para mais detalhes sobre como conceder esse papel em uma conta de serviço única, consulte Gerenciar o acesso a contas de serviço. - Se você usa o Login do SO, precisa de todas as permissões incluídas em um dos papéis do Login do SO do IAM na conta de serviço.
- Se você não usa o Login do SO, a conta de serviço também precisa da
permissão
compute.projects.setCommonInstanceMetadata
.
Use a flag --impersonate-service-account
da gcloud CLI
para se conectar de modo direto a uma VM usando a identidade de uma conta de serviço. Execute o
comando abaixo para se conectar a uma VM como uma conta de serviço:
gcloud compute sshVM_NAME \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
Substitua:
VM_NAME
: o nome da VM com que você quer se conectar à conta de serviço.SERVICE_ACCOUNT_EMAIL
: o endereço de e-mail associado à conta de serviço.
Permissões exigidas para a tarefa
Para executar esta tarefa, é necessário ter as seguintes permissões:
- Todas as permissões incluídas no
papel de usuário da conta de serviço (
roles/iam.serviceAccountUser
) na conta de serviço e na sua conta de usuário. Para mais detalhes sobre como conceder esse papel em uma conta de serviço única, consulte Gerenciar o acesso a contas de serviço. - Se você usa o Login do SO, precisa de todas as permissões incluídas em um dos papéis do Login do SO do IAM na conta de serviço e na conta de usuário.
- Se você não usa o Login do SO, a permissão
compute.projects.setCommonInstanceMetadata
é necessária na conta de serviço e na conta de usuário.
Também é necessário
atribuir sua conta de serviço a uma VM e definir o escopo de acesso cloud-platform
na VM.
Personificar uma conta de serviço de outra VM fazendo o seguinte:
- Conecte-se à VM executada como uma conta de serviço.
Na VM executada como conta de serviço, conecte-se a outras VMs usando os mesmos métodos.
A seguir
- Saiba como configurar apps para usar SSH.
- Saiba mais sobre como as conexões SSH funcionam no Compute Engine, incluindo configuração e armazenamento de chaves SSH.