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 navegar pelas 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 > Adicionar bibliotecas do Cloud e gerenciar 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, instruções de instalação específicas da linguagem para suas bibliotecas de cliente correspondentes e documentação relevante.

Como ativar APIs do Cloud

Além disso, é possível ativar rapidamente as APIs do Cloud para um projeto usando os detalhes da API. Sendo assim:

  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 no botão Ativar API.

    Depois de ativar a API, será exibida uma mensagem confirmando essa alteração.

Como adicionar as bibliotecas de cliente do Cloud

Para adicionar bibliotecas ao seu projeto no IntelliJ, faça o seguinte:

Para projetos Java Maven

  1. Selecione Ferramentas > Cloud Code > Adicionar bibliotecas do Cloud e gerenciar 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 Adicionar bibliotecas do Cloud. Esta caixa de diálogo fornece um menu suspenso para selecionar um módulo em que as bibliotecas serão adicionadas, exibe a lista de APIs disponíveis para adicionar e fornece uma área de trabalho que mostra informações sobre a 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 > Adicionar bibliotecas do Cloud e gerenciar 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 Adicionar bibliotecas do 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 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, por meio da ferramenta de linha de comando gcloud), execute 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. 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:
      • Se você estiver tentando acessar um secret, siga estas etapas específicas do Gerenciador de secrets para configurar os papéis necessários na sua conta de serviço.
      • Se a conta de serviço padrão do Compute Engine estiver em uso, os papéis corretos do IAM talvez já estejam aplicados.
      • O guia Noções básicas sobre papéis descreve os tipos de papéis do IAM e lista os papéis predefinidos disponíveis que podem ser atribuídos às identidades.
  • (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. Crie uma nova conta de serviço exclusiva para implantar seu aplicativo do Cloud Run por meio da página "Contas de serviço". Verifique se você selecionou o mesmo projeto em que está armazenado.
    Acessar a página contas de serviço
  2. 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.
    A seção Como entender os papéis descreve os tipos de papéis do IAM e lista os papéis predefinidos que podem ser concedidos às identidades.
  3. Adicione a conta de serviço à configuração de implantação. Para fazer isso, navegue até a configuração de execução Cloud Run: implantar, expanda a seção "Configurações avançadas de revisão" e preencha o campo "Conta de serviço" com a 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. 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:
      • Se você estiver tentando acessar um secret, siga estas etapas específicas do Gerenciador de secrets para configurar os papéis necessários na sua conta de serviço.
      • Se a conta de serviço padrão do Compute Engine estiver em uso, os papéis corretos do IAM talvez já estejam aplicados.
      • O guia Noções básicas sobre papéis descreve os tipos de papéis do IAM e lista os papéis predefinidos disponíveis que podem ser atribuídos às identidades.
  • (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. Adicione a conta de serviço do Kubernetes à configuração de implantação. Para fazer isso, navegue até a configuração de execução Cloud Run: implantar, expanda a seção "Configurações avançadas de revisão" e preencha o campo "Conta de serviço" com a conta de serviço do Kubernetes.
      Seção
    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 Gerenciador de secrets e selecione o secret que você quer acessar no seu código.

    Alterne para a guia Permissões e configure as permissões do secret com o ícone de lápis Permissão de edição. Clique no ícone de lápis para abrir a página de configuração do Secret Manager do secret no navegador da Web.

    Guia

  2. No painel de informações do Console do Cloud, selecione Adicionar membro.

    Detalhes do secret listados na página

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

    No painel

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

Como receber suporte

Acesse o GitHub para enviar feedback e informar problemas ou o Stack Overflow (ambos em inglês) para fazer perguntas.