Nesta página, você aprenderá como proteger uma instância do Compute Engine com o Identity-Aware Proxy (IAP).
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
This section describes how to use the gcloud command-line tool to turn on IAP for Compute Engine applications. Using the gcloud command-line tool to turn on IAP for App Engine is not yet supported. Use the App Engine quickstart instead.
Getting Google Cloud CLI
Before you set up your project and IAP, you need an up-to-date version of gcloud CLI. Get gcloud CLI.
Setting up your project
Select the project for which you want to enable IAP and set it up as follows:
- Go to the Instance groups page to make sure your instances are in an instance group.
- Define backend services.
- Set up external or internal load balancing.
- Set up an OAuth client:
- Go to API > Credentials and select the project for which you want to enable IAP.
-
Set up your OAuth consent screen:
-
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.
- Under Credentials, click Create credentials > OAuth client ID.
- Under Application type select Web application, then add a Name.
- When you're finished entering details, click Create.
- In the OAuth client window that appears, make note of the client ID and client secret.
-
Select the client again. Add the universal redirect URL to the authorized redirect URIs field in the format of
https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
, where CLIENT_ID is the OAuth client ID.
Enabling IAP
-
Use the Google Cloud CLI to run
gcloud auth login
. - Follow the URL that appears to sign in.
- After you sign in, copy the verification code that appears and paste it in the command line.
-
Run
gcloud config set project PROJECT_ID
for the project for which you want to enable IAP. -
To enable IAP, use the OAuth client ID and secret you created previously and run
either the globally or regionally scoped command.
-
Global scope:
gcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
. -
Regional scope:
gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET
.
-
Global scope:
After you enable IAP, you can use the gcloud command-line tool to manipulate
IAP access policy using the IAM role
roles/iap.httpsResourceAccessor
. Learn more about
managing roles and permissions.