Como gerenciar bibliotecas e APIs Cloud

O acesso programático aos produtos e serviços do Google Cloud requer o uso de APIs do Cloud. Essas APIs expõem uma interface REST JSON simples que é possível chamar por meio de bibliotecas de cliente.

Com o Cloud Code, é possível acessar essa lista consolidada de serviços do Google Cloud com as respectivas bibliotecas e documentação de cliente, procurar e ativar APIs do Cloud e adicionar bibliotecas de cliente do Cloud ao seu projeto, tudo do seu ambiente de desenvolvimento integrado.

Como procurar APIs do Cloud

Para explorar todas as APIs do Google Cloud disponíveis no seu ambiente de desenvolvimento integrado, siga estas etapas:

  1. Clique no ícone Cloud Code - ícone de APIs do Cloud das APIs do Cloud Code na barra de atividade.
  2. Expanda a árvore do explorador de APIs do Google Cloud para visualizar todas as APIs disponíveis. O explorador agrupa as APIs do Cloud por categoria.
  3. Captura de tela exibindo a lista de APIs do Cloud mostradas no explorador de visualização em árvore.

  4. Clique em uma API para ver mais detalhes, como o nome do serviço, status, instruções de instalação das bibliotecas de cliente correspondentes e documentação relevante.

Como ativar APIs do Cloud

Para ativar rapidamente as APIs do Cloud em um projeto usando a página de detalhes da API, siga estas etapas:

  1. Na página de detalhes da API do Cloud, escolha um projeto para o qual você quer ativar a API do Cloud.
  2. Captura de tela que mostra mais detalhes sobre a API do Cloud selecionada

  3. Clique no botão Ativar API.

    Depois que a API for ativada, você verá uma mensagem confirmando essa alteração.

Como adicionar bibliotecas de cliente em seu projeto

Além de explorar e ativar as APIs do Cloud usando o Cloud Code, também é possível adicionar uma biblioteca de cliente de linguagem específica em seu projeto. Será necessário instalá-la. A página de detalhes da API contém instruções de instalação para cada linguagem.

Captura de tela que mostra as instruções de instalação de uma biblioteca de cliente correspondente a uma API do Cloud

Como configurar a autenticação

Depois de ativar as APIs necessárias e adicionar as bibliotecas de cliente necessárias, configure o aplicativo para que ele seja autenticado com sucesso. A configuração depende do seu tipo de desenvolvimento e da plataforma em que você está executando.

Depois de concluir as etapas de autenticação relevantes, seu aplicativo poderá se autenticar e estar pronto para ser implantado.

Desenvolvimento local

A instância de VM do Cloud Shell usa a conta de serviço padrão do Compute Engine (a conta de serviço que o GKE usa por padrão) como a conta de serviço padrão. Isso significa que, ao desenvolver com o Cloud Code no Cloud Shell, você não precisa definir outras configurações ao trabalhar com bibliotecas de cliente. Seu aplicativo foi autenticado e está pronto para ser executado localmente.

Desenvolvimento remoto

Google Kubernetes Engine

Dependendo do escopo do seu projeto, é possível escolher como autenticar os serviços do Google Cloud no GKE:

  • (Somente desenvolvimento)
    1. Crie um cluster do GKE com as seguintes configurações:
      • Verifique se você está usando a conta de serviço que o GKE usa por padrão, e a conta de serviço padrão do Compute Engine e se os Escopos de acesso estão definidos em Permitir acesso total a Todas as APIs do Cloud (as duas configurações acessíveis na seção Pools de nós > Segurança).
        Como a conta de serviço do Compute Engine é compartilhada por todas as cargas de trabalho implantadas no nó, esse método superprovisiona permissões e só deve ser usado para desenvolvimento.
      • Verifique se a Identidade da carga de trabalho não está ativada no cluster (na seção Cluster > Segurança).
    2. Atribua os papéis necessários à sua conta de serviço:
  • (Recomendado para produção)
    1. Configure seu cluster e aplicativo do GKE com a Identidade da carga de trabalho para autenticar os serviços do Google Cloud no GKE. Isso associa sua conta de serviço do Kubernetes à sua conta de serviço do Google.
    2. Configure a implantação do Kubernetes para referenciar a conta de serviço do Kubernetes definindo o campo .spec.serviceAccountName no arquivo YAML de implantação do Kubernetes.
      Se você estiver trabalhando em um aplicativo criado a partir de um modelo do Cloud Code, esse arquivo estará localizado na pasta kubernetes-manifests.
    3. Se o serviço do Google Cloud que você está tentando acessar exigir papéis adicionais, conceda-os à conta de serviço do Google que você está usando para desenvolver seu app:

