Proteger aplicativos cliente-servidor

Proteger aplicativos cliente-servidor com o conector do cliente

Informações gerais

O BeyondCorp Enterprise é a solução de confiança zero do Google Cloud que fornece acesso seguro a aplicativos particulares com proteção de dados e contra ameaças integrada. 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 em execução em ambientes do Google Cloud e não Google Cloud com acesso completo de contexto e identidade.

Como funciona

Veja no diagrama a seguir uma visão geral da arquitetura do conector do cliente.

Componentes do conector de cliente do BeyondCorp Enterprise

Veja a seguir os principais componentes que compõem o conector de cliente:

Verificação de endpoints e agente cliente: o conector do cliente se integra à Verificação de endpoints, uma extensão do Chrome com um agente nativo leve que é executado em laptops ou computadores dos usuários, e gera relatórios sobre informações dos dispositivos. A Verificação de endpoints também funciona como o plano de controle para que o usuário final inicie e interrompa conexões com gateways de cliente.

Gateways de cliente: componentes regionais do lado do servidor a que os clientes podem se conectar. Os gateways de cliente são implantados por administradores. Os gateways se comunicam com o sistema de aplicação do BeyondCorp Enterprise para aplicar verificações baseadas no 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 de cliente envia tráfego para seus aplicativos protegidos de usuários finais, clientes e dispositivos por um canal seguro, 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 do Google Cloud. Use o Cloud VPN ou o Cloud Interconnect para se conectar aos 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:

Ativar o conector de cliente do BeyondCorp Enterprise

Configurar o acesso a serviços privados

O conector do cliente usa o Private Services Access para ativar a conectividade entre a rede VPC gerenciada pelo Google e a rede VPC do consumidor. Isso garante que o tráfego dos usuários seja roteado para a rede VPC do consumidor.

Console

  1. O Private Services Access exige que você reserve um intervalo de endereços IP para que não haja conflitos de endereços entre sua 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 seu 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 a ser alocado.

    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 de pelo menos /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 seu 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 de conector de cliente.
    6. Na janela que é aberta, deixe 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 Incluir metadados.
    5. Especifique a Rede conectada ao seu aplicativo.
    6. Especifique a Prioridade da regra. Quanto menor o número, maior a prioridade.
    7. Em Direção de 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 IP 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 seja aplicada a todos os protocolos e portas.
    12. Clique em CRIAR.

gcloud

  1. O Private Services Access exige que você reserve um intervalo de endereços IP para que não haja conflitos de endereços entre sua rede VPC e a rede VPC gerenciada pelo Google. Execute o comando a seguir 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. Crie 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 o peering de VPC.
  3. Conferir 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 o 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 IP alocado no formato CIDR e, em seguida, 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.

Para informações sobre como configurar regras de firewall, consulte Usar regras de firewall de VPC.

Configurar os recursos do conector de cliente

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

  • Serviço de 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 do usuário.

Só é permitido um serviço de conector de cliente por domínio e um gateway de cliente por região por serviço. Além disso, só é possível usar as seguintes regiões para hospedar recursos de gateway e serviço de conector do cliente: 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 CONECTOR DO CLIENTE.

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

  4. Selecione as regiões às quais seus clientes podem se conectar. Como os gateways do cliente são criados nesta etapa, você não precisa criá-los no procedimento Criar, verificar ou remover gateways do cliente.

  5. Digite 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 alguns 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 de 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 de 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 de cliente será criado.
  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço de conector do cliente.

Liste o serviço para verificar se o serviço do conector de cliente foi criado

Console

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

    Acessar o IAP

  2. Clique em CONECTORES. Ele deve estar listado na seção Conector do 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 de 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 do cliente está localizado.

Opcional: atualizar um serviço de conector do 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 daquele que você quer atualizar.

  4. Insira os novos endereços de host e as máscaras de rede das sub-redes de destino que hospedam os aplicativos e 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 de 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 do 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 para as 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 do cliente está localizado.
  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço de 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 para as 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 do cliente, clique no ícone de lixeira para remover os gateways e o serviço 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 de 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 do 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 do cliente está localizado.
  • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço de conector do cliente.

Criar, verificar ou remover gateways do cliente

Console

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

  2. Para verificar se os gateways do cliente estão funcionando, siga estas etapas:

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

      Acessar o IAP

    2. Clique em CONECTORES. Seu conector e os gateways associados precisam estar listados na seção Conector do cliente e ter uma marca de seleção verde para o status.
  3. Opcional: para remover um gateway do cliente, siga as etapas abaixo.

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

      Acessar o IAP

    2. Clique em CONECTORES.

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

    4. Remova uma região do serviço de conector desmarcando a caixa de seleção da região na lista suspensa Regiões de gateway e clique em ATUALIZAR CONECTOR DO CLIENTE.

