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. Selecione Ferramentas > 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. Também é possível procurar uma API específica usando a barra de pesquisa das APIs da Pesquisa Google.
  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, as instruções de instalação específicas da linguagem para as bibliotecas de cliente correspondentes e a 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 do Cloud, escolha o projeto do Google Cloud em que você quer ativar a API do Cloud.
  2. Clique no botão 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. Selecione Ferramentas > Cloud Code > APIs do Cloud.
  2. A caixa de diálogo Gerenciar APIs do Google Cloud exibe 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 na biblioteca de cliente do Google Cloud (recomendado) ou na biblioteca de Java Spring do GCP.
  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. Selecione Ferramentas > Cloud Code > APIs do Cloud.
  2. A caixa de diálogo Gerenciar APIs do Google Cloud exibe as bibliotecas compatíveis.

    Captura de tela mostrando a caixa de diálogo "Gerenciar APIs do Google Cloud".
                      Essa 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 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

  1. O Cloud Code garante que seu Application Default Credentials (ADC) esteja definido se você tiver feito login no Google Cloud por meio do IDE.
    Se você fez login no Google Cloud fora do seu ambiente de desenvolvimento integrado (por exemplo, por meio da ferramenta de linha de comando gcloud), execute gcloud auth login --update-adc para definir o ADC. Isso também permite que as bibliotecas de cliente do Google Cloud encontrem seu ADC para autenticação.

minikube

  1. O Cloud Code garante que seu Application Default Credentials (ADC) esteja definido se você tiver feito login no Google Cloud por meio do IDE.
    Se você fez login no Google Cloud fora do seu ambiente de desenvolvimento integrado (por exemplo, por meio da ferramenta de linha de comando gcloud), execute gcloud auth login --update-adc para definir o ADC. Isso permite que o minikube encontre o ADC para autenticação.
  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 seu Application Default Credentials (ADC) esteja definido se você tiver feito login no Google Cloud por meio do IDE.
    Se você fez login no Google Cloud fora do seu ambiente de desenvolvimento integrado (por exemplo, por meio da ferramenta de linha de comando gcloud), execute gcloud auth login --update-adc para definir o ADC.
  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

  1. O Cloud Code garante que seu Application Default Credentials (ADC) esteja definido se você tiver feito login no Google Cloud por meio do IDE.
    Se você fez login no Google Cloud fora do seu ambiente de desenvolvimento integrado (por exemplo, usando a ferramenta de linha de comando gcloud), será necessário executar gcloud auth login --update-adc para definir o ADC. Isso permite que o ambiente simulado local do Cloud Run encontre o ADC para autenticação.

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 à 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 à 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, 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 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 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 à 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 à 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 no ícone de lápis Editar permissão. Clique no ícone de lápis para iniciar a página de configuração do Secret Manager desse secret no seu navegador da Web.

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

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

    Detalhes do secret listados na página do secret do Console no navegador Botão "Adicionar principal" no painel expandido de informações destacado

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

    No painel "Adicionar principais" a "Teste", a conta de serviço listada no formato serviço-conta-nome@nome-do-projeto.iam.gservicesaccount.com, no campo "Novos principais", e a lista suspensa "Selecionar papel" está sendo preenchida de forma que o Secret A categoria "Gerente", a função do tipo "Acessor de gerenciador de secrets" está sendo selecionada

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

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.