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 Google 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 Google Cloud
Como configurar a tela de consentimento do OAuth
Se você não tiver configurado a tela de permissão OAuth do seu projeto, precisará fazer isso. É necessário um endereço de e-mail e um nome de produto para a tela de permissão 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.
Criar credenciais do OAuth
-
Acesse a página Credenciais.
Acessar a página "Credenciais" - No menu suspenso Criar credenciais, selecione o ID do cliente OAuth.
- Em Tipo de aplicativo, selecione Aplicativo da Web.
- Adicione um Nome para seu 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.
- Na caixa de diálogo Oauth client created, copie o ID do cliente para a área de transferência.
- Clique em OK.
- Clique no nome do cliente recém-criado para reabri-lo para edição.
-
No campo URIs de redirecionamento autorizados, insira a seguinte string:
https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
em que
CLIENT_ID
é o ID do cliente OAuth que você acabou de copiar para a área de transferência.
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 à direita, clique em Adicionar principal.
-
Na caixa de diálogo Adicionar participantes que é exibida, 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 no projeto.
Os seguintes tipos de principais podem ter este papel:
- Conta do Google: user@gmail.com
- grupo do Google: admins@googlegroups.com
- Conta de serviço: server@example.gserviceaccount.com
- Domínio do Google Workspace: 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 Save.
Como ativar o IAP
-
Na página Identity-Aware Proxy, em APLICATIVOS,
encontre o balanceador de carga que atende aos instance group aos quais você quer restringir
o acesso. Para ativar o IAP para um recurso,
Para ativar o IAP:- Pelo menos um protocolo na configuração de front-end do balanceador de carga precisa ser HTTPS. Saiba 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.
Acessar a Google Cloud CLI
Antes de configurar o projeto e o IAP, você precisa de uma versão atualizada da CLI gcloud. Instale a CLI gcloud.
Configurando 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 e 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 Google Cloud CLI 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 secret e o ID do cliente OAuth criados anteriormente e execute o comando com 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.