Faça a gestão das APIs Cloud e das bibliotecas de cliente Cloud no Cloud Code para o Cloud Shell

Para aceder a Google Cloud produtos e serviços programaticamente, usa as APIs Cloud. Estas APIs expõem uma interface REST JSON simples. A forma recomendada de aceder às APIs Google Cloud é usar as bibliotecas cliente do Google Cloud.

O Cloud Code facilita a adição das bibliotecas cliente do Google Cloud para as APIs Google Cloud e a linguagem que está a usar ao seu projeto. Na mesma vista, pode pesquisar exemplos para cada API e incorporar facilmente exemplos na sua aplicação.

Explorar APIs Cloud

Para explorar todas as Google Cloud APIs disponíveis:

  1. Clique em Cloud Code e, de seguida, expanda a secção APIs Cloud.

    A vista das APIs Cloud agrupa as APIs Cloud por categoria.

  2. Para ver os detalhes de uma API, clique no nome da API. São apresentados detalhes como o nome do serviço, o estado, as instruções de instalação das bibliotecas de cliente, a documentação e os exemplos de código.

Ativar APIs Cloud

Para ativar as APIs Cloud para um projeto através da página de detalhes da API, siga estes passos:

  1. Na página de detalhes da API Cloud, escolha o projeto para o qual quer ativar a API Cloud.
  2. Clique em Ativar API. Depois de a API ser ativada, é apresentada uma mensagem para confirmar a alteração.

Adicionar bibliotecas de cliente ao seu projeto

Além de explorar e ativar as APIs Google Cloud com o Cloud Code, pode adicionar uma biblioteca cliente específica da linguagem ao seu projeto.

Para instalar uma biblioteca cliente, siga as instruções na página de detalhes da API para a sua linguagem.

Usar exemplos da API

Pode pesquisar e usar exemplos de código para cada API no explorador de APIs.

  1. Clique em Cloud Code e, de seguida, expanda a secção APIs Cloud.

  2. Para abrir a vista de detalhes, clique no nome de uma API.

  3. Para ver exemplos de código da API, clique em Exemplos de código.

  4. Para filtrar a lista de exemplos, escreva texto para pesquisar ou escolha um idioma de programação na lista Idioma.

  5. Para ver uma amostra, clique no nome da mesma. Também existem opções para copiar o exemplo para a área de transferência ou ver o exemplo no GitHub.

Configurar autenticação

Depois de ativar as APIs necessárias e adicionar as bibliotecas de cliente necessárias, tem de configurar a aplicação para que seja autenticada com êxito. A configuração depende do tipo de desenvolvimento e da plataforma em que está a ser executado.

Depois de concluir os passos de autenticação, a sua aplicação pode autenticar-se e está pronta para ser implementada.

Desenvolvimento local

A instância de VM do Cloud Shell usa a conta de serviço predefinida do Compute Engine (a conta de serviço que o Google Kubernetes Engine usa por predefinição) como a respetiva conta de serviço predefinida. Isto significa que, quando desenvolve com o Cloud Code no Cloud Shell, não precisa de configurar nenhuma configuração adicional quando trabalha com bibliotecas de cliente. A sua aplicação está autenticada e pronta para ser executada localmente.

Desenvolvimento local com APIs que requerem uma conta de serviço

Algumas APIs, como a API Cloud Translation, requerem uma conta de serviço com autorizações adequadas para autenticar os seus pedidos. Para mais informações, consulte o artigo Criar e gerir contas de serviço.

  1. Para abrir um terminal, clique em Terminal > Novo terminal.

  2. Crie uma conta de serviço para autenticar os seus pedidos de API:

    gcloud iam service-accounts create \
    SERVICE_ACCOUNT_ID \
    --project PROJECT_ID

    Substitua os seguintes valores:

    • SERVICE_ACCOUNT_ID: o ID da conta de serviço
    • PROJECT_ID: o ID do projeto

    Para encontrar estes IDs, em Google Cloud, clique no menu de navegação na parte superior esquerda do ecrã, passe o ponteiro do rato sobre IAM e administrador e clique em Contas de serviço.

    A coluna Email mostra o identificador exclusivo SERVICE_ACCOUNT_ID e PROJECT_ID de cada uma das suas contas de serviço no seguinte formato:

    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com

    Por exemplo: um endereço de email de conta de serviço de my-service-account@my-project.iam.gserviceaccount.com tem os seguintes valores:

    • SERVICE_ACCOUNT_ID: my-service-account
    • PROJECT_ID: my-project
  3. Conceda à sua conta de serviço a função adequada. O seguinte comando de exemplo concede a função de utilizador da API Cloud Translation. Para determinar a função a conceder, consulte a documentação da API Google Cloud que está a usar.

    gcloud projects \
    add-iam-policy-binding \
    PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com' \
    --role='roles/cloudtranslate.user'
  4. Crie uma chave de conta de serviço:

    gcloud iam service-accounts keys \
    create key.json --iam-account \
    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
  5. Defina a chave como as suas credenciais predefinidas:

    export \
     GOOGLE_APPLICATION_CREDENTIALS=key.json
    
  6. Opcional: para permitir que os utilizadores se façam passar pela conta de serviço, execute o comando gcloud iam service-accounts add-iam-policy-binding para conceder a um utilizador a função Utilizador da conta de serviço (roles/iam.serviceAccountUser) na conta de serviço:

    gcloud iam service-accounts add-iam-policy-binding \
        SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \
        --member="user:USER_EMAIL" \
        --role="roles/iam.serviceAccountUser"

    Substitua os seguintes valores:

    • USER_EMAIL: o endereço de email do utilizador

Desenvolvimento remoto

GKE

Consoante o âmbito do seu projeto, pode escolher como autenticar Google Cloud serviços no GKE:

  • (Apenas para desenvolvimento)
    1. Crie um cluster do GKE com as seguintes definições:
      • Certifique-se de que está a usar a conta de serviço que o GKE usa por predefinição, a conta de serviço predefinida do Compute Engine, e que os âmbitos de acesso estão definidos como Permitir acesso total a todas as APIs Cloud (ambas as definições estão acessíveis na secção Conjuntos de nós > Segurança). Uma vez que a conta de serviço do Compute Engine é partilhada por todas as cargas de trabalho implementadas no seu nó, este método concede autorizações em excesso e só deve ser usado para desenvolvimento.
      • Certifique-se de que o Workload Identity não está ativado no seu cluster (na secção Cluster > Segurança).
    2. Atribua as funções necessárias à sua conta de serviço:
      • Se estiver a usar a conta de serviço predefinida do Compute Engine, as funções IAM corretas podem já estar aplicadas.
      • Para ver uma lista de tipos de funções de IAM e funções predefinidas que pode conceder a identidades, consulte o guia Compreender as funções. Para ver os passos para conceder as funções, consulte o artigo Conceder, alterar e revogar o acesso a recursos.
  • (Recomendado para produção)
    1. Configure o cluster do GKE e a aplicação com o Workload Identity para autenticar Google Cloud serviços no GKE. Isto associa a sua conta de serviço do Kubernetes à sua conta de serviço Google.
    2. Configure a sua implementação do Kubernetes para referenciar a conta de serviço do Kubernetes definindo o campo .spec.serviceAccountName no ficheiro YAML de implementação do Kubernetes. Se estiver a trabalhar numa app criada a partir de uma aplicação de exemplo do Cloud Code, este ficheiro encontra-se na pasta kubernetes-manifests.
    3. Se o Google Cloud serviço ao qual está a tentar aceder requer funções adicionais, conceda-as à conta de serviço Google que está a usar para desenvolver a sua app:

