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 a partir de 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ê 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 | "Nome de usuário"}}} Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
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.
-
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. -
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.
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 que ela 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.
Noções básicas sobre papéis do IAM
Quando uma identidade chama uma API do 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 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: usar bibliotecas de cliente para acessar o BigQuery usando 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:
-
BigQuery > Leitor de dados do BigQuery
-
BigQuery> BigQuery
-
Seu console será semelhante a este:
- 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) x86/64 |
Conta de serviço | bigquery-qwiklab |
Escopos de acesso | Definir o acesso para cada API |
BigQuery | Ativado |
bigquery-qwiklab
não aparecer na lista suspensa, informe o nome na seção "Filtro".- Clique em Criar.
Insira o exemplo de código 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 que servirá 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 a conta de serviço bigquery-qwiklab
.
Clique em Verificar meu progresso para conferir o objetivo.
Parabéns!
Neste laboratório, você aprendeu a usar contas de serviço.
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.
- Confira estes laboratórios:
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 17 de julho de 2024
Laboratório testado em 17 de julho 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.