gcloud

  1. Crie 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 do cliente será criado.
    • SERVICE_LOCATION: a região em que o serviço do conector do cliente está localizado.
    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço de conector do cliente.
  2. Verifique se os gateways do cliente estão funcionando.

    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 do cliente está localizado.
    • CLIENT_CONNECTOR_SERVICE_NAME: o nome do serviço de conector do cliente.
    • GATEWAY_LOCATION: a região em que o gateway do cliente será criado.
    • CLIENT_GATEWAY_NAME: o nome do gateway do cliente.

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

  2. Verifique se os gateways do cliente estão funcionando.

    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 do cliente está localizado.
    • CLIENT_GATEWAY_NAME: o nome do gateway do cliente.

Configurar políticas de acesso baseado no contexto

  1. Determine os principais ou crie um grupo de usuários. Identifique os usuários que exigem acesso aos aplicativos protegidos que não sejam da Web. Se preferir, crie 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 do serviço de conector de cliente e conceda ao principal ou ao grupo de usuários o papel de Usuário do serviço do conector de 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 somente quando um nível de acesso for atendido. Para atualizar a política do IAM de um recurso, use 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 APLICATIVOS.
    3. Se você ainda não configurou uma tela de permissão OAuth, faça isso para concluir esta etapa. Na seção CONECTAR NOVO APLICATIVO, selecione seu conector em Aplicativos que não são da Web.
    4. Na janela aberta, clique em ADICIONAR CONTA 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 aplicativos que não são da Web. Opcionalmente, especifique um nível de acesso para provisionar o papel somente quando o nível de acesso for atendido. Para especificar um nível de acesso, você precisa 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 Aplicativos e, na lista Recursos, expanda Aplicativos que não são da Web.
  3. Selecione seu conector de cliente. Uma seção com as permissões do IAM associadas ao conector será aberta.
  4. Você pode atualizar as políticas do IAM associadas ao seu conector de cliente na seção que é aberta.

gcloud

  1. Leia a política atual. O método getIamPolicy() lê a política do IAM atual para o recurso de serviço do conector de 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 de 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 de forma programática. 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 política de acesso do Access Context Manager.
    • LEVEL_NAME: o nome do nível de acesso do Access Context Manager.
    • CONDITION_NAME: o texto do título para a condição do IAM.
  3. Grave a política atualizada. Use o método setIamPolicy() para gravar a política do IAM atualizada. 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 do cliente está localizado.

API

  1. Leia a política atual. O método getIamPolicy() lê a política do IAM atual para o recurso de serviço do conector de 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 do 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 de forma programática. 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 política de acesso do Access Context Manager.
    • LEVEL_NAME: o nome do nível de acesso do Access Context Manager.
    • CONDITION_NAME: o texto do título para a condição do IAM.
  3. Grave a política atualizada. Use o método setIamPolicy() para gravar a política do IAM atualizada. 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 do 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 Verificação de endpoints do usuário atualizado mostrará um botão INICIAR CONEXÃO. Para acessar o aplicativo protegido que não é 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 o usuário faça o download e instale os binários do conector de cliente. Se preferir, faça o download dos binários do conector de cliente nestes URLs:

Depois que uma conexão é estabelecida, o 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 de cliente, as informações a seguir fornecem etapas de solução de problemas.

Não é possível acessar o aplicativo

O gateway do conector do cliente está em execução e a conexão foi estabelecida, mas ainda não é possível acessar seu aplicativo.

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

  • Você não anunciou o intervalo de IP alocado no Cloud VPN. Se você usa o Cloud VPN para se conectar a um aplicativo que não é do Google Cloud, anuncie também o intervalo de IP alocado para acesso a serviços particulares para o roteador de peering por meio do protocolo de gateway de borda (BGP). Para mais informações sobre como fazer isso, consulte Especificar anúncios em um Cloud Router.

  • Você especificou um endereço e uma 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 com 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 IP alocado para o Acesso a serviços privados e as sub-redes IP usadas pela rede que hospeda o aplicativo. Esses intervalos precisam ser mutuamente exclusivos. Esse problema ocorre com mais frequência quando o aplicativo está hospedado em uma rede que não seja 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 seu dispositivo não está ativa.

Resolução: verifique se a conexão com a Internet está ativa e tente se conectar novamente.

Registros de auditoria

Se você for um administrador, acesse os registros de auditoria do BeyondCorp Enterprise, incluindo os registros de auditoria do conector de cliente, na página Logging do console do Google Cloud. Saiba mais em Geração de registros de auditoria do serviço do BeyondCorp Enterprise.

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

  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 do nível de registro. Por padrão, o nível de granularidade é definido como Informações.
  4. Clique em Mostrar registro.

A seguir