Controlar quem pode acessar uma API é uma parte importante do seu desenvolvimento. Por exemplo, ao testar sua API, convém automatizar a reimplantação das configurações atualizadas do Cloud Endpoints usando uma conta de serviço que tenha permissão para isso. Por padrão, somente o proprietário do projeto pode gerenciar o acesso a uma API. Esta página mostra como conceder e revogar o acesso à API usando o
o console do Google Cloud ou a Google Cloud CLI.
Usos do Endpoints
Identity and Access Management
para conceder e revogar 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 IAM para
cada um.
Conceder acesso
Console do Google Cloud
-
No console do Google Cloud, acesse Endpoints > página "Serviços"
para o seu projeto.
Ir para a página Serviços do Endpoints
- Se tiver mais de uma API, clique no nome da que desejar.
-
Se o painel lateral Permissões não estiver aberto, clique em addPermissões.
- Na caixa Adicionar membros, insira o endereço de e-mail de um usuário, conta de serviço ou Grupo do Google.
- No menu suspenso Selecionar um papel, clique em Service Management e selecione um dos seguintes papéis:
-
Consumidor de serviço: esse papel contém as permissões para que um membro que não pertença ao projeto visualize e ative a API em seu próprio projeto. Se você criou um portal para sua API, esse papel permite que os usuários da API acessem o portal.
- Controlador de serviço: esse papel contém as permissões para fazer chamadas para os métodos
check
e
report
na API Service Infrastructure
no ambiente de execução.
- 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.
Para mais informações sobre esse papel, consulte o tópico Controle de acesso à API Service Management. Ainda que o console do Google Cloud permita selecionar outros papéis,
e não são úteis para gerenciar a API.
-
Para adicionar o membro ao papel de IAM especificado, clique em Adicionar.
-
Adicione quantos membros e papéis forem necessários.
-
Os papéis do Service Management não permitem que os usuários acessem Endpoints >
Serviços no console do Google Cloud. Se você 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
-
Abra o Cloud Shell ou, se você tiver a Google Cloud CLI instalada, abra uma
janela de terminal.
- 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]'
Para o papel, especifique um dos papéis de IAM a seguir:
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 a essa API usando gcloud
ou os métodos programáticos descritos em Como 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 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]'
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 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]'
Por exemplo:
gcloud endpoints services add-iam-policy-binding example-service-name \
--member='group:example-group@googlegroups.com' \
--role='roles/servicemanagement.configEditor'
-
Os papéis do Service Management não permitem que os usuários acessem
Endpoints > Serviços no console do Google Cloud. Se você 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 IAM do membro
que tinha a função anteriormente.
Console do Google Cloud
-
No console do Google Cloud, acesse Endpoints > página Serviços
para seu projeto.
Ir para a página Serviços do Endpoints
- Se tiver mais de uma API, clique no nome da que desejar.
-
Se o painel lateral Permissões não estiver aberto, clique em addPermissões.
-
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.
-
Clique em Excluir delete.
- Se você também quiser revogar o acesso de um usuário a seu projeto do Google Cloud, consulte Como conceder, alterar e revogar o acesso a recursos para mais detalhes.
gcloud
-
Abra o Cloud Shell ou, se tiver a CLI gcloud instalada,
abra uma janela de terminal.
- 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'
- Se você também quiser revogar o acesso de um usuário a seu projeto do Google Cloud, consulte Como conceder, alterar e revogar o acesso a recursos para mais detalhes.
A seguir
Saiba mais sobre: