arrow_back

Como configurar as permissões do IAM com o gcloud

Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

Como configurar as permissões do IAM com o gcloud

Laboratório 1 hora 30 minutos universal_currency_alt 1 crédito show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Teste e compartilhe seu conhecimento com nossa comunidade.
done
Tenha acesso a mais de 700 laboratórios, selos de habilidade e cursos

GSP647

Laboratórios autoguiados do Google Cloud

Visão geral

O laboratório se concentra em três áreas comuns para entender sobre o IAM e o gcloud:

  • a configuração do ambiente do gcloud;
  • o uso de várias configurações do gcloud;
  • o uso das contas de serviço.

Neste laboratório, você vai usar a ferramenta gcloud CLI para configurar os recursos de comando do Cloud Identity and Access Management (IAM).

Conteúdo

Confira abaixo as atividades que você vai fazer neste laboratório:

  • Analisar o IAM e usar o cliente do 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.

Ilustração de "Como iniciar o ambiente"

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 Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o 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, 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 ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta. 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

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para 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
  2. 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.
  3. Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.

    {{{user_0.username | "Nome de usuário"}}}

    Você também encontra o Nome de usuário no painel Detalhes do laboratório.

  4. Clique em Seguinte.

  5. Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.

    {{{user_0.password | "Senha"}}}

    Você também encontra a Senha no painel Detalhes do laboratório.

  6. Clique em Seguinte.

    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.
  7. 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: clique em Menu de navegação no canto superior esquerdo para acessar uma lista de produtos e serviços do Google Cloud. Ícone do menu de navegação

Tarefa 1: configurar o ambiente do gcloud

No laboratório já tem uma instância do Compute Engine chamada centos-clean, que simula um ambiente sem o gcloud instalado. Para se conectar à instância, use o console do Google Cloud.

  1. Abra a lista de instâncias do Compute em menu de navegação > Compute Engine > Instâncias de VM.

  2. Na lista com a instância do Compute chamada centos-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.
  1. 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 do Compute para fazer algumas alterações.

  1. 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)?

  1. Vá até o link que aparece em uma nova guia.

  2. Clique no nome de usuário ativo () e, em seguida, em Permitir.

  3. 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:.

  4. 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"}}}
  1. 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

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
  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.

  1. Agora liste todas as zonas disponíveis para uso executando o seguinte na sessão SSH:
gcloud compute zones list
  1. 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.

  2. 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
  1. 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
  1. 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.

  1. Comece uma nova configuração do gcloud para essa segunda conta. Na sessão SSH, execute o seguinte:
gcloud init --no-launch-browser
  1. Selecione a opção 2, Criar nova configuração.

  2. nome da configuração: insira user2.

  3. Fazer login com nova conta: selecione a opção 3; o login é feito com o outro nome de usuário.

  4. Pressione ENTER assim que aparecer a mensagem Quer continuar (S/N)?

  5. Vá até o link que aparece em uma nova guia.

  6. Clique em Usar outra conta

  7. Copie a segunda conta de usuário () e cole no comando e-mail ou telefone.

  8. Copie a mesma senha do início do laboratório e cole no comando insira sua senha.

  9. Clique em Entendi.

  10. Clique em Permitir.

Você aceita que o SDK Cloud tem o mesmo acesso que sua conta do Google.

  1. 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:.

  2. 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.

  1. 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 centos-clean e lab-1.

  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.

  1. 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

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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

  1. 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
  1. Instale jq:
sudo yum -y install epel-release sudo yum -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.

  1. 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

  1. Mude a configuração do gcloud para user2. Na sessão SSH, execute o seguinte:
gcloud config configurations activate user2
  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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
  1. 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.

  1. 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.

  1. 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
  1. 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:

Ilustração de progresso do laboratório

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 do Compute e teste se ela concede o acesso necessário.

Crie uma conta de serviço

  1. 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
  1. 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.

  1. 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
  1. 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.
  1. 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?

  1. 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 do Compute.

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 do Compute

  1. 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
  1. 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

  1. 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.

  1. 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

  1. 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.

  1. 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:

Ilustração do ambiente final do laboratório

Parabéns!

Usando a ferramenta do SDK Cloud, o gcloud, você:

  • instalou e configurou o cliente gcloud;
  • criou e alternou entre diversas configurações do IAM;
  • identificou e atribuiu as permissões corretas do IAM;
  • criou e usou uma conta de serviço.

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 10 de abril de 2024

Laboratório testado em 10 de abril de 2024

Copyright 2024 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.

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível