Aplicaciones cliente-servidor seguras

Protege las aplicaciones cliente-servidor con el conector de cliente

Descripción general

Chrome Enterprise Premium es la solución de confianza cero de Google Cloud que proporciona acceso seguro a aplicaciones privadas con protección integrada de datos y contra amenazas. Chrome Enterprise Premium usa Chrome para proporcionar acceso seguro a todas las aplicaciones basadas en la Web (HTTPS).

El conector de cliente Premium de Chrome Enterprise extiende la compatibilidad a las aplicaciones que no son web mediante la creación de una conexión segura a las aplicaciones que se ejecutan en entornos de Google Cloud y de terceros con contexto completo y acceso adaptado a la identidad.

Cómo funciona

En el siguiente diagrama, se proporciona una descripción general de la arquitectura de alto nivel del conector de cliente.

Componentes de los conectores de cliente Premium de Chrome Enterprise

A continuación, se muestran los componentes clave que conforman el conector de cliente:

Verificación de extremos y agente cliente: El conector de cliente se integra en Endpoint Verification, una extensión de Chrome con un agente nativo ligero que se ejecuta en las laptops o computadoras de escritorio de los usuarios y, además, informa la información del dispositivo. La Verificación de extremos también actúa como el plano de control para que el usuario final inicie y detenga las conexiones a las puertas de enlace del cliente.

Puertas de enlace de cliente: Son componentes regionales del servidor a los que los clientes pueden conectarse. Los administradores implementan las puertas de enlace de cliente. Las puertas de enlace se comunican con el sistema de aplicación de Chrome Enterprise Premium para aplicar verificaciones adaptadas al contexto. El sistema de aplicación de Chrome Enterprise Premium usa Identity-Aware Proxy y Access Context Manager, un motor de políticas de confianza cero flexible de Chrome Enterprise Premium.

El conector de cliente envía tráfico a tus aplicaciones protegidas desde el usuario final, el cliente o los dispositivos a través de un canal seguro o una puerta de enlace. Puedes conectarte a aplicaciones web y que no sean web que se ejecuten en Google Cloud o fuera de Google Cloud. Puedes usar Cloud VPN o Cloud Interconnect para conectarte a las aplicaciones que no están en Google Cloud.

Antes de comenzar

Antes de habilitar el conector de cliente Premium de Chrome Enterprise, asegúrate de tener lo siguiente:

Habilita el conector de cliente de Chrome Enterprise Premium

Configura el Acceso privado a servicios

El conector de cliente usa el acceso privado a servicios para habilitar la conectividad entre la red de VPC administrada por Google y la red de VPC del consumidor. Esto garantiza que el tráfico de los usuarios se enrute a la red de VPC del consumidor.

