Como conceder e revogar o acesso à API

Uma parte importante do desenvolvimento de uma API é controlar quem pode acessá-la. Por exemplo, ao testá-la, é possível automatizar a reimplantação de configurações atualizadas do Cloud Endpoints usando uma conta de serviço com a permissão adequada. Por padrão, somente o proprietário do projeto pode gerenciar o acesso a uma API. Nesta página, você verá como conceder e revogar o acesso à API usando o Console do GCP ou a ferramenta de linha de comando gcloud.

O Endpoints usa os papéis Cloud Identity e Access Management para controle de acesso no nível da API É possível conceder e revogar acesso a um usuário, conta de serviço ou Grupo do Google.

Os Grupos do Google são uma maneira prática de gerenciar o acesso de um conjunto de usuários. Em vez de conceder ou revogar o acesso a cada usuário ou conta de serviço, faça-o a um grupo inteiro de uma só vez. Também é possível adicionar e remover membros de um Grupo do Google facilmente, em vez de conceder ou revogar o papel do Cloud IAM para cada um.

Como conceder acesso

Console do GCP

  1. No Console do GCP, acesse a página Endpoints > Serviços do projeto.

    Ir para a página "Serviços do Endpoints"

  2. Se tiver mais de uma API, clique no nome da que desejar.
  3. Se o painel lateral Permissões não estiver aberto, clique em addPermissões.
  4. Na caixa Adicionar membros, insira o endereço de e-mail de um usuário, conta de serviço ou Grupo do Google.
  5. No menu suspenso Selecionar um papel, clique em Service Management e selecione um dos seguintes papéis:
    • Editor de configuração do serviço: esse papel contém as permissões mínimas exigidas pelo Service Management para implantar uma configuração do Endpoints em um serviço atual.
    • Administrador do Service Management: esse papel contém as permissões dos papéis Editor de configuração do serviço, Consumidor de serviço e Controlador de serviço, além das permissões necessárias para conceder acesso a essa API usando gcloud ou os métodos programáticos descritos em Como conceder, alterar e revogar o acesso a recursos.

    Com o Console do GCP, é possível selecionar outros papéis, mas eles não serão úteis no gerenciamento da API.

  6. Para adicionar o membro ao papel de Cloud IAM especificado, clique em Adicionar.
  7. Adicione quantos membros e papéis forem necessários.
  8. Os papéis do Service Management não permitem que os usuários acessem a página Endpoints > Serviços no Console do GCP. Se quiser que os usuários acessem a página Endpoints > Serviços, conceda a eles o papel de Leitor do projeto ou superior. Para mais detalhes, consulte Como conceder, alterar e revogar acesso a recursos.

gcloud

  1. Abra o Cloud Shell ou, caso tenha o SDK do Cloud instalado, abra uma janela de terminal.
  2. Digite o comando gcloud aplicável:
    • Se estiver concedendo acesso a um usuário, execute o seguinte comando:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      Especifique um dos seguintes papéis do Cloud IAM:

      • roles/servicemanagement.configEditor: esse papel contém as permissões mínimas exigidas pelo Service Management para implantar uma configuração do Endpoints em um serviço atual.
      • roles/servicemanagement.admin: esse papel contém as permissões em roles/servicemanagement.configEditor, roles/servicemanagement.serviceConsumer e roles/servicemanagement.serviceController, além das permissões necessárias para conceder acesso à API usando gcloud ou os métodos programáticos descritos em Como conceder, alterar e revogar o acesso a recursos.

      Exemplo:

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

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

      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 concedendo acesso a um Grupo do Google, execute o seguinte comando:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='group:[GROUP-NAME]@googlegroups.com' \
        --role='[ROLE]'

      Exemplo:

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

  3. Os papéis do Service Management não permitem que os usuários acessem a página Endpoints > Serviços no Console do GCP. Se quiser que os usuários acessem a página Endpoints > Serviços, conceda a eles o papel de Leitor do projeto ou superior. Para mais detalhes, consulte Como conceder, alterar e revogar acesso a recursos.

Como revogar o acesso

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

Console do GCP

  1. No Console do GCP, acesse a página Endpoints > Serviços do projeto.

    Ir para a página "Serviços do Endpoints"

  2. Se tiver mais de uma API, clique no nome da que desejar.
  3. Se o painel lateral Permissões não estiver aberto, clique em addPermissões.
  4. Localize o membro para quem você quer revogar o acesso. É possível clicar no cartão Papel aplicável para ver uma lista de membros ou digitar um nome ou papel na caixa Pesquisar membros.
  5. Clique em Excluir delete.
  6. Se também quiser revogar o acesso de um usuário ao seu projeto do GCP, consulte Como conceder, alterar e revogar o acesso a recursos.

gcloud

  1. Abra o Cloud Shell ou, caso tenha o SDK do Cloud instalado, abra uma janela de terminal.
  2. Digite o comando gcloud aplicável:
    • Se estiver revogando o acesso de um usuário, execute o seguinte comando:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      Exemplo:

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

      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 revogando o acesso de um Grupo do Google, execute o seguinte comando:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
            --member='group:[GROUP-NAME]@googlegroups.com' \
            --role='[ROLE-NAME]'

      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 usuário ao seu projeto do GCP, consulte Como conceder, alterar e revogar o acesso a recursos.

A seguir

Saiba mais sobre:

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Endpoints com gRPC
Precisa de ajuda? Acesse nossa página de suporte.