Proteger aplicativos cliente-servidor

Proteger aplicativos cliente-servidor com o conector cliente

Nesta página, você encontra uma visão geral de alto nível do conector de cliente do BeyondCorp Enterprise e descreve como ativá-lo para proteger seus aplicativos de cliente-servidor.

Visão geral

O BeyondCorp Enterprise é a solução de confiança zero do Google Cloud que fornece acesso seguro a aplicativos particulares com proteção integrada de dados e contra ameaças. O BeyondCorp Enterprise usa o Chrome para fornecer acesso seguro a todos os aplicativos baseados na Web (HTTPS).

O conector de cliente do BeyondCorp Enterprise estende o suporte a aplicativos que não são da Web criando uma conexão segura com aplicativos executados em ambientes do Google Cloud e de terceiros, com contexto completo e acesso baseado na identidade.

Como funciona

O diagrama a seguir mostra uma visão geral de alto nível da arquitetura do conector do cliente.

Componentes do conector de cliente do BeyondCorp Enterprise

Veja a seguir os principais componentes que fazem parte do conector do cliente:

Verificação de endpoints e agente de clientes: o conector de clientes se integra à verificação de endpoints, uma extensão do Chrome com um agente leve nativo que é executado em laptops ou computadores de usuários e informa as informações do dispositivo. A verificação de endpoints também atua como o plano de controle para o usuário final iniciar e interromper as conexões com os gateways do cliente.

Gateways de cliente: componentes regionais do lado do servidor aos quais os clientes podem se conectar. Os gateways do cliente são implantados pelos administradores. Os gateways se comunicam com o sistema de aplicação do BeyondCorp Enterprise para aplicar verificações baseadas ao contexto. O sistema de aplicação do BeyondCorp Enterprise usa o Identity-Aware Proxy e o Access Context Manager, um mecanismo flexível de política de confiança zero do BeyondCorp Enterprise.

O conector do cliente envia tráfego para seus aplicativos protegidos do usuário final, cliente, dispositivos por meio de um canal seguro e um gateway. É possível se conectar a aplicativos da Web e que não são da Web em execução no Google Cloud ou fora dele. Use o Cloud VPN ou o Cloud Interconnect para se conectar aos seus aplicativos que não estão no Google Cloud.

Antes de começar

Antes de ativar o conector de cliente do BeyondCorp Enterprise, verifique se você tem o seguinte:

Ativar o conector do cliente do BeyondCorp Enterprise

Configurar o acesso a serviços particulares

O conector do cliente usa o acesso a serviços particulares para ativar a conectividade entre a rede VPC gerenciada pelo Google e a rede VPC do consumidor. Isso garante que o tráfego de usuários seja roteado para a rede VPC do consumidor.

Console

  1. O acesso a serviços particulares exige que você reserve um intervalo de endereços IP para que não haja colisões de endereços IP entre a rede VPC e a rede VPC gerenciada pelo Google. Conclua as etapas a seguir para alocar um intervalo de IP:

    1. Acesse a página "Redes VPC" no Console do Google Cloud.
      Acesse Redes VPC

    2. Selecione a rede VPC conectada ao aplicativo.

    3. Selecione a guia Conexão de serviço privado.

    4. Na guia Conexão de serviço privado, selecione Intervalos de IP alocados para serviços.

    5. Clique em Alocar intervalo de IP.

    6. Digite um Nome e uma Descrição para o intervalo de IP para alocar.

    7. Especifique um intervalo de IP para a alocação:

      • Para especificar um intervalo de endereços IP, selecione Personalizado e insira um bloco CIDR, como 192.168.0.0/16.
      • Para especificar o tamanho de um prefixo e permitir que o Google selecione um intervalo disponível, selecione Automático e insira um tamanho de prefixo, como 16.

      Especifique uma rede com valor mínimo de /24.

    8. Clique em Alocar para criar o intervalo alocado.

  2. Crie uma conexão de peering de rede VPC concluindo as seguintes etapas:

    1. Acesse a página "Redes VPC" no Console do Google Cloud.
      Acesse Redes VPC
    2. Selecione a rede VPC conectada ao aplicativo.
    3. Selecione a guia Conexão de serviço privado.
    4. Na guia Conexão de serviço privado, selecione a guia Conexões privadas com os serviços.
    5. Clique em Criar conexão para criar uma conexão particular entre sua rede e o serviço do conector de cliente.
    6. Na janela aberta, mantenha o padrão para produtor de Serviço conectado. Em Alocação atribuída, selecione o intervalo alocado que você criou na etapa anterior.
    7. Clique em Conectar para criar a conexão.
  3. Crie uma regra de firewall.

    1. No Console do Google Cloud, acesse a página Firewall.
      Acessar a página "Firewall"
    2. Clique em Criar regra de firewall.
    3. Digite um Nome para a regra do firewall.
      O nome do projeto precisa ser exclusivo.
    4. Opcional: é possível ativar a geração de registros de regras de firewall:
      • Clique em Registros > Ativado.
      • Para omitir metadados, expanda Detalhes dos registros e desmarque a opção Incluir metadados.
    5. Especifique a Rede conectada ao aplicativo.
    6. Especifique a Prioridade da regra. Quanto menor o número, mais alta a prioridade.
    7. Em Direção do tráfego, selecione Entrada.
    8. Em Ação se houver correspondência, selecione Permitir.
    9. Em Destinos, selecione Todas as instâncias na rede.
    10. Em Filtro de origem, selecione Intervalos IPv4 e insira os valores address e prefixLength da Etapa 1 para representar o intervalo de IPs alocado no formato CIDR. Use o formato 0.0.0.0/0 para qualquer origem IPv4.
    11. Em Protocolos e portas, selecione Permitir todos para que a regra se aplique a todos os protocolos e portas.
    12. Clique em CRIAR.

gcloud

  1. O acesso a serviços particulares exige que você reserve um intervalo de endereços IP para que não haja colisões de endereços IP entre a rede VPC e a rede VPC gerenciada pelo Google. Execute o seguinte comando para alocar um intervalo de IP:

    gcloud compute addresses create RESERVED_RANGE \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --prefix-length=16 \
      --purpose=VPC_PEERING \
      --global
    

    Substitua:

    • RESERVED_RANGE: o nome do intervalo de endereços IP a ser reservado para o peering de VPC. O nome só pode conter letras minúsculas, números e hifens.
    • CONSUMER_NETWORK: o nome da rede VPC conectada ao aplicativo.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  2. Criar a conexão de peering de VPC

    gcloud services vpc-peerings connect \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --ranges=RESERVED_RANGE \
      --service="servicenetworking.googleapis.com"
    

    Substitua:

    • CONSUMER_NETWORK: o nome da rede VPC conectada ao aplicativo.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • RESERVED_RANGE: o nome do intervalo reservado para peering de VPC.
  3. Veja os detalhes do intervalo de IP alocado.

    gcloud compute addresses describe RESERVED_RANGE \
      --global \
      --project=CONSUMER_PROJECT
    

    Substitua:

    • RESERVED_RANGE: o nome do intervalo reservado para peering de VPC.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  4. Use os valores address e prefixLength da saída na etapa anterior para representar o intervalo de IPs alocado no formato CIDR e depois crie uma regra de firewall.

    gcloud compute firewall-rules create "allow-peered-ingress" \
      --network=CONSUMER_NETWORK \
      --project=CONSUMER_PROJECT \
      --direction ingress \
      --action allow \
      --source-ranges={Allocated IP range in CIDR format i.e. address/prefixLength} \
      --rules=all
    

    Substitua:

    • CONSUMER_NETWORK: o nome da rede VPC conectada ao aplicativo.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.

Veja informações sobre como configurar regras de firewall em Usar regras de firewall da VPC.

Configurar os recursos do conector de cliente

Há dois tipos de recursos que você precisa configurar:

  • Serviço do conector do cliente: define uma configuração comum para um grupo de gateways de cliente.
  • Gateway do cliente: refere-se ao serviço do conector do cliente e controla as regiões em que você quer gerenciar o tráfego de usuários.

Apenas um serviço de conector de cliente por domínio e um gateway de cliente por região por serviço de conector de cliente é permitido. Além disso, só é possível usar as seguintes regiões para hospedar o serviço de conector do cliente e os recursos do gateway: asia-east1, europe-west1, us-east1 e us-central1.

Criar o serviço do conector de cliente