Consola

  1. El Acceso privado a servicios requiere que reserves un rango de direcciones IP para que no haya conflictos de direcciones IP entre tu red de VPC y la red de VPC administrada por Google. Completa los siguientes pasos para asignar un rango de IP:

    1. Ve a la página Redes de VPC en la consola de Google Cloud.
      Ir a las redes de VPC

    2. Selecciona la red de VPC que está conectada a tu aplicación.

    3. Selecciona la pestaña Conexión privada a servicios.

    4. En la pestaña Conexión privada a servicios, selecciona la pestaña Rangos de IP asignados para servicios.

    5. Haz clic en Asigna rangos de IP.

    6. Ingresa un Nombre y una Descripción para el rango de IP que se asignará.

    7. Especifica un Rango de IP para la asignación:

      • Para especificar un rango de direcciones IP, selecciona Personalizado y luego ingresa un bloque CIDR, como 192.168.0.0/16.
      • Para especificar la longitud de un prefijo y permitir que Google seleccione un rango disponible, selecciona Automático y luego ingresa la longitud de un prefijo, como 16.

      Especifica una red de no menos de /24.

    8. Haz clic en Asignar para crear un rango asignado.

  2. Para crear una conexión de intercambio de tráfico entre redes de VPC, completa los siguientes pasos:

    1. Ve a la página Redes de VPC en la consola de Google Cloud.
      Ir a las redes de VPC
    2. Selecciona la red de VPC que está conectada a tu aplicación.
    3. Selecciona la pestaña Conexión privada a servicios.
    4. En la pestaña Conexión privada a servicios, selecciona la pestaña Conexiones privadas a los servicios.
    5. Haz clic en Crear conexión para crear una conexión privada entre tu red y el servicio del conector de cliente.
    6. En la ventana que se abre, deja el valor predeterminado para Connected Service Producer. En Asignación designada, selecciona el rango asignado que creaste en el paso anterior.
    7. Haz clic en Conectar para crear la conexión.
  3. Cree una regla de firewall.

    1. En la consola de Google Cloud, ve a la página Firewall.
      Ir a la página Firewall
    2. Haz clic en Crear regla de firewall.
    3. Ingresa un Nombre para la regla de firewall.
      Este nombre debe ser único para el proyecto.
    4. Opcional: Puedes habilitar los registros de reglas de firewall:
      • Haz clic en Registros > Activados.
      • Para omitir los metadatos, expande Detalles de los registros y, luego, borra Incluir metadatos.
    5. Especifica la Red que está conectada a tu aplicación.
    6. Especifica la Prioridad de la regla. Cuanto más bajo sea el número, mayor será la prioridad.
    7. En Dirección del tráfico, selecciona Entrada.
    8. En Acción en caso de coincidencia, selecciona Permitir.
    9. En Destinos, haz clic en Todas las instancias de la red.
    10. En Filtro de fuente, selecciona Rangos de IPv4 y, luego, ingresa los valores address y prefixLength del Paso 1 para representar el rango de IP asignado en formato CIDR. Usa el formato 0.0.0.0/0 para cualquier fuente IPv4.
    11. En Protocolos y puertos, selecciona Permitir todos para que la regla se aplique a todos los protocolos y puertos de destino.
    12. Haz clic en CREAR.

gcloud

  1. El Acceso privado a servicios requiere que reserves un rango de direcciones IP para que no haya conflictos de direcciones IP entre tu red de VPC y la red de VPC administrada por Google. Ejecuta el siguiente comando para asignar un rango de IP:

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

    Reemplaza lo siguiente:

    • RESERVED_RANGE: Es el nombre del rango de direcciones IP que se reservará para el intercambio de tráfico entre VPC. El nombre solo puede contener letras minúsculas, números y guiones.
    • CONSUMER_NETWORK: Es el nombre de tu red de VPC conectada a la aplicación.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  2. Crea la conexión de intercambio de tráfico de VPC.

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

    Reemplaza lo siguiente:

    • CONSUMER_NETWORK: Es el nombre de tu red de VPC conectada a la aplicación.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • RESERVED_RANGE: Es el nombre del rango reservado para el intercambio de tráfico entre VPC.
  3. Obtén los detalles del rango de IP asignado.

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

    Reemplaza lo siguiente:

    • RESERVED_RANGE: Es el nombre del rango reservado para el intercambio de tráfico entre VPC.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  4. Usa los valores address y prefixLength del resultado del paso anterior para representar el rango de IP asignado en formato CIDR y, luego, crea una regla 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
    

    Reemplaza lo siguiente:

    • CONSUMER_NETWORK: Es el nombre de tu red de VPC conectada a la aplicación.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.

Para obtener información sobre cómo configurar reglas de firewall, consulta Usa reglas de firewall de VPC.

Configura los recursos del conector de cliente

Existen dos tipos de recursos que debes configurar:

  • Servicio de conector de cliente: define una configuración común para un grupo de puertas de enlace de cliente.
  • Puerta de enlace del cliente: Se refiere al servicio del conector de cliente y controla las regiones en las que deseas administrar el tráfico de usuarios.

Solo se permite un servicio de conector de clientes por dominio y una puerta de enlace de cliente por región por servicio de conector de cliente. Además, solo puedes usar las siguientes regiones para alojar el servicio del conector de clientes y los recursos de puerta de enlace: asia-east1, europe-west1, us-east1 y us-central1.

Crea el servicio del conector de cliente

Consola

  1. Ve a la página de administrador de IAP.

    Ve a IAP

  2. Haz clic en CONECTORES > HABILITAR EL CONECTOR DEL CLIENTE.

  3. Ingresa la red de VPC que recibirá el tráfico de los clientes administrados.

  4. Selecciona las regiones a las que se pueden conectar tus clientes. Ten en cuenta que las puertas de enlace del cliente se crean en este paso, por lo que no tienes que crear las puertas de enlace en el procedimiento Crea, verifica o quita puertas de enlace de cliente.

  5. Ingresa el rango de direcciones IP para las aplicaciones a las que deseas que llegue el conector de cliente.

  6. Haz clic en HABILITAR EL CONECTOR DEL CLIENTE. La creación del conector puede tardar varios minutos.

gcloud

Ejecuta el siguiente 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

donde config.json es:

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

Reemplaza lo siguiente:

  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: Es la región en la que se creará el servicio de conector de cliente. Puedes especificar que se admita una de las siguientes regiones: asia-east1, europe-west1, us-east1 y us-central1.
  • DESTINATION_ADDRESS: Es la dirección del host de la subred de destino que aloja la aplicación. Por ejemplo, si tu aplicación usa 10.0.0.0/28, la dirección es 10.0.0.0.
  • DESTINATION_MASK: Es la máscara de red de la subred de destino que aloja la aplicación. Por ejemplo, si tu aplicación usa 10.0.0.0/28, entonces la máscara es 255.255.255.240.
  • CONSUMER_NETWORK: Es el nombre de tu red de VPC conectada a la aplicación.

API

Ejecuta el siguiente 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

donde config.json es:

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

Reemplaza lo siguiente:

  • DESTINATION_ADDRESS: Es la dirección del host de la subred de destino que aloja la aplicación. Por ejemplo, si tu aplicación usa 10.0.0.0/28, la dirección es 10.0.0.0.
  • DESTINATION_MASK: Es la máscara de red de la subred de destino que aloja la aplicación. Por ejemplo, si tu aplicación usa 10.0.0.0/28, entonces la máscara es 255.255.255.240.
  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • CONSUMER_NETWORK: Es el nombre de tu red de VPC conectada a la aplicación.
  • SERVICE_LOCATION: Es la región en la que se creará el servicio de conector de cliente.
  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.

Enumere el servicio para verificar que el servicio del conector de cliente se haya creado

Consola

  1. Ve a la página de administrador de IAP.

    Ve a IAP

  2. Haz clic en CONECTORES. Tu conector debe aparecer en la sección Conector de cliente y debe tener una marca de verificación verde para el estado.

gcloud

Ejecuta el siguiente comando.

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

Reemplaza lo siguiente:

  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: Es la región en la que se creará el servicio de conector de cliente.

API

Ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.

Opcional: Actualiza un servicio de conector de cliente

Consola

Para actualizar las rutas de destino, completa los siguientes pasos:

  1. Ve a la página de administrador de IAP.

    Ve a IAP

  2. Haz clic en CONECTORES.

  3. En la sección Conector de cliente, haz clic en el ícono de lápiz junto al conector de cliente que deseas actualizar.

  4. Ingresa las direcciones de host y las máscaras de red nuevas de las subredes de destino que alojan las aplicaciones y, luego, haz clic en ACTUALIZAR CONECTOR DEL CLIENTE.

gcloud

Actualiza las rutas de destino mediante la ejecución del siguiente 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

donde config.json es:

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

Reemplaza lo siguiente:

  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Son las nuevas direcciones de host de las subredes de destino que alojan las aplicaciones.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: Son las máscaras de red nuevas para las subredes de destino.

API

Para actualizar las rutas de destino, ejecuta el siguiente 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

En el ejemplo anterior, update.json es:

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

Reemplaza lo siguiente:

  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Son las nuevas direcciones de host de las subredes de destino que alojan las aplicaciones.
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: Son las máscaras de red nuevas para las subredes de destino.

Opcional: Quita un servicio de conector de cliente

Consola

  1. Ve a la página de administrador de IAP.

    Ve a IAP

  2. Haz clic en CONECTORES.

  3. En la sección Conector de cliente, haz clic en el ícono de la papelera para quitar el servicio del conector de cliente y las puertas de enlace. Esto puede tomar varios minutos.

gcloud

Ejecuta el siguiente comando.

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

Reemplaza lo siguiente:

  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.

API

Ejecuta el siguiente comando.

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

Reemplaza lo siguiente:

  • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.

Crea, verifica o quita puertas de enlace de cliente

Consola

  1. Si usas la consola para configurar el conector de cliente, las puertas de enlace del cliente se crean cuando creaste el servicio del conector de cliente en un paso anterior.

  2. Para verificar que las puertas de enlace del cliente estén en funcionamiento, sigue estos pasos:

    1. Ve a la página de administrador de IAP.

      Ve a IAP

    2. Haz clic en CONECTORES. Tu conector, junto con las puertas de enlace asociadas, debe aparecer en la sección Conector de cliente y debe tener una marca de verificación verde para el estado.
  3. Opcional: Para quitar una puerta de enlace de cliente, completa los siguientes pasos.

    1. Ve a la página de administrador de IAP.

      Ve a IAP

    2. Haz clic en CONECTORES.

    3. En la sección Conector de cliente, haz clic en el ícono de lápiz junto al conector de cliente en el que deseas quitar una puerta de enlace.

    4. Para quitar una región del servicio de conector, desmarca la casilla de verificación de la región de la lista desplegable Gateway regions (Regiones de puerta de enlace) y, luego, haz clic en UPDATE CLIENT CONNECTOR.

gcloud

  1. Crea una puerta de enlace de 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
    

    Reemplaza lo siguiente:

    • CLIENT_GATEWAY_NAME: El nombre de la puerta de enlace del cliente.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Es la región en la que se creará la puerta de enlace del cliente.
    • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
    • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
  2. Verifica que las puertas de enlace del cliente estén en funcionamiento.

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

    Reemplaza lo siguiente:

    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: La región en la que se encuentra la puerta de enlace del cliente.
  3. Opcional: Quita una puerta de enlace del cliente.

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

    Reemplaza lo siguiente:

    • CLIENT_GATEWAY_NAME: El nombre de la puerta de enlace del cliente.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: La región en la que se encuentra la puerta de enlace del cliente.

API

  1. Ejecuta el siguiente comando.

    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
    

    Reemplaza lo siguiente:

    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
    • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
    • GATEWAY_LOCATION: Es la región en la que se creará la puerta de enlace del cliente.
    • CLIENT_GATEWAY_NAME: El nombre de la puerta de enlace del cliente.

    Este paso puede tardar varios minutos en completarse.

  2. Verifica que las puertas de enlace del cliente estén en funcionamiento.

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

    Reemplaza lo siguiente:

    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: La región en la que se encuentra la puerta de enlace del cliente.
  3. Opcional: Quita una puerta de enlace del 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
    

    Reemplaza lo siguiente:

    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Es la región en la que se encuentra la puerta de enlace del conector de cliente.
    • CLIENT_GATEWAY_NAME: El nombre de la puerta de enlace del cliente.

Configura políticas de acceso adaptado al contexto

  1. Determina las principales o crea un grupo de usuarios. Identifica a los usuarios que requieren acceso a las aplicaciones que no son web protegidas. Como alternativa, puedes crear un grupo de usuarios para simplificar la configuración y la administración.

  2. Opcional: Crea un nivel de acceso en Access Context Manager para definir una regla adaptada al contexto que puedas usar para restringir el acceso a tu aplicación.

  3. Configura una política de IAM para el recurso de servicio de conector de cliente y otorga a la principal o al grupo de usuarios el rol de usuario del servicio del Conector de clientes de Cloud BeyondCorp (roles/beyondcorp.clientConnectorServiceUser) necesario para acceder a las apps que no son web. De forma opcional, puedes especificar una condición de IAM para aprovisionar la función solo cuando se cumpla un nivel de acceso. Para actualizar la política de IAM de un recurso, puedes usar la consola o la API.

    En la consola, completa los siguientes pasos:

    1. Ve a la página de administrador de IAP.

      Ve a IAP

    2. Haz clic en APPLICATIONS.
    3. Si aún no configuraste una pantalla de consentimiento de OAuth, debes hacerlo para completar este paso. En la sección CONNECT NEW APPLICATION, selecciona tu conector en Non-Web Applications.
    4. En la ventana que se abre, haz clic en AGREGAR PRINCIPAL.
    5. Otorga a la principal o al grupo de usuarios el rol Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser), necesario para acceder a las apps que no son web. De manera opcional, puedes especificar un nivel de acceso para aprovisionar la función solo cuando se cumpla el nivel de acceso. Para especificar un nivel de acceso, debes ser administrador de la organización o tener los permisos view y edit para los niveles de acceso de la organización.
    6. Haz clic en GUARDAR.

Actualizar una política de IAM

Consola

  1. Ve a la página de administrador de IAP.

    Ve a IAP

  2. Haz clic en la pestaña APPLICATIONS y, en la lista Resource, expande Non-Web Applications.
  3. Selecciona tu conector de cliente. Se abrirá una sección con los permisos de IAM asociados a tu conector.
  4. Puedes actualizar las políticas de IAM asociadas con tu conector de cliente en la sección que se abre.

gcloud

  1. Lee la política existente. El método getIamPolicy() lee la política de IAM existente para el recurso de servicio del conector de cliente en policy.json.

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

    Reemplaza lo siguiente:

    • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu servicio de conector de cliente.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • SERVICE_LOCATION: Es la región en la que se encuentra el servicio de conector de cliente.
  2. Edita la política que se muestra. Actualiza las vinculaciones en policy.json para incluir la nueva asignación de rol de IAM. Puedes hacerlo en un editor de texto o de forma programática. Ejemplo:

    {
                "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"
                    }
                  }
                ]
    }
    

    Reemplaza lo siguiente:

    • POLICY_NAME: El nombre numérico de tu política de acceso de Access Context Manager
    • LEVEL_NAME: Es el nombre de tu nivel de acceso de Access Context Manager.
    • CONDITION_NAME: Es el texto del título de la condición de IAM.
  3. Escribe la política actualizada: Puedes usar el método setIamPolicy() para escribir la política de IAM actualizada. Ejemplo:

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

    Reemplaza lo siguiente:

    • CLIENT_CONNECTOR_SERVICE_NAME: El nombre de tu servicio de conector de cliente.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.

API

  1. Lee la política existente. El método getIamPolicy() lee la política de IAM existente para el recurso de servicio del conector de cliente en 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
    

    Reemplaza lo siguiente:

    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
    • CLIENT_CONNECTOR_SERVICE_NAME: El nombre de tu servicio de conector de cliente.
  2. Edita la política que se muestra. Actualiza las vinculaciones en policy.json para incluir la nueva asignación de rol de IAM. Puedes hacerlo en un editor de texto o de forma programática. Ejemplo:

     {
       "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"
              }
           }
         ]
       }
     }
     

    Reemplaza lo siguiente:

    • POLICY_NAME: El nombre numérico de tu política de acceso de Access Context Manager
    • LEVEL_NAME: Es el nombre de tu nivel de acceso de Access Context Manager.
    • CONDITION_NAME: Es el texto del título de la condición de IAM.
  3. Escribe la política actualizada: Puedes usar el método setIamPolicy() para escribir la política de IAM actualizada. Ejemplo:

    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
     

    Reemplaza lo siguiente:

    • CONSUMER_PROJECT: Es el ID del proyecto que aloja el CONSUMER_NETWORK.
    • SERVICE_LOCATION: La región en la que se encuentra el servicio del conector de cliente.
    • CLIENT_CONNECTOR_SERVICE_NAME: El nombre de tu servicio de conector de cliente.

