Conceder e revogar o acesso à API

Controlar quem tem acesso a uma API é uma parte integral do desenvolvimento. Por exemplo, à medida que testa a sua API, pode querer automatizar a reimplementação de configurações atualizadas do Cloud Endpoints através de uma conta de serviço que tenha autorização para o fazer. Por predefinição, apenas o proprietário do projeto pode gerir o acesso a uma API. Esta página mostra-lhe como conceder e revogar o acesso à sua API através da consolaGoogle Cloud ou da CLI Google Cloud.

O Endpoints usa funções da gestão de identidade e de acesso para conceder e revogar o acesso ao nível da API. Pode conceder e revogar o acesso a um utilizador, a uma conta de serviço ou a um grupo Google.

Os Grupos Google são uma forma conveniente de conceder ou revogar o acesso a uma coleção de utilizadores. Pode conceder ou revogar o acesso de um grupo inteiro de uma só vez, em vez de conceder ou revogar o acesso individualmente para utilizadores ou contas de serviços. Também pode adicionar ou remover facilmente membros de um grupo Google em vez de conceder ou revogar a função do IAM para cada membro.

Conceder acesso

Google Cloud consola

  1. Na Google Cloud consola, aceda à página Endpoints > Services do seu projeto.

    Aceda à página Serviços de pontos finais

  2. Se tiver mais de uma API, clique no nome da API.
  3. Se o painel lateral Autorizações não estiver aberto, clique em Autorizações.
  4. Na caixa Adicionar membros, introduza o endereço de email de um utilizador, uma conta de serviço ou um grupo Google.
  5. No menu pendente Selecionar uma função, clique em Gestão de serviços e selecione uma das seguintes funções:
    • Consumidor de serviços: esta função contém as autorizações para um membro que não pertence ao projeto ver e ativar a API no seu próprio projeto. Se tiver criado um portal para a sua API, esta função permite que os utilizadores da API acedam ao portal.
    • Controlador de serviços: esta função contém as autorizações para fazer chamadas para os métodos check e report na API Service Infrastructure durante a execução.
    • Editor de configuração de serviços: esta função contém as autorizações mínimas que a gestão de serviços requer para implementar uma configuração de Endpoints num serviço existente.
    • Administrador de gestão de serviços: esta função contém as autorizações nas funções de editor de configuração de serviços, consumidor de serviços e controlador de serviços, além das autorizações necessárias para conceder acesso a esta API através da gcloud ou dos métodos programáticos descritos em Conceder, alterar e revogar o acesso a recursos.

    Consulte o tópico Controlo de acesso da API Service Management para ver informações sobre esta função. Embora a Google Cloud consola permita selecionar outras funções, essas funções não são úteis para gerir a sua API.

  6. Para adicionar o membro à função do IAM especificada, clique em Adicionar.
  7. Repita a adição de membros e a seleção da função, conforme necessário.
  8. As funções de gestão de serviços não permitem que os utilizadores acedam à página Endpoints > Serviços na Google Cloud consola. Se quiser que os utilizadores possam aceder à página Endpoints > Serviços, tem de lhes conceder a função de Leitor do projeto ou uma função superior no projeto. Consulte o artigo Conceder, alterar e revogar o acesso a recursos para ver detalhes.

gcloud

  1. Abra o Cloud Shell ou, se tiver a CLI Google Cloud instalada, abra uma janela de terminal.
  2. Introduza o comando gcloud aplicável:
    • Se estiver a conceder acesso a um utilizador, execute o seguinte:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      Para a função, especifique uma das seguintes funções de IAM:

      • roles/servicemanagement.configEditor: esta função contém as autorizações mínimas que a gestão de serviços requer para implementar uma configuração do Endpoints num serviço existente.
      • roles/servicemanagement.admin: esta função contém as autorizações em roles/servicemanagement.configEditor, roles/servicemanagement.serviceConsumer e roles/servicemanagement.serviceController, além das autorizações necessárias para conceder acesso a esta API através de gcloud ou dos métodos programáticos descritos em Conceder, alterar e revogar o acesso a recursos.

      Por exemplo:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='user:example-user@gmail.com' \
        --role='roles/servicemanagement.admin'

    • Se estiver a conceder acesso a uma conta de serviço, execute o seguinte:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='serviceAccount:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      Por exemplo:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
        --role='roles/servicemanagement.configEditor'

    • Se estiver a conceder acesso a um Grupo Google, execute o seguinte:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='group:[GROUP-NAME]@googlegroups.com' \
        --role='[ROLE]'

      Por exemplo:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='group:example-group@googlegroups.com' \
        --role='roles/servicemanagement.configEditor'

  3. As funções de gestão de serviços não permitem que os utilizadores acedam à página Endpoints > Serviços na Google Cloud consola. Se quiser que os utilizadores possam aceder à página Endpoints > Serviços, tem de lhes conceder a função de Leitor do projeto ou uma função superior no projeto. Consulte o artigo Conceder, alterar e revogar o acesso a recursos para ver detalhes.

Revogar o acesso

Para revogar o acesso à sua API, remova a função do IAM do membro que tinha a função anteriormente.

Google Cloud consola

  1. Na Google Cloud consola, aceda à página Endpoints > Serviços do seu projeto.

    Aceda à página Serviços de pontos finais

  2. Se tiver mais de uma API, clique no nome da API.
  3. Se o painel lateral Autorizações não estiver aberto, clique em Autorizações.
  4. Localize o membro para o qual quer revogar o acesso. Pode clicar no cartão Função aplicável para ver uma lista de membros ou introduzir um nome ou uma função na caixa Pesquisar membros.
  5. Clique em Eliminar .
  6. Se também quiser revogar o acesso de um utilizador ao seu Google Cloud projeto, consulte o artigo Conceder, alterar e revogar o acesso a recursos para ver detalhes.

gcloud

  1. Abra o Cloud Shell ou, se tiver a CLI gcloud instalada, abra uma janela de terminal.
  2. Introduza o comando gcloud aplicável:
    • Se estiver a revogar o acesso de um utilizador, execute o seguinte comando:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      Por exemplo:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
        --member='user:example-user@gmail.com' \
        --role='roles/editor'
    • Se estiver a revogar o acesso para uma conta de serviço, execute o seguinte:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='serviceAccount:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      Por exemplo:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
        --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
        --role='roles/servicemanagement.configEditor'
    • Se estiver a revogar o acesso para um Grupo Google, execute o seguinte:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
            --member='group:[GROUP-NAME]@googlegroups.com' \
            --role='[ROLE-NAME]'

      Por exemplo:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
            --member='group:example-group@googlegroups.com' \
            --role='roles/viewer'
  3. Se também quiser revogar o acesso de um utilizador ao seu Google Cloud projeto, consulte o artigo Conceder, alterar e revogar o acesso a recursos para ver detalhes.

O que se segue?

Saiba mais acerca do: