Checkpoints
Creating and Managing Service Accounts
/ 30
Access BigQuery from a Service Account
/ 70
Contas de serviço e papéis: noções básicas
GSP199
Visão geral
As contas de serviço são um tipo especial de Conta do Google que concede permissões a máquinas virtuais, não a usuários finais. Elas são usadas principalmente para garantir conexões seguras e gerenciadas com APIs e serviços do Google Cloud. Conceder acesso a conexões confiáveis e rejeitar as mal-intencionadas é um recurso de segurança obrigatório para qualquer projeto do Google Cloud. Neste laboratório, você terá experiências práticas com os detalhes das contas de serviço.
Conteúdo
Neste curso, você vai aprender a:
- Criar e gerenciar contas de serviço
- Criar uma máquina virtual e associá-la a uma conta de serviço
- Usar bibliotecas de cliente para acessar o BigQuery em uma conta de serviço
- Executar uma consulta em um conjunto de dados público do BigQuery usando uma instância do Compute Engine
Pré-requisitos
É recomendável ter alguma experiência com o Cloud IAM, mas não é necessário que você já saiba como as contas de serviço funcionam. Para ter uma prática mais avançada nesse assunto, confira estes laboratórios:
- Peering de rede VPC
- Como configurar um cluster particular do Kubernetes
- Como criar VPNs de alta capacidade
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).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
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, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:
- O botão Abrir Console do Cloud
- Tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações se forem necessárias
-
Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.
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. -
Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.
-
Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.
Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. 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 GCP vai ser aberto nesta guia.
Ativar o Cloud Shell
O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.
- Clique em Ativar o Cloud Shell
na parte de cima do console do Google Cloud.
Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Defina a região do seu projeto
Execute o seguinte comando para definir a região do seu projeto:
O que são contas de serviço?
Uma conta de serviço é uma Conta do Google especial que pertence ao aplicativo ou a uma máquina virtual (VM), e não a um usuário final específico. 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 diretamente envolvidos.
Por exemplo, uma VM do Compute Engine pode ser executada como uma conta de serviço, e essa conta pode receber permissões para acessar os recursos de que precisa. Assim, essa conta é a identidade do serviço, e as permissões dela controlam quais recursos podem ser acessados por ele.
Uma conta de serviço é identificada pelo endereço de e-mail dela, que é exclusivo.
Tipos de contas de serviço
Contas de serviço gerenciadas pelo usuário
Se você criar um novo projeto do Cloud usando o console do Google Cloud, e se a API Compute Engine estiver ativada para esse projeto, uma conta de serviço do Compute Engine será criada para você, por padrão. Ela é identificável pelo e-mail:
Por padrão, uma conta de serviço do App Engine é criada quando o projeto contém um aplicativo dele. Ela é identificável pelo e-mail:
Contas de serviço gerenciadas pelo Google
Além das contas de serviço gerenciadas pelo usuário, talvez você encontre algumas outras contas de serviço na política IAM do seu projeto ou no console. Elas são criadas pelo Google e pertencem a ele. Essas contas representam diferentes serviços do Google e cada uma delas recebe automaticamente os papéis do IAM para acessar o projeto do Google Cloud.
Conta de serviço das APIs do Google
Um exemplo de conta de serviço gerenciada pelo Google é a conta de serviço de API do Google, identificável pelo e-mail:
Essa conta de serviço foi projetada especificamente para executar processos internos do Google em nome do usuário e não está listada na seção Contas de serviço do console. Por padrão, a conta recebe automaticamente o papel de editor do projeto e fica listada na seção IAM do console. Essa conta de serviço só é excluída quando o projeto é eliminado.
Tarefa 1: criar e gerenciar contas de serviço
Quando você cria um novo projeto do Cloud, o Google Cloud cria automaticamente uma conta de serviço do Compute Engine e outra do App Engine no projeto. É possível criar até 98 contas de serviço para o projeto e controlar o acesso aos seus recursos.
Crie uma conta de serviço
Criar uma conta de serviço é semelhante a adicionar um membro ao projeto. A diferença é que essa conta pertence aos aplicativos, e não a um usuário final específico.
- Para criar uma conta de serviço, execute este comando no Cloud Shell:
A saída desse comando é a conta de serviço, que parece com o seguinte:
Como atribuir papéis a contas de serviço
Ao conceder papéis do IAM, é possível tratar uma conta de serviço como recurso ou identidade.
O aplicativo usa essas contas como identidade para autenticação nos serviços do Google Cloud. Por exemplo, se uma máquina virtual (VM) do Google Compute Engine estiver sendo executada como uma conta de serviço, atribua o papel de editor a essa conta (a identidade) em um projeto (o recurso).
Ao mesmo tempo, controle também quem pode iniciar a VM. Para isso, conceda a um usuário (a identidade) o papel serviceAccountUser na conta de serviço (o recurso).
Atribua papéis a uma conta de serviço para recursos específicos
Atribua papéis a uma conta de serviço para que ela tenha permissão para concluir ações específicas nos recursos no projeto do Cloud Platform. Por exemplo, atribua o papel storage.admin
a uma conta de serviço para que ela tenha controle sobre objetos e buckets no Cloud Storage.
- Execute este comando no Cloud Shell para conceder papéis à conta de serviço que você acabou de criar:
A saída mostra uma lista dos papéis atuais da conta de serviço:
Clique em Verificar meu progresso para conferir o objetivo.
Tarefa 2: noções básicas sobre papéis
Quando uma identidade chama a API Google Cloud, o Google Cloud Identity and Access Management exige que ela tenha as permissões corretas para usar o recurso. É possível conceder permissões ao atribuir papéis a um usuário, grupo ou conta de serviço.
Tipos de papéis
Há três tipos de papéis no Cloud IAM:
- Papéis primários: incluem os papéis "Proprietário", "Editor" e "Leitor" que já existiam antes da introdução do Cloud IAM.
- Papéis predefinidos: fornecem acesso granular a um serviço específico e são gerenciados pelo Google Cloud.
- Papéis personalizados: oferecem acesso granular de acordo com uma lista de permissões especificada pelo usuário.
Saiba mais sobre os papéis no Guia de noções básicas sobre papéis.
Tarefa 3: usar bibliotecas de cliente para acessar o BigQuery em uma conta de serviço
Nesta seção, você vai consultar os conjuntos de dados públicos do BigQuery em uma instância usando uma conta de serviço que tenha os papéis necessários.
Crie uma conta de serviço
Primeiro, crie uma nova conta de serviço pelo console.
-
Acesse o Menu de navegação > IAM e administrador, selecione Contas de serviço e clique em + Criar conta de serviço.
-
Preencha os detalhes necessários com o seguinte:
- Nome da conta de serviço: bigquery-qwiklab
- Clique em Criar e continuar e depois acrescente estes papéis:
- Papel: BigQuery > Leitor de dados do BigQuery e BigQuery > Usuário do BigQuery
Seu console mostrará o seguinte:
- Clique em Continuar e depois em Concluído.
Crie uma instância de VM
-
No console, acesse Compute Engine > Instâncias de VM e clique em Criar instância.
-
Crie sua VM com estas informações:
Configuração | Valor |
---|---|
Nome | bigquery-instance |
Região | |
Zona | |
Série | E2 |
Tipo de máquina | e2-medium |
Disco de inicialização | Debian GNU/Linux 11 (bullseye) |
Conta de serviço | bigquery-qwiklab |
- Clique em Criar.
Insira o código de exemplo em uma instância do Compute Engine
- No console, acesse Compute Engine > Instâncias de VM.
- Use SSH em
bigquery-instance
clicando no botão SSH.
Na janela SSH, instale as dependências necessárias executando estes comandos:
Agora crie o arquivo Python de exemplo:
Adicione o ID do projeto a query.py
:
Execute o seguinte para descobrir se o comando sed
alterou o ID do projeto no arquivo:
Exemplo de resposta (talvez a sua seja diferente):
Adicione o e-mail da conta de serviço a query.py
:
Execute o código abaixo para conferir se o comando sed alterou o e-mail da conta de serviço no arquivo:
Exemplo de resposta (talvez a sua seja diferente):
O aplicativo agora está usando as permissões associadas a essa conta de serviço. Execute a consulta com o seguinte comando do Python:
A consulta deve retornar a seguinte resposta (seus números podem ser diferentes):
Bom trabalho! Você fez uma solicitação para um conjunto de dados público do BigQuery com uma conta de serviço bigquery-qwiklab
.
Clique em Verificar meu progresso para conferir o objetivo.
Parabéns!
Você conheceu as contas de serviço.
Termine a Quest
Este laboratório autoguiado faz parte da Quest Security & Identity Fundamentals. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest e receba o crédito de conclusão imediatamente. Confira o catálogo do Google Cloud Ensina para acessar todas as Quests disponíveis.
Comece o próximo laboratório
Continue sua Quest com Como proteger o Google Cloud usando o CFT Scorecard ou confira estes laboratórios do Google Cloud Ensina:
Próximas etapas/Saiba mais
Saiba mais sobre a criação e o gerenciamento de contas de serviço no guia de criação e gerenciamento de contas de serviço.
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 30 de junho de 2023
Laboratório testado em 30 de junho de 2023
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.