Console

  1. Acesse a página de administrador do IAP.

    Acessar o IAP

  2. Clique em CONECTORES > ATIVAR O CONECTO DE CLIENTE.

  3. Insira a rede VPC que vai receber o tráfego de clientes gerenciados.

  4. Selecione as regiões às quais seus clientes podem se conectar. Os gateways de cliente são criados nesta etapa. Portanto, não é preciso criar os gateways no procedimento Criar, verificar ou remover gateways de cliente.

  5. Insira o intervalo de endereços IP dos aplicativos que você quer que o conector de cliente alcance.

  6. Clique em ATIVAR Conector do cliente. A criação do conector pode levar vários minutos.

gcloud

Execute este comando:

gcloud beta beyondcorp client-connector services create CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

em que config.json é:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Substitua:

  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço de conector do cliente será criado. É possível especificar uma das seguintes regiões compatíveis: asia-east1, europe-west1, us-east1 e us-central1.
  • DESTINATION_ADDRESS: o endereço do host da sub-rede de destino que hospeda o aplicativo. Por exemplo, se o aplicativo usar 10.0.0.0/28, o endereço será 10.0.0.0.
  • DESTINATION_MASK: a máscara de rede da sub-rede de destino que hospeda o aplicativo. Por exemplo, se o aplicativo usar 10.0.0.0/28, a máscara será 255.255.255.240.
  • CONSUMER_NETWORK: o nome da rede VPC conectada ao aplicativo.

API

Execute este comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @config.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices?client_connector_service_id=CLIENT_CONNECTOR_SERVICE_NAME

em que config.json é:

   {
     "ingress": {
       "config": {
         "transportProtocol": "TCP",
         "destinationRoutes": [{
           "address": "DESTINATION_ADDRESS",
           "netmask": "DESTINATION_MASK"
         }]
       }
     },
     "egress": {
       "peeredVpc": {
         "networkVpc": "projects/CONSUMER_PROJECT/global/networks/CONSUMER_NETWORK"
       }
     }
   }

Substitua:

  • DESTINATION_ADDRESS: o endereço do host da sub-rede de destino que hospeda o aplicativo. Por exemplo, se o aplicativo usar 10.0.0.0/28, o endereço será 10.0.0.0.
  • DESTINATION_MASK: a máscara de rede da sub-rede de destino que hospeda o aplicativo. Por exemplo, se o aplicativo usar 10.0.0.0/28, a máscara será 255.255.255.240.
  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • CONSUMER_NETWORK: o nome da rede VPC conectada ao aplicativo.
  • SERVICE_LOCATION: a região em que o serviço de conector do cliente será criado.
  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.

Liste o serviço do conector de clientes para verificar se ele foi criado.

Console

  1. Acesse a página de administrador do IAP.

    Acessar o IAP

  2. Clique em CONECTORES. Seu conector precisa estar listado na seção Conector de cliente e ter uma marca de seleção verde para o status.

gcloud

Execute o comando a seguir.

gcloud beta beyondcorp client-connector services list \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION

Substitua:

  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço de conector do cliente será criado.

API

Execute este comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices

Substitua:

  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.

Opcional: atualizar um serviço de conector de cliente

Console

Para atualizar as rotas de destino, siga estas etapas:

  1. Acesse a página de administrador do IAP.

    Acessar o IAP

  2. Clique em CONECTORES.

  3. Na seção Conector de cliente, clique no ícone de lápis ao lado do conector de cliente que você quer atualizar.

  4. Insira os novos endereços do host e máscaras de rede das sub-redes de destino que hospedam os aplicativos. Em seguida, clique em ATUALIZAR Conector do cliente.

gcloud

Atualize as rotas de destino executando o seguinte comando:

gcloud beta beyondcorp client-connector services update CLIENT_CONNECTOR_SERVICE_NAME \
  --project=CONSUMER_PROJECT \
  --location=SERVICE_LOCATION \
  --config-from-file=/path/to/file/config.json

em que config.json é:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Substitua:

  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: os novos endereços de host das sub-redes de destino que hospedam os aplicativos.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: as novas máscaras de rede das sub-redes de destino.

API

Para atualizar as rotas de destino, execute o seguinte comando:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d @update.json \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME?update_mask=ingress.config.destinationRoutes

Onde update.json é:

{
  "ingress":{
    "config":{
      "destinationRoutes":[
        {
          "address":"NEW_DESTINATION_ADDRESS1",
          "netmask":"NEW_DESTINATION_MASK1"
        },
        {
          "address":"NEW_DESTINATION_ADDRESS2",
          "netmask":"NEW_DESTINATION_MASK2"
        }
      ]
    }
  }
}

Substitua:

  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: os novos endereços de host das sub-redes de destino que hospedam os aplicativos.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: as novas máscaras de rede das sub-redes de destino.

Opcional: remover um serviço de conector de cliente

Console

  1. Acesse a página de administrador do IAP.

    Acessar o IAP

  2. Clique em CONECTORES.

  3. Na seção Conector de cliente, clique no ícone de lixeira para remover o serviço e os gateways do conector de cliente. Isso pode levar alguns minutos.

gcloud

Execute o comando a seguir.

gcloud beta beyondcorp client-connector services delete CLIENT_CONNECTOR_SERVICE_NAME \
  --project CONSUMER_PROJECT \
  --location SERVICE_LOCATION

Substitua:

  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.

API

Execute o comando a seguir.

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME

Substitua:

  • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
  • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.

Criar, verificar ou remover gateways de cliente

Console

  1. Se você estiver usando o console para configurar o conector do cliente, os gateways do cliente serão gerados quando você criou o serviço de conector do cliente em uma etapa anterior.

  2. Para verificar se os gateways do cliente estão em execução:

    1. Acesse a página de administrador do IAP.

      Acessar o IAP

    2. Clique em CONECTORES. O conector e os gateways associados precisam ser listados na seção Conector de clientes e ter uma marca de seleção verde no status.
  3. Opcional: para remover um gateway de cliente, siga estas etapas.

    1. Acesse a página de administrador do IAP.

      Acessar o IAP

    2. Clique em CONECTORES.

    3. Na seção Conector de cliente, clique no ícone de lápis ao lado do conector do cliente em que você quer remover um gateway.

    4. Remova uma região do serviço de conector desmarcando a caixa de seleção da região da lista suspensa Regiões de gateway e clicando em ATUALIZAR Conector do cliente.

gcloud

  1. Criar um gateway do cliente

    gcloud beta beyondcorp client-connector gateways create CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION \
      --client-connector-service \
      projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME
    

    Substitua:

    • CLIENT_GATEWAY_NAME: o nome do gateway do cliente.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • GATEWAY_LOCATION: a região em que o gateway de cliente será criado.
    • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
  2. Veja se os gateways do cliente estão em execução.

    gcloud beta beyondcorp client-connector gateways list \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Substitua:

    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • GATEWAY_LOCATION: a região em que o gateway do cliente está localizado.
  3. Opcional: remova um gateway do cliente.

    gcloud beta beyondcorp client-connector gateways delete CLIENT_GATEWAY_NAME \
      --project CONSUMER_PROJECT \
      --location GATEWAY_LOCATION
    

    Substitua:

    • CLIENT_GATEWAY_NAME: o nome do gateway do cliente.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • GATEWAY_LOCATION: a região em que o gateway do cliente está localizado.

API

  1. Execute o comando a seguir.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d "{client_connector_service: \"projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME\"}" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways?client_gateway_id=CLIENT_GATEWAY_NAME
    

    Substitua:

    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
    • GATEWAY_LOCATION: a região em que o gateway de cliente será criado.
    • CLIENT_GATEWAY_NAME: o nome do gateway do cliente.

    Esta etapa pode levar vários minutos para ser concluída.

  2. Veja se os gateways do cliente estão em execução.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways
    

    Substitua:

    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • GATEWAY_LOCATION: a região em que o gateway do cliente está localizado.
  3. Opcional: remova um gateway do cliente.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/GATEWAY_LOCATION/clientGateways/CLIENT_GATEWAY_NAME
    

    Substitua:

    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • GATEWAY_LOCATION: a região em que o gateway do conector de cliente está localizado.
    • CLIENT_GATEWAY_NAME: o nome do gateway do cliente.

