Como proteger aplicativos e recursos do Compute Engine com o IAP

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:

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.

  1. Acesse a tela de consentimento OAuth.
    Configurar tela de consentimento
  2. 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.
  3. Digite o Nome do aplicativo que você quer exibir.
  4. Adicione os detalhes opcionais que você quiser.
  5. 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

  1. Acesse a página Credenciais.
    Acessar a página "Credenciais"
  2. No menu suspenso Criar credenciais, selecione o ID do cliente OAuth.
  3. Em Tipo de aplicativo, selecione Aplicativo da Web.
  4. Adicione um Nome para seu ID do cliente OAuth.
  5. Clique em Criar.

    O ID e a chave secreta do cliente OAuth são gerados e exibidos na janela Cliente OAuth.

  6. Na caixa de diálogo Oauth client created, copie o ID do cliente para a área de transferência.
  7. Clique em OK.
  8. Clique no nome do cliente recém-criado para reabri-lo para edição.
  9. 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

  1. Acesse a página Identity-Aware Proxy.
    Acessar a página "Identity-Aware Proxy"
  2. Selecione o projeto que você quer proteger com o IAP.
  3. Marque a caixa de seleção ao lado do recurso a que você quer conceder acesso.
  4. No painel lateral à direita, clique em Adicionar principal.
  5. 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.

  6. Selecione Cloud IAP > Usuário do app da Web protegido pelo IAP na lista suspensa Papéis.
  7. Clique em Save.

Como ativar o IAP

  1. 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:
  2. 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:

  1. Acesse a página Grupos de instâncias para garantir que as instâncias estejam em um grupo de instâncias.
  2. Defina os serviços de back-end.
  3. Configure o balanceamento de carga externo ou interno.
  4. Configure um cliente OAuth:
    1. Acesse API > Credenciais e selecione o projeto em que você quer ativar o IAP.
    2. Configure a tela de consentimento do OAuth:
      1. Acesse a tela de consentimento OAuth.
        Configurar tela de consentimento
      2. 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.
      3. Digite o Nome do aplicativo que você quer exibir.
      4. Adicione os detalhes opcionais que você quiser.
      5. 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.

    3. Em Credenciais, clique em Criar credenciais> ID do cliente OAuth.
    4. Em Tipo de aplicativo, selecione Aplicativo da Web e adicione um Nome.
    5. Quando terminar de inserir detalhes, clique em Criar.
    6. Na janela Cliente OAuth, anote o ID do cliente e a chave secreta do cliente.
    7. 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

  1. Use a Google Cloud CLI para executar gcloud auth login.
  2. Siga o URL que aparece para fazer login.
  3. Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.
  4. Execute gcloud config set project PROJECT_ID no projeto em que você quer ativar o IAP.
  5. 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.

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