Uma parte importante do desenvolvimento de uma API é controlar quem pode acessá-la. 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. Nesta página, mostramos como conceder e revogar o acesso à API usando o console do Google Cloud ou a Google Cloud CLI.
O Endpoints usa os papéis
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 IAM para
cada um.
Conceder acesso
Console do Google Cloud
-
No console do Google Cloud, acesse a página Endpoints > Serviços do 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 durante o tempo 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 nos 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 acesso a recursos.
Para mais informações sobre esse papel, consulte o tópico Controle de acesso à API Service Management. Embora o console do Google Cloud permita selecionar outros papéis, eles não são úteis para gerenciar sua 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 a página 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 você estiver concedendo acesso a um usuário, execute o comando a seguir:
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 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 você 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 você estiver concedendo acesso a um Grupo do Google, execute o seguinte:
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'
-
Os papéis do Service Management não permitem que os usuários acessem a página 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 a página Endpoints > Serviços do 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 ao projeto do Google Cloud, consulte Como conceder, alterar e revogar acesso a recursos para mais detalhes.
gcloud
-
Abra o Cloud Shell ou, se você tiver a CLI gcloud instalada,
abra uma janela do 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 ao projeto do Google Cloud, consulte Como conceder, alterar e revogar acesso a recursos para mais detalhes.
A seguir
Saiba mais sobre: