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 Google Cloud projeto do console com 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.
O IAP usa um cliente OAuth gerenciado pelo Google para autenticar usuários. Somente os usuários da organização podem acessar o aplicativo ativado para IAPs. Se você quiser permitir o acesso a usuários de fora da sua organização, consulte Ativar o IAP para aplicativos externos.
É possível ativar o IAP em um serviço de back-end do Compute Engine ou em uma regra de encaminhamento do Compute Engine. Quando você ativa o IAP em um serviço de back-end do Compute Engine, somente esse serviço de back-end é protegido pelo IAP. Quando você ativa o IAP em uma regra de encaminhamento do Compute Engine, todas as instâncias do Compute Engine por trás da regra de encaminhamento são protegidas pelo IAP.
Ativar o IAP em uma regra de encaminhamento
É possível ativar o IAP em uma regra de encaminhamento usando o framework de políticas de autorização do balanceador de carga.
gcloud
- Execute o comando a seguir para preparar um arquivo 
policy.yaml. A política permite que clientes com um intervalo de endereços IP de10.0.0.1/24ativem o IAP em uma regra de encaminhamento. 
$ cat << EOF > policy.yaml
action: CUSTOM
description: authz policy with Cloud IAP
name: AUTHZ_POLICY_NAME
httpRules:
  - from:
      sources:
      - ipBlocks:
        - prefix: "10.0.0.1"
          length: 24
customProvider:
  cloudIap: {}
target:
  loadBalancingScheme: EXTERNAL_MANAGED
  resources:
  - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/FORWARDING_RULE_ID
EOF
- Execute o comando a seguir para ativar o IAP em uma regra de encaminhamento.
 
gcloud beta network-security authz-policies import AUTHZ_POLICY_NAME \ --source=policy.yaml \ --location=LOCATION \ --project=PROJECT_ID
Substitua:
- PROJECT_ID: o ID do projeto do Google Cloud .
 - LOCATION: a região em que o recurso está localizado.
 - FORWARDING_RULE_ID: o ID do recurso de regra de encaminhamento.
 - AUTHZ_POLICY_NAME: o nome da política de autorização.
 
API
- Execute o comando a seguir para preparar um arquivo 
policy.json.cat << EOF > policy.json { "name": "AUTHZ_POLICY_NAME", "target": { "loadBalancingScheme": "INTERNAL_MANAGED", "resources": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/FORWARDING_RULE_ID" ], }, "action": "CUSTOM", "httpRules": [ { "from": { "sources": { "ipBlocks": [ { "prefix": "10.0.0.1", "length": 24 } ] } } } ], "customProvider": { "cloudIap": {} } } EOF Execute o comando a seguir para ativar o IAP em uma regra de encaminhamento.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @policy.json \ "https://networksecurity.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/authzPolicies"
Substitua:
- PROJECT_ID: o ID do projeto do Google Cloud .
 - LOCATION: a região em que o recurso está localizado.
 - FORWARDING_RULE_ID: o ID do recurso de regra de encaminhamento.
 - AUTHZ_POLICY_NAME: o nome da política de autorização.
 
Depois de ativar o IAP em uma regra de encaminhamento, é possível aplicar permissões aos recursos.
Ativar o IAP em um serviço de back-end do Compute Engine
É possível ativar o IAP em um serviço de back-end do Compute Engine por esse serviço de back-end.
Console
O cliente OAuth gerenciado pelo Google não está disponível ao ativar o IAP usando o console Google Cloud .
Se você ainda não tiver configurado a tela de consentimento do OAuth do seu projeto, precisará fazer isso. Para configurar a tela de consentimento do OAuth, consulte Como configurar a tela de consentimento do OAuth.
Se você estiver executando clusters do GKE na versão 1.24 ou mais recente, será possível configurar
o IAP e o GKE usando a API Kubernetes Gateway. Para fazer isso, siga
as etapas abaixo e depois as instruções em
Configurar o IAP.
Não configure BackendConfig.
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 que você quer conceder acesso.
Se você não encontrar um recurso, verifique se ele foi criado e se o controlador de entrada do Compute Engine BackendConfig foi sincronizado.
Para verificar se o serviço de back-end está disponível, execute o seguinte comando gcloud:
gcloud compute backend-services list - No painel à direita, clique em Adicionar principal.
 - 
    Na caixa de diálogo Adicionar membros 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 administradores 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 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 Salvar.
 
Como ativar o IAP
- 
    Na página Identity-Aware Proxy, em APLICATIVOS,
    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.createeclientauthconfig.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.
 
gcloud
Antes de configurar o projeto e o IAP, você precisa de uma versão atualizada da CLI gcloud. Para instruções sobre como instalar a CLI gcloud, consulte Instalar a CLI gcloud.
- 
    Para fazer a autenticação, use a CLI do Google Cloud e execute o comando a seguir.
    
gcloud auth login - Para fazer login, siga o URL que aparece.
 - Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.
 - 
    Execute o comando abaixo para especificar o projeto que contém o recurso que você quer proteger com o IAP.
    
gcloud config set project PROJECT_ID - 
    Para ativar o IAP, execute o comando com escopo global ou regional.
    
Escopo global Escopo regionalgcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabledgcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled 
Depois de ativar o IAP, será possível usar a CLI gcloud para modificar
a política de acesso do IAP usando o papel roles/iap.httpsResourceAccessor do IAM. Saiba mais sobre como gerenciar papéis e permissões.
API
Execute o comando a seguir para preparar um arquivo
settings.json.cat << EOF > settings.json { "iap": { "enabled":true } } EOFExecute o comando abaixo para ativar o IAP.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/REGION/backendServices/BACKEND_SERVICE_NAME"
Depois de ativar o IAP, será possível usar a CLI do Google Cloud para modificar 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.