GSP1126

Visão geral
Configurar o acesso seguro aos seus recursos da nuvem é fundamental. As principais considerações incluem como gerenciar o acesso, restringir usuários aos recursos necessários e ativar a autenticação para aplicativos e serviços. Plataformas de nuvem como AWS e Google Cloud oferecem ferramentas especializadas para essa tarefa. A AWS usa papéis e políticas do Identity and Access Management (IAM), enquanto o IAM do Google Cloud concede permissões a projetos ou recursos.
Além do acesso do usuário, você também precisa gerenciar as permissões do aplicativo e do sistema. A AWS usa papéis de serviço atribuídos em uma conta. O Google Cloud usa contas de serviço com alcance potencialmente mais amplo entre projetos. Neste laboratório, você vai conhecer a linha de comando para configurar o IAM. Entender o IAM, especialmente para quem está começando a usar o Google Cloud, é essencial para configurar as permissões adequadas. Neste laboratório, você vai aprender a instalar e configurar o ambiente do gcloud, gerenciar várias configurações e usar contas de serviço.
Objetivos
Neste laboratório, você vai aprender a:
- Instalar e configurar o cliente
gcloud
- Criar e alternar entre várias configurações do IAM
- Identificar e atribuir as permissões corretas do IAM;
- Criar e usar uma conta de serviço.
Como iniciar o ambiente
Vamos começar com duas contas de usuário e dois projetos:
-
user1
é o "proprietário" dos dois projetos;
-
user2
é o "visualizador" apenas do primeiro projeto.
Temos também uma máquina virtual (VM) Linux em operação.

