Nesta página, você aprenderá como proteger uma instância do Compute Engine com o Identity-Aware Proxy (IAP).
Para proteger recursos que não estão no Google Cloud, consulte Como proteger aplicativos e recursos locais.
Antes de começar
Para ativar o IAP para o Compute Engine, você precisará destes elementos:
- Um projeto do Console do Cloud com o faturamento ativado.
- Um grupo de uma ou mais instâncias do Compute Engine, exibidas por um balanceador de carga.
- Saiba mais sobre Como configurar um balanceador de carga HTTPS externo.
- Saiba mais sobre como configurar um balanceador de carga HTTP interno.
- um nome de domínio registrado no endereço do balanceador de carga.
- o código do aplicativo para verificar se todas as solicitações têm uma identidade.
- Saiba mais sobre como conseguir a identidade do usuário.
Se você ainda não configurou a instância do Compute Engine, consulte Como configurar o IAP para o Compute Engine para um tutorial completo.
Como ativar o IAP usando o Console do Cloud
Como configurar a tela de consentimento do OAuth
Se você ainda não configurou a tela de consentimento do OAuth do seu projeto, precisará fazê-lo. É necessário usar um endereço de e-mail e o nome do produto para isso.
-
Acesse a tela de consentimento OAuth.
Configurar tela de consentimento - Em E-mail de suporte, selecione o endereço de e-mail que você quer exibir como um contato público. O endereço de e-mail precisa pertencer à conta de usuário conectada no momento ou a um grupo do Google a que o usuário pertence no momento.
- Digite o Nome do aplicativo que você quer exibir.
- Adicione os detalhes opcionais que você quiser.
- Clique em Salvar.
Para alterar as informações na tela de consentimento do OAuth posteriormente, como o nome do produto ou o endereço de e-mail, repita as etapas anteriores.
Criar credenciais do OAuth
-
Acesse a página Credenciais.
Acessar a página "Credenciais" - Na lista suspensa Criar credenciais, selecione ID do cliente OAuth.
- Em Tipo de aplicativo, selecione Aplicativo da Web.
- Insira um Nome para o ID do cliente OAuth.
- Clique em Criar. O ID e a chave secreta do cliente OAuth são gerados e exibidos na janela Cliente OAuth.
- Clique em OK.
- Selecione o cliente que você criou.
- Copie o ID do cliente para a área de transferência.
- Inclua o URL de redirecionamento universal no campo de URIs de redirecionamento autorizados, no seguinte formato:
https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
em que
CLIENT_ID
é o ID do cliente OAuth. - Próximo ao topo da página, clique em Fazer o download do JSON. Você usará essas credenciais em uma etapa posterior.
Como configurar o acesso do IAP
-
Acesse a página Identity-Aware Proxy.
Acessar a página "Identity-Aware Proxy" - Selecione o projeto que você quer proteger com o IAP.
- Marque a caixa de seleção ao lado do recurso a que você quer conceder acesso.
- No painel lateral direito, clique em Adicionar principal.
-
Na caixa de diálogo Adicionar principais, insira os endereços de e-mail de grupos ou indivíduos que terão o papel Usuário do app da Web protegido pelo IAP para o projeto.
Os seguintes tipos de principais podem ter esse papel:
- Conta do Google: user@gmail.com
- grupo do Google: admins@googlegroups.com
- Conta de serviço: server@example.gserviceaccount.com
- Domínio do espaço de trabalho do Google: example.com
Inclua uma Conta do Google a que você tenha acesso.
- Selecione Cloud IAP > Usuário do app da Web protegido pelo IAP na lista suspensa Papéis.
- Clique em Salvar.
Como ativar o IAP
-
Na página do Identity-Aware Proxy, em Recursos HTTPS, encontre o balanceador de carga que exibe o instance group a que você quer restringir o acesso. Para ativar o IAP para um recurso,
Para ativar o IAP:- É necessário que pelo menos um protocolo na configuração de front-end do balanceador de carga seja HTTPS. Saiba mais sobre como configurar um balanceador de carga.
-
Você precisa ter as permissões
compute.backendServices.update
,clientauthconfig.clients.create
eclientauthconfig.clients.getWithSecret
. Elas são concedidas por alguns papéis, como o de editor do projeto. Para saber mais, consulte Como gerenciar o acesso a recursos protegidos pelo IAP.
- Na janela Ativar IAP que é exibida, clique em Ativar para confirmar que você quer proteger seu recurso com o IAP. Depois disso, será necessário usar credenciais de login para todas as conexões com o balanceador de carga. O acesso será concedido apenas às contas com o papel usuário do app da Web protegido pelo IAP no projeto.
Como ativar o IAP usando o SDK do Google Cloud
Nesta seção, você verá como usar a ferramenta de linha de comando gcloud para ativar o IAP para aplicativos do Compute Engine. Ainda não há suporte para o uso da ferramenta de linha de comando gcloud para ativar o IAP para o App Engine. Em vez disso, use o guia de início rápido do App Engine.
Receber a CLI do Google Cloud
Antes de configurar o projeto e o IAP, você precisa de uma versão atualizada da CLI gcloud
. Consiga a CLI gcloud
.
Configurar o projeto
Selecione o projeto em que você quer ativar o IAP e configure-o da seguinte maneira:
- Acesse a página Grupos de instâncias para garantir que as instâncias estejam em um grupo de instâncias.
- Defina os serviços de back-end.
- Configure o balanceamento de carga externo ou interno.
- Configure um cliente OAuth:
- Acesse API > Credenciais e selecione o projeto em que você quer ativar o IAP.
- Configure a tela de consentimento do OAuth:
-
Acesse a tela de consentimento OAuth.
Configurar tela de consentimento - Em E-mail de suporte, selecione o endereço de e-mail que você quer exibir como um contato público. O endereço de e-mail precisa pertencer à conta de usuário conectada no momento ou a um grupo do Google a que o usuário pertence no momento.
- Digite o Nome do aplicativo que você quer exibir.
- Adicione os detalhes opcionais que você quiser.
- Clique em Salvar.
Para alterar as informações na tela de consentimento do OAuth posteriormente, como o nome do produto ou o endereço de e-mail, repita as etapas anteriores.
-
Acesse a tela de consentimento OAuth.
- Em Credenciais, clique em Criar credenciais> ID do cliente OAuth.
- Em Tipo de aplicativo, selecione Aplicativo da Web. Em seguida, adicione um Nome.
- Quando terminar de inserir detalhes, clique em Criar.
- Na janela Cliente OAuth, anote o ID do cliente e a chave secreta do cliente.
-
Selecione o cliente novamente. Adicione o URL de redirecionamento universal ao campo de URIs de redirecionamento autorizados no formato
https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
, em que CLIENT_ID é o ID do cliente OAuth.
Como ativar o IAP
-
Use a CLI do Google Cloud para executar
gcloud auth login
. - Siga o URL que aparece para fazer login.
- Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.
- Execute
gcloud config set project PROJECT_ID
no projeto em que você quer ativar o IAP. -
Para ativar o IAP, use o ID e a chave secreta do cliente OAuth criados anteriormente e execute o comando de escopo global ou regional.
-
Escopo global:
gcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
. -
Escopo regional:
gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
.
-
Escopo global:
Depois de ativar o IAP, use a ferramenta de linha de comando gcloud para manipular a política de acesso do IAP usando o papel do IAM roles/iap.httpsResourceAccessor
. Saiba mais sobre como gerenciar papéis e permissões.
Próximas etapas
- Defina regras de contexto mais avançadas aplicando níveis de acesso.
- Para as solicitações de acesso, ative os registros de auditoria do Cloud.
- Saiba mais sobre o IAP.