Instala el agente del conector de cliente en dispositivos de extremo (Windows o macOS)

  1. Para habilitar la extensión de Verificación de extremos, sigue los pasos que se indican en Configura la verificación de extremos en tus dispositivos.

  2. Después de que la Verificación de extremos está en funcionamiento, su extensión para el usuario actualizado muestra el botón INICIAR CONEXIÓN. Para acceder a la aplicación web que no está protegida, los usuarios pueden hacer clic en el botón INICIAR CONEXIÓN.

Cuando un usuario inicia una conexión por primera vez, la Verificación de extremos le solicita que descargue y, luego, instale los objetos binarios del conector de cliente. Como alternativa, puedes descargar los objetos binarios del conector de cliente en las siguientes URL:

Después de que se establece una conexión, un usuario puede acceder al recurso protegido. Los usuarios pueden optar por finalizar la conexión haciendo clic en el botón FINALIZAR CONEXIÓN.

Soluciona problemas

Si tienes problemas para usar el conector de cliente, en la siguiente información, se proporcionan pasos para solucionarlos.

No puedes acceder a tu aplicación

La puerta de enlace del conector de cliente está en ejecución y la conexión se estableció con éxito, pero aún no puedes acceder a tu aplicación.

A continuación, se muestran los motivos más comunes y las posibles soluciones para este problema:

  • No anunciaste el rango de IP asignado en Cloud VPN. Si usas Cloud VPN para conectarte a una aplicación ajena a Google Cloud, asegúrate de anunciar también el rango de IP asignado al Acceso privado a servicios al router de intercambio de tráfico a través del protocolo de puerta de enlace de frontera (BGP). Para obtener más información sobre cómo hacerlo, consulta Especifica anuncios en un Cloud Router.

  • Especificaste una dirección y una máscara incorrectas en las rutas de destino. Asegúrate de que los bits enmascarados sean cero cuando proporciones la dirección. Por ejemplo, 10.0.10.1 es una dirección no válida para proporcionar una máscara de red 255.255.255.0 (/24). La dirección correcta es 10.0.10.0.

  • Posibles conflictos de IP entre el rango de IP asignado a Acceso privado a servicios y las subredes de IP que usa la red que aloja la aplicación Asegúrate de que estos rangos sean mutuamente excluyentes. Este problema ocurre con mayor frecuencia cuando la aplicación está alojada en una red que no es de Google Cloud.

Recibirás el mensaje Unable to connect to the network.

Si recibes el mensaje Unable to connect to the network. Check your network connection and try again., significa que la conexión a Internet de tu dispositivo no está activa.

Solución: Asegúrate de que tu conexión a Internet esté activa y vuelve a intentarlo.

Registros de auditoría

Si eres administrador, puedes ver los registros de auditoría de Chrome Enterprise Premium, incluidos los registros de auditoría del conector de cliente, en la página Logging de la consola de Google Cloud. Para obtener más información, consulta Registro de auditoría del servicio de Chrome Enterprise Premium.

Si eres un usuario final, puedes acceder a los registros de conexión completando los siguientes pasos:

  1. Haz clic con el botón derecho en la extensión de Verificación de extremos en el navegador.
  2. Haz clic en Opciones.
  3. Selecciona el nivel de detalle del nivel de registro. De forma predeterminada, el nivel de detalle es Info.
  4. Haz clic en Mostrar registro.

¿Qué sigue?