Cloud Run

  1. Para criar uma nova conta de serviço exclusiva para implantar seu aplicativo Cloud Run, navegue até a página "Contas de serviço" e selecione o projeto em que o secret está armazenado.

    Acessar a página "Contas de Serviço"

  2. Clique em Criar conta de serviço.
  3. Na caixa de diálogo Criar conta de serviço, insira um nome descritivo para a conta de serviço.
  4. Altere o ID da conta de serviço para um valor exclusivo e facilmente reconhecível e, em seguida, clique em Criar.
  5. Se o serviço do Google Cloud que você está tentando acessar exigir outros papéis, conceda-os, clique em Continuar e, em seguida, clique em Concluído.
  6. Para adicionar a conta de serviço à configuração de implantação:
    1. Usando a barra de status do Cloud Code, escolha o comando Cloud Run: implantar.
    2. Na IU de implantação do Cloud Run, em Configurações de revisão, no campo Conta de serviço, especifique sua conta de serviço.
    A seção de configurações avançadas de revisão foi expandida no Cloud Run e o campo de implantação e conta de serviço preenchido com o nome da conta de serviço no formato service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Dependendo do escopo do seu projeto, é possível escolher como autenticar os serviços do Google Cloud no GKE:

  • (Somente desenvolvimento)
    1. Crie um cluster do GKE com as seguintes configurações:
      • Verifique se você está usando a conta de serviço que o GKE usa por padrão, e a conta de serviço padrão do Compute Engine e se os Escopos de acesso estão definidos em Permitir acesso total a Todas as APIs do Cloud (as duas configurações acessíveis na seção Pools de nós > Segurança).
        Como a conta de serviço do Compute Engine é compartilhada por todas as cargas de trabalho implantadas no nó, esse método superprovisiona permissões e só deve ser usado para desenvolvimento.
      • Verifique se a Identidade da carga de trabalho não está ativada no cluster (na seção Cluster > Segurança).
    2. Atribua os papéis necessários à sua conta de serviço:
  • (Recomendado para produção)
    1. Configure seu cluster e aplicativo do GKE com a Identidade da carga de trabalho para autenticar os serviços do Google Cloud no GKE. Isso associa sua conta de serviço do Kubernetes à sua conta de serviço do Google.
    2. Para adicionar a conta de serviço à configuração de implantação:
      1. Usando a barra de status do Cloud Code, escolha o comando Cloud Run: implantar.
      2. Na IU de implantação do Cloud Run, em Configurações de revisão, no campo Conta de serviço, especifique sua conta de serviço.
      A seção de configurações avançadas de revisão foi expandida no "Cloud Run: implantar" e o campo de conta de serviço preenchido com o nome da conta de serviço no formato service-account-name@project-name.iam.gserviceaccount.com
    3. Se o serviço do Google Cloud que você está tentando acessar exigir papéis adicionais, conceda-os à conta de serviço do Google que você está usando para desenvolver seu app:

Desenvolvimento remoto com permissões do Gerenciador de secrets ativadas

Se você estiver desenvolvendo remotamente, usando uma conta de serviço para autenticação, e seu aplicativo usar secrets, conclua mais algumas etapas além das instruções de desenvolvimento remoto. Essas etapas atribuem à sua conta de serviço do Google o papel necessário para acessar um determinado secret do Gerenciador de secrets:

  1. Abra a visualização do Gerenciador de secrets Ícone do Gerenciador de secrets e selecione o secret que você quer acessar no seu código.

    O Gerenciador de secrets no Cloud Code é aberto com dois secrets listados

  2. Clique com o botão direito do mouse no secret e selecione Editar permissões no Console do Cloud. Isso inicia a página de configuração do Secret Manager para esse secret no navegador da Web.

    O secret selecionado com o botão direito do mouse no painel do Gerenciador de secrets

  3. No Console do Cloud, clique em Permissões e em Adicionar.

  4. No campo Novos principais, digite o nome da sua conta de serviço.

  5. No campo Selecionar papel, escolha o papel Acessor de secrets do Gerenciador de secrets.

  6. Clique em Save.

    Sua conta de serviço agora tem permissão para acessar esse secret específico.