Configurar políticas de acesso baseado no contexto

  1. Determine as principais ou crie um grupo de usuários. Identifique os usuários que exigem acesso aos aplicativos protegidos que não são da Web. Como alternativa, você pode criar um grupo de usuários para simplificar a configuração e o gerenciamento.

  2. Opcional: crie um nível de acesso no Access Context Manager para definir uma regra baseada no contexto, que pode ser usada para restringir o acesso ao aplicativo.

  3. Configure uma política do IAM para o recurso de serviço do conector de cliente e conceda ao principal ou ao grupo de usuários o papel de usuário do serviço de conector do cliente do Cloud BeyondCorp (roles/beyondcorp.clientConnectorServiceUser) necessário para acessar os apps que não são da Web. Também é possível especificar uma condição do IAM para provisionar o papel apenas quando um nível de acesso for atendido. Para atualizar a política de IAM de um recurso, você pode usar o console ou a API.

    No console, siga estas etapas:

    1. Acesse a página de administrador do IAP.

      Acessar o IAP

    2. Clique em Aplicação.
    3. Se você ainda não tiver configurado uma tela de permissão OAuth, faça isso para concluir esta etapa. Na seção CONECTAR NOVO APLICATIVO, selecione o conector em Aplicativos que não são da Web.
    4. Na janela aberta, clique em ADICIONAR PRINCIPAL.
    5. Conceda ao principal ou ao grupo de usuários o papel Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser), necessário para acessar os apps que não são da Web. Também é possível especificar um nível de acesso para provisionar o papel apenas quando ele for atendido. Para especificar um nível de acesso, é necessário ser um administrador da organização ou ter as permissões view e edit para os níveis de acesso da organização.
    6. Clique em SALVAR.

Atualizar uma política do IAM

Console

  1. Acesse a página de administrador do IAP.

    Acessar o IAP

  2. Clique na guia APPLICATIONs e, na lista Resource, expanda Applications que não são da Web.
  3. Selecione o conector do cliente. Uma seção com as permissões do IAM associadas ao seu conector é aberta.
  4. Você pode atualizar as políticas do IAM associadas ao conector do cliente na seção que é aberta.

gcloud

  1. Leia a política atual. O método getIamPolicy() lê a política atual do IAM para o recurso de serviço do conector do cliente em policy.json.

    gcloud beta beyondcorp client-connector services get-iam-policy CLIENT_CONNECTOR_SERVICE_NAME \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION > policy.json
    

    Substitua:

    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • SERVICE_LOCATION: a região em que o serviço de conector do cliente está localizado.
  2. Edite a política retornada. Atualize as vinculações em policy.json para incluir a nova atribuição de papel do IAM. Você pode fazer isso em um editor de texto ou programaticamente. Exemplo:

    {
                "bindings": [
                  {
                    "role": "roles/beyondcorp.clientConnectorServiceUser",
                    "members": [
                      "user:EXAMPLE_USER@EXAMPLE.COM",
                      "group:EXAMPLE_GROUP@EXAMPLE.COM",
                    ],
                    "condition":
                     {
                       "expression":
            "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
            request.auth.access_levels",
                      "title": "CONDITION_NAME"
                    }
                  }
                ]
    }
    

    Substitua:

    • POLICY_NAME: o nome numérico da sua política de acesso do Access Context Manager.
    • LEVEL_NAME: o nome do seu nível de acesso do Access Context Manager.
    • CONDITION_NAME: o texto do título da condição do IAM.
  3. Grave a política atualizada. Use o método setIamPolicy() para criar a política atualizada do IAM. Exemplo:

    gcloud beta beyondcorp client-connector services set-iam-policy CLIENT_CONNECTOR_SERVICE_NAME policy.json \
      --project=CONSUMER_PROJECT \
      --location=SERVICE_LOCATION

    Substitua:

    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.

