Como gerenciar bibliotecas e APIs Cloud

Acesse os produtos e serviços do Google Cloud pelo seu código usando as APIs do Cloud. Essas APIs do Cloud expõem uma interface REST JSON simples que podem ser chamadas por meio de bibliotecas de cliente.

Neste documento, descrevemos como ativar as APIs do Cloud e adicionar bibliotecas de cliente do Cloud ao seu projeto.

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. No menu Ferramentas, selecione Cloud Code > APIs do Cloud.
  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. Você também pode procurar uma API específica usando a barra de pesquisa APIs de pesquisa.
  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 status, instruções de instalação específicas da linguagem para suas bibliotecas de cliente correspondentes e documentação relevante.

Como ativar APIs do Cloud

Para ativar rapidamente as APIs do Cloud em um projeto usando os detalhes da API, siga estas etapas:

  1. Na visualização de detalhes da API Cloud, escolha um projeto do Google Cloud para o qual você quer ativar a API do Cloud.
  2. Clique em Ativar API.

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

Como adicionar as bibliotecas de cliente do Cloud

Para adicionar bibliotecas ao seu projeto no IntelliJ, siga estas etapas:

Para projetos Java Maven

  1. No menu Ferramentas, selecione Cloud Code > APIs do Cloud.
  2. A caixa de diálogo Adicionar bibliotecas do Cloud mostra as bibliotecas compatíveis.

    Captura de tela mostrando a caixa de diálogo "Gerenciar APIs do Google Cloud". Essa
          caixa de diálogo permite que você selecione um módulo para adicionar as bibliotecas,
          exibe a lista de APIs disponíveis para adicionar e fornece uma área de trabalho
          que exibe informações sobre cada API.
  3. Selecione o tipo de biblioteca de sua preferência entre a Biblioteca de cliente do Google Cloud (recomendado para a maioria dos projetos) ou o Java Spring GCP (recomendado se o projeto usar o Java Spring).
  4. No menu suspenso Módulo, selecione o módulo ao qual você quer adicionar a biblioteca.
  5. Clique em Adicionar dependência do Maven para adicionar BOM e biblioteca de cliente ao seu projeto.

Para todos os outros projetos

  1. No menu Ferramentas, selecione Cloud Code > APIs do Cloud.
  2. A caixa de diálogo Adicionar bibliotecas do Cloud mostra as bibliotecas compatíveis.

    Captura de tela mostrando a caixa de diálogo "Gerenciar APIs do Google Cloud".
                      Esta caixa de diálogo exibe a lista de APIs disponíveis para adicionar e fornece uma área de trabalho que exibe informações sobre a API.
  3. Instale a API seguindo as instruções de instalação listadas na página de detalhes da API para o idioma de sua preferência.

Como usar amostras de API

Para pesquisar e usar exemplos de código para cada API no explorador de APIs, siga estas etapas:

  1. No menu Ferramentas, selecione Cloud Code > APIs do Cloud.

  2. Para abrir a visualização de detalhes, clique no nome de uma API.

  3. Para ver amostras de código da API, clique na guia Sample Samples.

  4. Para filtrar a lista de amostras, digite o texto a ser pesquisado ou escolha uma linguagem de programação no menu suspenso Language.

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

Máquina local

O Cloud Code garante que você tenha o Application Default Credentials (ADC) definido se você fizer login no Google Cloud usando seu ambiente de desenvolvimento integrado. Se você não estiver fazendo login com o Cloud Code, execute gcloud auth application-default login manualmente.

minikube

  1. O Cloud Code garante que você tenha o Application Default Credentials (ADC) definido se você fizer login no Google Cloud usando seu ambiente de desenvolvimento integrado. Se você não estiver fazendo login com o Cloud Code, execute gcloud auth application-default login manualmente.
  2. Inicie o minikube com minikube start --addons gcp-auth. Isso ativará o ADC nos pods. Para um guia detalhado sobre a autenticação do minikube no Google Cloud, consulte os documentos do minikube gcp-auth.

Outros clusters do K8s locais

  1. O Cloud Code garante que você tenha o Application Default Credentials (ADC) definido se você fizer login no Google Cloud usando seu ambiente de desenvolvimento integrado. Se você não estiver fazendo login com o Cloud Code, execute gcloud auth application-default login manualmente.
  2. Monte o diretório gcloud local nos pods do Kubernetes editando a especificação do pod nos manifestos dele ou da implantação, para que as bibliotecas de cliente do Google Cloud possam encontrar suas credenciais. Exemplo de configuração de pod do Kubernetes:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

O Cloud Code garante que você tenha o Application Default Credentials (ADC) definido se você fizer login no Google Cloud usando seu ambiente de desenvolvimento integrado. Se você não estiver fazendo login com o Cloud Code, execute gcloud auth application-default login manualmente.

Desenvolvimento remoto

Google Kubernetes Engine

Dependendo do escopo do 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. Confira também se os Escopos de acesso estão definidos como Permitir acesso total a todas as APIs do Cloud, ambas as 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 provisiona um excesso de 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 à conta de serviço padrão do Compute Engine.
  • (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 para a 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, na página "Contas de serviço", 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, forneça um nome descritivo para a conta.
  4. Altere o ID da conta de serviço para um valor reconhecível exclusivo e 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 sua conta de serviço do Kubernetes à configuração de implantação, navegue até a configuração de execução Cloud Run: Deploy, expanda a seção Advanced review settings e, em seguida, Especifique sua conta de serviço no campo 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 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. Confira também se os Escopos de acesso estão definidos como Permitir acesso total a todas as APIs do Cloud, ambas as 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 provisiona um excesso de 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 à conta de serviço padrão do Compute Engine.
  • (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 do Kubernetes à configuração de implantação, navegue até a configuração de execução Cloud Run:Deploy, expanda a seção Configurações de revisão avançadas. Em seguida, especifique sua conta de serviço do Kubernetes no campo Conta de serviço.
      Seção "Configurações avançadas de revisão" expandida no Cloud Run: campo "Implantar e conta de serviço" preenchido com o nome da conta de serviço do Kubernetes
    3. Se o serviço do Google Cloud que você está tentando acessar exigir papéis adicionais, conceda-os para a 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 o painel do Secret Manager clicando na guia do Gerenciador de secrets na barra lateral direita do Cloud Code.

  2. Selecione o secret que você quer acessar no seu código.

  3. Alterne para a guia "Permissões" e, em seguida, configure as permissões do secret clicando em Ícone "Editar" Editar permissão. A página de configuração do Secret Manager é aberta no navegador da Web.

    Guia "Permissões" selecionada no "Gerenciador de secrets" e no ícone "Editar permissões" destacado

  4. No Console do Google Cloud, clique em Mostrar painel de informações e em Adicionar participante.

  5. Atribua o papel Acessador de secrets do Gerenciador de secrets à sua conta de serviço.

    A conta de serviço tem permissão para acessar este secret.

Como receber suporte

Para enviar um feedback ou informar um problema no ambiente de desenvolvimento integrado do IntelliJ, acesse Tools > Cloud Code > Help / About > Envie feedback ou informe um problema para informar um problema no GitHub ou faça uma pergunta no Stack Overflow.

Você também pode participar do canal #cloud-code, que faz parte da comunidade do Google Cloud no Slack.