O que é IAM?
O Google Cloud oferece o Cloud Identity and Access Management (IAM), que permite gerenciar o controle de acesso ao definir quem (identidade) tem qual acesso (papel) a qual recurso.
No IAM, a permissão para acessar um recurso não é concedida direto ao usuário final. Em vez disso, as permissões são agrupadas em papéis, que são concedidos a membros autenticados. Antes, o IAM muitas vezes se referia aos principais como membros. Algumas APIs ainda usam esse termo.
Identidades
No Cloud IAM, você concede acesso aos principais, que se dividem em:
- Conta do Google
- Conta de serviço
- Grupo do Google
- Conta do Google Workspace
- Domínio do Cloud Identity
- Todos os usuários autenticados
- Todos os usuários
Saiba mais sobre os tipos de identidade no guia "Conceitos relacionados à identidade".
Neste laboratório, vamos usar as contas do Google, contas de serviço e grupos de domínio do Cloud Identity.
Papéis
Um papel é um conjunto de permissões. Não é possível atribuir diretamente uma permissão ao usuário. Em vez disso, atribua um papel. Quando você faz isso, concede ao usuário todas as permissões contidas no papel.
Saiba mais sobre os papéis no guia sobre papéis.
O que é o gcloud?
O gcloud CLI faz parte do SDK Cloud. É preciso fazer o download e instalar o SDK no sistema e inicializá-lo antes de usar a ferramenta de linha de comando gcloud. Você pode usar essa ferramenta para realizar várias tarefas de plataforma comuns pela linha de comando ou em scripts e outras automações.
Saiba mais sobre o gcloud no guia "Visão geral do gcloud CLI".
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, e não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Observação: neste laboratório, faça login com o Username 1.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes gratuitos.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Tarefa 1: configurar o ambiente do gcloud
O laboratório já tem uma instância do Compute Engine chamada debian-clean, que simula um ambiente sem o gcloud
instalado. Para se conectar à instância, use o console do Google Cloud.
-
Abra a lista de instâncias do Compute em menu de navegação > Compute Engine > Instâncias de VM.
-
Na lista com a instância da computação chamada debian-clean, clique em SSH.
Observação:
sobre as instâncias do Compute Engine: há tipos de instâncias Windows e Linux. Neste laboratório, vamos usar o tipo Linux. É fácil se conectar a instâncias Linux usando o cliente Secure Shell
(SSH) pelo navegador da Web.
A conexão com a instância é automática. O Google Cloud gerencia as chaves de autenticação, mantendo-as seguras e disponíveis apenas para quem você permitir o acesso.
- Como primeiro teste, confirme se o
gcloud
está instalado verificando a versão. Na sessão SSH, execute o seguinte:
gcloud --version
Criar uma nova instância e atualizar a zona padrão
Depois de verificar que a ferramenta de linha de comando gcloud
está instalada, crie uma instância da computação para fazer algumas alterações.
- Primeiro, autentique no gcloud. Na sessão SSH, execute o seguinte:
gcloud auth login
Pressione ENTER assim que aparecer a mensagem Quer continuar (S/N)?
-
Vá até o link que aparece em uma nova guia.
-
Clique no seu nome de usuário ativo , clique em Continuar para Fazer login no SDK Google Cloud e, em seguida, em Permitir.
-
Assim que aparecer a mensagem Insira o código de verificação a seguir no gcloud CLI da máquina em que quer fazer login, clique no botão "Copiar", volte à sessão SSH e cole o código onde aparece a mensagem Inserir código de autorização:.
-
Na sessão SSH, defina a região e a zona:
gcloud config set compute/region {{{project_0.default_region_1 | "Region1"}}}
gcloud config set compute/zone {{{project_0.default_zone_1 | "Zone1"}}}
- Na sessão SSH, execute o seguinte:
gcloud compute instances create lab-1 --zone {{{project_0.default_zone_1 | "Zone1"}}} --machine-type=e2-standard-2
- Pressione ENTER para aceitar a zona padrão da VM.
Se estiver tudo certo, o comando cria uma instância.
Mas qual o tamanho? E onde ela está? Qual a imagem usada?
O serviço usa vários padrões; alguns são controlados na configuração do gcloud
. A localização da instância, por exemplo, é controlada pela configuração de zona.
Criar uma instância chamada lab-1 no Projeto 1
- Verifique a configuração atual do gcloud. Na sessão SSH, execute o seguinte:
gcloud config list
Como você pode conferir, há a seção compute
, a seção core
e uma configuração ativa
. É possível alterar qualquer uma dessas opções; neste laboratório, porém, vamos alterar apenas a zona. Confira a zona em que a VM foi criada.
- Agora liste todas as zonas disponíveis para uso executando o seguinte na sessão SSH:
gcloud compute zones list
-
Identifique uma das outras zonas na mesma região que você. Por exemplo, se a zona atual for us-west2-a
, selecione us-west2-b
.
-
Mude a zona atual por outra na mesma região. Na sessão SSH, execute o seguinte, substituindo ZONE
pela zona selecionada:
gcloud config set compute/zone ZONE
- Verifique se a alteração da zona foi feita. Na sessão SSH, execute o seguinte:
gcloud config list
Como você pode conferir, a zona declarada reflete a alteração feita.
É possível alterar outras configurações usando o comando gcloud config set
. Essas alterações são permanentes; elas são gravadas no diretório principal.
A configuração padrão é armazenada em ~/.config/gcloud/configurations/config_default.
Para usar outra zona que não a padrão ao criar uma instância, use --zone switch. Por exemplo, gcloud compute instances create lab-1 --zone us-central1-f
Atualizar a zona padrão
- Verifique se a zona foi gravada no arquivo de configuração. Na sessão SSH, execute o seguinte:
cat ~/.config/gcloud/configurations/config_default
Como é mostrado, a configuração está armazenada como texto e é possível fazer backup dela ou copiá-la.
Tarefa 2: criar e alternar entre várias configurações do IAM
Você acaba de configurar uma conta. Quando é preciso trabalhar com várias equipes ou acessar contas diferentes, você pode gerenciar isso com o gcloud config
.
Na próxima tarefa, vamos ver como criar uma segunda configuração e alternar entre as duas.
Criar uma nova configuração do IAM
Neste laboratório, você pode fazer login em uma segunda conta do Google, que tem acesso somente leitura (visualizador) ao primeiro projeto. Crie uma nova configuração para esse usuário.
- Comece uma nova configuração do
gcloud
para essa segunda conta. Na sessão SSH, execute o seguinte:
gcloud init --no-launch-browser
-
Selecione a opção 2, Criar nova configuração.
-
nome da configuração: insira user2.
-
Fazer login com nova conta: selecione a opção 3; o login é feito com o outro nome de usuário.
-
Pressione ENTER assim que aparecer a mensagem Quer continuar (S/N)?
-
Vá até o link que aparece em uma nova guia.
-
Clique em Usar outra conta
-
Copie a segunda conta de usuário e cole no comando e-mail ou telefone.
-
Copie a mesma senha do início do laboratório e cole no comando insira sua senha.
-
Clique em Entendi.
-
Em Fazer login no SDK Google Cloud, clique em Continuar e depois em Permitir.
Você aceita que o SDK Cloud tem o mesmo acesso que sua conta do Google.
-
Assim que aparecer a mensagem Insira o código de verificação a seguir no gcloud CLI da máquina em que quer fazer login, clique no botão "Copiar", volte à sessão SSH e cole o código onde aparece a mensagem Inserir código de autorização:.
-
Em Selecione qual projeto na nuvem usar:, encontre o projeto atual () e insira o número correspondente.
A inicialização é concluída e é possível visualizar a zona e a região configuradas para você.
Verifique a configuração user2 do gcloud que foi criada
Testar a nova conta
A nova conta tem acesso somente leitura ao projeto, então é possível testar se você está usando ela ao tentar visualizar e criar alguns recursos.
- Verifique se é possível visualizar as informações do primeiro projeto. Na sessão SSH, execute o seguinte:
gcloud compute instances list
A segunda conta de usuário tem acesso de leitura, então é possível visualizar as instâncias debian-clean
e lab-1
.
- Verifique se não é possível criar uma instância no primeiro projeto, já que você tem o papel de visualizador básico. Na sessão SSH, execute o seguinte:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2
Como a segunda conta de usuário tem acesso somente leitura, não é possível criar uma instância, então o comando apresenta erro, o que leva um tempo para acontecer.
- Volte para a configuração do primeiro usuário (padrão). Na sessão SSH, execute o seguinte:
gcloud config configurations activate default
Você voltou a usar as credenciais da conta original. Depois de aprender sobre os papéis e permissões, pode alternar entre as contas.
Tarefa 3: identificar e atribuir as permissões corretas do IAM;
Você recebeu duas contas de usuário para este projeto: o primeiro usuário tem total controle dos dois projetos e pode ser considerado como o administrador; o segundo usuário tem acesso somente leitura aos dois projetos. Digamos que ele seja um usuário devops e essa identidade represente um usuário típico do nível devops.
Continuando, use o gcloud
para configurar o acesso a um dos projetos para o usuário devops criando um papel personalizado que permita criar buckets e instâncias.
Analisar os papéis e as permissões
- Para conferir todos os papéis, execute o seguinte na sessão SSH:
gcloud iam roles list | grep "name:"
Isso retorna a lista de papéis. Ao adicionar grep "name:"
ao comando, isso diminui a quantidade de dados retornados a somente os nomes dos papéis.
Analise um deles para conferir as permissões atribuídas a ele. Para visualizar as permissões, use gcloud iam roles describe
. Tente analisar o papel simples roles/compute.instanceAdmin.
- Analise o papel predefinido
compute.instanceAdmin
. Na sessão SSH, execute o seguinte:
gcloud iam roles describe roles/compute.instanceAdmin
Como você pode conferir, roles/compute.instanceAdmin tem várias permissões, mas estas são as necessárias para depois:
- compute.instances.create
- compute.instances.delete
- compute.instances.start
- compute.instances.stop
- compute.instances.update
- compute.disks.create
- compute.subnetworks.use
- compute.subnetworks.useExternalIp
- compute.instances.setMetadata
- compute.instances.setServiceAccount
Para conferir a lista completa de papéis e permissões atribuídos, consulte o guia de referência "Permissões do IAM".
Conceder, ao segundo usuário, acesso ao segundo projeto
Agora que já sabe que os papéis têm permissões, como você atribui um papel (e, portanto, todas as permissões associadas) a uma conta de usuário?
Há duas maneiras de vincular um papel:
- Ao usuário e a uma organização
- A um usuário e a um projeto
Continuando, vincule o papel básico de "visualizador" ao segundo usuário no segundo projeto.
Teste se esse usuário não tem acesso a esse projeto.
- Mude a configuração do
gcloud
de volta para o segundo usuário (user2). Na sessão SSH, execute o seguinte:
gcloud config configurations activate user2
Agora você está de volta ao user2
.
- Defina
PROJECTID2
no segundo projeto. Na sessão SSH, execute o seguinte:
echo "export PROJECTID2={{{project_1.project_id | "PROJECT_ID"}}}" >> ~/.bashrc
. ~/.bashrc
gcloud config set project $PROJECTID2
Observação: esse comando adiciona conteúdo ao final do arquivo bashrc
, então tenha cuidado.
Aparece o seguinte aviso: AVISO: parece que você não tem acesso ao projeto [ID do segundo projeto] ou ele não existe.
- Assim que aparecer a mensagem Quer continuar (S/N)?, digite "N" e pressione ENTER.
Isso indica que o usuário 2 não tem acesso ao projeto PROJECTID2, o que você vai corrigir na próxima seção.
Atribua o papel de "visualizador" ao segundo usuário no segundo projeto
- Volte à configuração padrão do gcloud, que tem permissão para conceder acesso ao segundo usuário. Na sessão SSH, execute o seguinte:
gcloud config configurations activate default
- Instale
jq
:
sudo apt -y install jq
Feito isso, defina o valor de USERID2
ao segundo nome de usuário e vincule o papel de "visualizador" ao segundo usuário no segundo projeto.
- Na sessão SSH, execute o seguinte:
echo "export USERID2={{{user_1.username | "Username2"}}}" >> ~/.bashrc
. ~/.bashrc
gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/viewer
Depois de executar o comando, o texto fica parecido com o seguinte (talvez você precise rolar para cima):
Updated IAM policy for project [{{{project_1.project_id | "PROJECT_ID"}}}].
bindings:
...
- members:
- serviceAccount:{{{project_1.project_id | "PROJECT_ID"}}}@{{{project_1.project_id | "PROJECT_ID"}}}.iam.gserviceaccount.com
role: roles/storage.admin
- members:
- user:{{{user_0.username | "Username1"}}}
- user:{{{user_1.username | "Username2"}}}
role: roles/viewer
Restringir o nome de usuário 2 a papéis/visualizador no Projeto 2
Tarefa 4: testar se o user2 tem acesso
- Mude a configuração do gcloud para user2. Na sessão SSH, execute o seguinte:
gcloud config configurations activate user2
- Altere a configuração de user2 no segundo projeto. Na sessão SSH, execute o seguinte:
gcloud config set project $PROJECTID2
Neste momento, não aparece nenhuma mensagem de erro.
- Verifique se você tem acesso de leitor. Na sessão SSH, execute o seguinte:
gcloud compute instances list
Agora não há nenhuma instância neste projeto.
- Tente criar uma instância no segundo projeto como segundo usuário. Na sessão SSH, execute o seguinte:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2
O comando apresenta erro porque user2 só tem acesso de leitor ao projeto.
- Mude a configuração do gcloud para padrão. Na sessão SSH, execute o seguinte:
gcloud config configurations activate default
Você voltou a usar as credenciais da conta original.
Criar um novo papel com permissões
Continuando, crie um novo papel com todas as permissões que a equipe de devops precisa.
- Crie um papel personalizado chamado
devops
que tem as permissões para criar uma instância. Na sessão SSH, execute o seguinte:
gcloud iam roles create devops --project $PROJECTID2 --permissions "compute.instances.create,compute.instances.delete,compute.instances.start,compute.instances.stop,compute.instances.update,compute.disks.create,compute.subnetworks.use,compute.subnetworks.useExternalIp,compute.instances.setMetadata,compute.instances.setServiceAccount"
O comando cria um papel personalizado no projeto, chamado devops
, com as permissões para criar e gerenciar instâncias.
O nome completo do papel é listado, observe que o papel está no projeto; portanto, o padrão do caminho é projects/PROJETO/roles/NOMEDOPAPEL
.
Criar um novo papel com permissões para a equipe de devops
Vincular o papel da segunda conta aos dois projetos
Você já criou o papel e agora precisa vincular o usuário e o papel ao projeto. Use gcloud projects add-iam-policy-binding
para fazer isso. Para facilitar na hora de executar o comando, primeiro configure algumas variáveis de ambiente: o ID do projeto e a conta de usuário.
- Vincule o papel
iam.serviceAccountUser
ao segundo usuário no segundo projeto. Na sessão SSH, execute o seguinte:
gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/iam.serviceAccountUser
É preciso ter permissão para criar uma instância com a conta de serviço vinculada. O papel iam.serviceAccountUser
tem essas permissões, então use-o.
Verificar se user2 está vinculado a project2 e o papel roles/iam.serviceAccountUser
- Vincule o papel personalizado
devops
ao segundo usuário no segundo projeto. A conta do segundo usuário está do lado esquerdo da página. Defina USERID como a segunda conta de usuário.
Na sessão SSH, execute o seguinte:
gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=projects/$PROJECTID2/roles/devops
Depois de executar o comando, o texto fica parecido com o seguinte (talvez você precise rolar para cima):
Updated IAM policy for project [{{{project_1.project_id | "PROJECT_ID"}}}].
bindings:
- members:
- user:{{{user_1.username | "Username2"}}}@qwiklabs.net
role: projects/{{{project_1.project_id | "PROJECT_ID"}}}/roles/devops
Vincular o nome de usuário 2 ao papel devops
Teste as novas permissões atribuídas.
- Mude a configuração do gcloud para user2. Na sessão SSH, execute o seguinte:
gcloud config configurations activate user2
Agora você está de volta ao user2.
- Tente criar uma instância chamada lab-2. Na sessão SSH, execute o seguinte:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2
Agora o user2 já pode criar instâncias.
Criar uma instância chamada lab-2 no Projeto 2
- Verifique se a instância existe. Na sessão SSH, execute o seguinte:
gcloud compute instances list
Seu ambiente
Depois dessas últimas alterações, o ambiente fica parecido com o seguinte:

Tarefa 5: usar uma conta de serviço
Você aprendeu a autenticar e usar o gcloud
para acessar os serviços do Google Cloud com papéis. Agora vamos analisar uma abordagem comum.
Você tem um aplicativo que usa as interfaces de programação do aplicativo (APIs) para ler e gravar nos buckets do Cloud Storage. Você não quer ter que autenticar toda vez que abrir um novo servidor, isso é desgastante e nada tem a ver com a ideia da nuvem. Portanto, você decide usar contas de serviço.
A conta de serviço é uma conta especial do Google que pertence ao aplicativo ou a uma máquina virtual (VM) e não a um usuário final. O aplicativo usa a conta de serviço para chamar a API de um serviço do Google. Assim, os usuários não são envolvidos de forma direta.
Saiba mais sobre as contas de serviço no guia "Contas de serviço".
Agora que você criou uma conta de serviço, use-a com uma instância da computação e teste se ela concede o acesso necessário.
Crie uma conta de serviço
- Mude a configuração do gcloud para padrão;
user2
não tem os direitos para configurar contas de serviço. Na sessão SSH, execute o seguinte:
gcloud config configurations activate default
- Defina o projeto como
PROJECTID2
na configuração. Na sessão SSH, execute o seguinte:
gcloud config set project $PROJECTID2
Verifique se você está especificando o projeto certo.
- Crie a conta de serviço. Na sessão SSH, execute o seguinte:
gcloud iam service-accounts create devops --display-name devops
Verificar a conta de serviço de devops criada
- Confira o endereço de e-mail da conta de serviço. Na sessão SSH, execute o seguinte:
gcloud iam service-accounts list --filter "displayName=devops"
Observação:
o filtro mostra apenas a linha em que você está interessado. Observe que o endereço de e-mail inclui o nome do papel e o ID do projeto.
- Insira o e-mail em uma variável local chamada
SA
. Na sessão SSH, execute o seguinte:
SA=$(gcloud iam service-accounts list --format="value(email)" --filter "displayName=devops")
O comando define a variável local SA para o endereço de e-mail da conta de serviço. Prático, não é mesmo?
- Conceda à conta de serviço o papel de
iam.serviceAccountUser
. Na sessão SSH, execute o seguinte:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/iam.serviceAccountUser
Esse papel permite que a conta de serviço atribua uma conta de serviço a uma instância da computação.
Verificar se a conta de serviço do devops está vinculada a project2 e o papel roles/iam.serviceAccountUser
Tarefa 6: usar a conta de serviço com uma instância da computação
- Atribua à conta de serviço o papel de
compute.instanceAdmin
. Na sessão SSH, execute o seguinte:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/compute.instanceAdmin
Esse papel permite à conta de serviço gerenciar as instâncias do Compute.
Verificar se a conta de serviço do devops está vinculada a project2 e o papel roles/compute.instanceAdmin
- Crie uma instância com a conta de serviço do devops vinculada. Também é preciso especificar o escopo de acesso que define quais chamadas de API a instância pode fazer. Na sessão SSH, execute o seguinte:
gcloud compute instances create lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2 --service-account $SA --scopes "https://www.googleapis.com/auth/compute"
Escopos de acesso são o método legado de especificação das permissões da instância. Os escopos de acesso não são um mecanismo de segurança. Em vez disso, eles definem os escopos do OAuth padrão usados nas solicitações da ferramenta gcloud
ou das bibliotecas de cliente. Eles não têm efeito ao fazer solicitações não autenticadas por meio do OAuth, como gRPC ou APIs SignBlob.
É preciso definir os escopos de acesso ao configurar uma instância para execução como uma conta de serviço.
Uma prática recomendada é definir o escopo de acesso completo cloud-platform na instância e, em seguida, limitar com segurança o acesso à API da conta de serviço com papéis do IAM.
Os escopos de acesso são aplicados por instância. Você os define ao criar uma instância, e eles existem apenas enquanto durar a instância.
Os escopos de acesso não vão ter efeito se você não tiver ativado a API relacionada no projeto a que a conta de serviço pertence. Por exemplo, conceder um escopo de acesso ao Cloud Storage em uma instância de máquina virtual permite que a instância chame a API Cloud Storage apenas se você a ativou no projeto.
Verificar se lab-3 tem a conta de serviço vinculada
Tarefa 7: testar a conta de serviço
- Conecte-se à instância que acabou de criar usando
gcloud compute ssh
. Na sessão SSH, execute o seguinte:
gcloud compute ssh lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}}
Quando aparecer a mensagem, pressione ENTER para continuar.
Pressione ENTER duas vezes para pular a etapa de criar uma senha.
- A imagem padrão já vem com a configuração do
gcloud
. Na sessão SSH, execute o seguinte:
gcloud config list
A configuração passa a incluir a conta de serviço
- Criar uma instância. Isso testa se você tem as permissões necessárias pela conta de serviço:
gcloud compute instances create lab-4 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2
Pressione ENTER para aceitar a zona padrão da VM.
- Verifique se os papéis vinculados estão funcionando. Na sessão SSH, execute o seguinte:
gcloud compute instances list
Como a conta de serviço tem permissões, é possível conferir as instâncias listadas.
O ambiente vai ficar assim:

Parabéns!
Usando a ferramenta SDK Cloud (gcloud
), você instalou e configurou o cliente gcloud, gerenciou várias configurações do IAM, atribuiu permissões adequadas do IAM e trabalhou com uma conta de serviço. Essas tarefas demonstram as semelhanças entre o IAM do Google Cloud e o IAM da AWS ao usar ferramentas de linha de comando para controle de acesso. Ambas as interfaces permitem provisionar contas/papéis, criar contas/papéis de serviço e alternar usuários. Você aplicou permissões aos usuários no gcloud de maneira semelhante à atribuição de papéis e políticas na AWS e descobriu como os projetos do Google Cloud funcionam de maneira comparável às contas da AWS ao gerenciar o acesso com o Google Cloud IAM.
Próximas etapas / Saiba mais
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 1 de agosto de 2024
Laboratório testado em 1 de agosto de 2024
Copyright 2025 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.