API

  1. Leia a política atual. O método getIamPolicy() lê a política atual do IAM para o recurso de serviço do conector do cliente em policy.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:getIamPolicy > policy.json
    

    Substitua:

    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.
  2. Edite a política retornada. Atualize as vinculações em policy.json para incluir a nova atribuição de papel do IAM. Você pode fazer isso em um editor de texto ou programaticamente. Exemplo:

     {
       "policy": {
          "bindings": [
            {
              "role": "roles/beyondcorp.clientConnectorServiceUser",
              "members": [
                "user:EXAMPLE_USER@EXAMPLE.COM",
                "group:EXAMPLE_GROUP@EXAMPLE.COM",
             ],
             "condition":
              {
                "expression":
     "'accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME' in
     request.auth.access_levels",
                "title": "CONDITION_NAME"
              }
           }
         ]
       }
     }
     

    Substitua:

    • POLICY_NAME: o nome numérico da sua política de acesso do Access Context Manager.
    • LEVEL_NAME: o nome do seu nível de acesso do Access Context Manager.
    • CONDITION_NAME: o texto do título da condição do IAM.
  3. Grave a política atualizada. Use o método setIamPolicy() para criar a política atualizada do IAM. Exemplo:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @policy.json \
    https://beyondcorp.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/SERVICE_LOCATION/clientConnectorServices/CLIENT_CONNECTOR_SERVICE_NAME:setIamPolicy
     

    Substitua:

    • CONSUMER_PROJECT: o ID do projeto que hospeda o CONSUMER_NETWORK.
    • SERVICE_LOCATION: a região em que o serviço do conector de cliente está localizado.
    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço do conector do cliente.

Instalar o agente do conector de cliente em dispositivos de endpoint (Windows ou macOS)

  1. Ative a extensão Verificação de endpoints seguindo as etapas em Configurar a verificação de endpoints nos seus dispositivos.

  2. Depois que a verificação de endpoints estiver em execução, a extensão de verificação de endpoints para o usuário atualizado mostrará um botão INICIAR CONEXÃO. Para acessar o aplicativo protegido que não seja da Web, os usuários podem clicar no botão INICIAR CONEXÃO.

Quando um usuário inicia uma conexão pela primeira vez, a verificação de endpoints solicita que ele faça o download e instale os binários do conector do cliente. Outra opção é fazer o download dos binários do conector do cliente nos seguintes URLs:

Depois que uma conexão é estabelecida, um usuário pode acessar o recurso protegido. Os usuários podem optar por encerrar a conexão clicando no botão ENCERRAR CONEXÃO.

Solução de problemas

Se você tiver problemas ao usar o conector do cliente, as informações a seguir fornecerão etapas de solução de problemas que podem ajudar.

Não é possível acessar seu aplicativo

O gateway do conector do cliente está em execução e a conexão foi estabelecida, mas você ainda não consegue acessar seu aplicativo.

Veja a seguir os motivos mais comuns e as possíveis soluções para esse problema:

  • Você não anunciou o intervalo de IPs alocado no Cloud VPN. Se você usa o Cloud VPN para se conectar ao aplicativo que não é do Google Cloud, anunciar também o intervalo de IPs alocado para o Acesso a serviços particulares ao roteador de peering pelo Border Gateway Protocol (BGP). Para mais informações sobre como fazer isso, consulte Especificar anúncios em um Cloud Router.

  • Você especificou um endereço e máscara incorretos nos trajetos de destino. Verifique se os bits mascarados são zero ao fornecer o endereço. Por exemplo, 10.0.10.1 é um endereço inválido para fornecer uma máscara de rede 255.255.255.0 (/24). O endereço correto é 10.0.10.0.

  • Possíveis conflitos de IP entre o intervalo de IPs alocado para o Acesso privado a serviços e as sub-redes IP usadas pela rede que hospeda o aplicativo. Esses intervalos precisam ser mutuamente exclusivos. Esse problema costuma ocorrer quando o aplicativo é hospedado em uma rede que não é do Google Cloud.

Você recebeu a mensagem Unable to connect to the network

Se você receber a mensagem Unable to connect to the network. Check your network connection and try again., a conexão de Internet no dispositivo não está ativa.

Resolução: confira se a sua conexão com a internet está ativa e tente se conectar novamente.

Registros de auditoria

Se você é um administrador, pode ver os registros de auditoria do BeyondCorp Enterprise, inclusive os registros de auditoria do conector de cliente, na página Logging do Console do Google Cloud. Veja mais informações em Registro de auditoria do serviço BeyondCorp Enterprise.

Se você for um usuário final, vai poder acessar os registros de conexão seguindo estas etapas:

  1. Clique com o botão direito do mouse na extensão Verificação de endpoints no navegador.
  2. Clique em Opções.
  3. Selecione a granularidade para o nível de registro. Por padrão, o nível de granularidade é definido como Informações.
  4. Clique em Mostrar registro.

A seguir