Cloud Run

  1. Para criar uma nova conta de serviço única para implementar a sua aplicação do Cloud Run, navegue para a página Contas de serviço e, em seguida, selecione o projeto no qual o seu segredo está armazenado.

    Aceda à 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, introduza um nome descritivo para a conta de serviço.
  4. Altere o ID da conta de serviço para um valor único e reconhecível e, de seguida, clique em Criar.
  5. Se o Google Cloud serviço ao qual está a tentar aceder exigir funções adicionais, conceda as funções, clique em Continuar e, de seguida, clique em Concluído.
  6. Para adicionar a sua conta de serviço à configuração de implementação:
    1. Na barra de estado do Cloud Code, escolha o comando Cloud Run: Deploy.
    2. Na IU de implementação do Cloud Run, em Definições de revisão, no campo Conta de serviço, especifique a sua conta de serviço.
    Secção de definições de revisão avançadas expandida no Cloud Run: campo de implementaçã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

Consoante o âmbito do seu projeto, pode escolher como autenticar Google Cloud serviços no GKE:

  • (Apenas para desenvolvimento)
    1. Crie um cluster do GKE com as seguintes definições:
      • Certifique-se de que está a usar a conta de serviço que o GKE usa por predefinição, a conta de serviço predefinida do Compute Engine, e que os âmbitos de acesso estão definidos como Permitir acesso total a todas as APIs Cloud (ambas as definições acessíveis na secção Conjuntos de nós > Segurança). Uma vez que a conta de serviço do Compute Engine é partilhada por todas as cargas de trabalho implementadas no seu nó, este método concede autorizações em excesso e só deve ser usado para desenvolvimento.
      • Certifique-se de que o Workload Identity não está ativado no seu cluster (na secção Cluster > Segurança).
    2. Atribua as funções necessárias à sua conta de serviço:
      • Se estiver a usar a conta de serviço predefinida do Compute Engine, as funções IAM corretas podem já estar aplicadas.
      • Para ver uma lista dos tipos de funções de IAM e das funções predefinidas que pode conceder a identidades, consulte o guia Compreender as funções. Para ver os passos para conceder as funções, consulte o artigo Conceder, alterar e revogar o acesso a recursos.
  • (Recomendado para produção)
    1. Configure o cluster do GKE e a aplicação com o Workload Identity para autenticar Google Cloud serviços no GKE. Isto associa a sua conta de serviço do Kubernetes à sua conta de serviço Google.
    2. Para adicionar a sua conta de serviço à configuração de implementação:
      1. Na barra de estado do Cloud Code, escolha o comando Cloud Run: Deploy.
      2. Na IU de implementação do Cloud Run, em Definições de revisão, no campo Conta de serviço, especifique a sua conta de serviço.
      Secção de definições de revisão avançadas expandida no Cloud Run: campo de implementação e conta de serviço preenchido com o nome da conta de serviço do Kubernetes no formato service-account-name@project-name.iam.gserviceaccount.com
    3. Se o Google Cloud serviço ao qual está a tentar aceder exigir funções adicionais, conceda-as à conta de serviço Google que está a usar para desenvolver a sua app:

Desenvolvimento remoto com autorizações do Secret Manager ativadas

Se estiver a desenvolver remotamente, a usar uma conta de serviço para autenticação e a sua aplicação usar segredos, tem de concluir mais alguns passos, além das instruções de desenvolvimento remoto. Estes passos atribuem à sua conta de serviço Google a função necessária para aceder a um segredo específico do Secret Manager:

  1. Clique em Código na nuvem e, de seguida, expanda a secção Secret Manager.

    O Secret Manager no Cloud Code é aberto com dois segredos listados

  2. Clique com o botão direito do rato no segredo e selecione Editar autorizações na Cloud Console. Esta ação inicia a página de configuração do Secret Manager para esse segredo no seu navegador de Internet.

    Segredo clicado com o botão direito do rato no painel do Secret Manager

  3. Na Google Cloud consola, clique em Autorizações e, de seguida, em Adicionar.

  4. No campo Novos membros, introduza o nome da sua conta de serviço.

  5. No campo Selecionar uma função, escolha a função Secret Manager Secret Accessor.

  6. Clique em Guardar.

    A sua conta de serviço tem agora autorização para aceder a este segredo específico.