Aplicaciones cliente-servidor seguras

Protege las aplicaciones cliente-servidor con el conector de clientes

Descripción general

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

El conector de clientes de Chrome Enterprise Premium extiende la compatibilidad a las aplicaciones que no son web, ya que crea una conexión segura a las aplicaciones que se ejecutan en entornos de Google Cloud y de terceros con acceso completo al contexto y 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 con Endpoint Verification, una extensión de Chrome con un agente nativo ligero que se ejecuta en laptops o computadoras de escritorio de los usuarios, e 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 a las puertas de enlace de cliente.

Puertas de enlace de cliente: Son componentes regionales del servidor a los que los clientes pueden acceder. conectarte. Los administradores implementan las puertas de enlace de cliente. Las puertas de enlace comunicarse 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, una política de confianza cero flexible de Chrome Enterprise Premium de Compute Engine.

El conector de cliente envía tráfico a tus aplicaciones protegidas desde el usuario final dispositivos a través de un canal seguro, una puerta de enlace. Puedes conectarte a la Web y aplicaciones no web que se ejecutan en Google Cloud o fuera de en 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 de Chrome Enterprise Premium, asegúrate de lo siguiente: tienen 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.

Console

  1. El Acceso privado a servicios requiere que reserve un rango de direcciones IP para que no haya conflictos entre ellas entre tu red de VPC y la red de VPC administrada por Google. Completa el sigue los 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. Crea un 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 tus red local y el servicio de conector de cliente.
    6. En la ventana que se abre, deja la opción predeterminada Servicio conectado. Productor. En Asignación asignada, selecciona el tipo de que creaste en el paso anterior.
    7. Haz clic en Conectar para crear la conexión.
  3. Crea 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 las reglas de firewall registro:
      • 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 la prioridad.
    7. En Dirección del tráfico, selecciona Ingress.
    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 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 todo 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 reserve un rango de direcciones IP para que no haya conflictos entre ellas 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 va a reservados 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 la red de VPC a la que está conectada. la aplicación.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja la 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 la red de VPC a la que está conectada. la aplicación.
    • CONSUMER_PROJECT: Es el ID de tu 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 de tu proyecto que aloja el CONSUMER_NETWORK.
  4. Usa los valores address y prefixLength del resultado del resultado. para representar el rango de IP asignado en formato CIDR y, luego, crear 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 la red de VPC a la que está conectada. la aplicación.
    • CONSUMER_PROJECT: Es el ID del proyecto que aloja la 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 del cliente.
  • Puerta de enlace del cliente: se refiere al servicio del conector de cliente y controla el regiones en las que quieres administrar el tráfico de usuarios.

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

Crea el servicio del conector de cliente

Console

  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 de cliente se crean en este paso, por lo que no tienes que crearlas 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 quieras que del conector de cliente al que llega.

  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

En el ejemplo anterior, 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 cliente. conector.
  • CONSUMER_PROJECT: Es el ID del proyecto que aloja la CONSUMER_NETWORK
  • SERVICE_LOCATION: Es la región en la que se creará el cliente. conector. Puedes especificar que una de las siguientes regiones sea compatibles: asia-east1, europe-west1, us-east1 y us-central1.
  • DESTINATION_ADDRESS: Es la dirección del host del destino. subred 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 la red de VPC a la que está conectada. 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

En el ejemplo anterior, 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, la máscara es 255.255.255.240.
  • CONSUMER_PROJECT: Es el ID del proyecto que aloja la CONSUMER_NETWORK
  • CONSUMER_NETWORK: Es el nombre de la red de VPC a la que está conectada. la aplicación.
  • SERVICE_LOCATION: Es la región en la que se creará el cliente. conector.
  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu cliente. conector.

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

Console

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

    Ve a IAP

  2. Haz clic en CONECTORES. El conector debe aparecer en la sección Cliente conector y deben tener una marca de verificación verde en 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 la CONSUMER_NETWORK
  • SERVICE_LOCATION: Es la región en la que se creará el cliente. conector.

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 la CONSUMER_NETWORK
  • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.

Opcional: Actualiza un servicio de conector de cliente

Console

Para actualizar las rutas de destino, sigue estos pasos:

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

    Ve a IAP

  2. Haz clic en CONECTORES.

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

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

gcloud

Ejecuta el siguiente comando para actualizar las rutas de destino:

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 cliente. conector.
  • CONSUMER_PROJECT: Es el ID de tu proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Las nuevas direcciones de host de las subredes de destino que alojan las aplicaciones
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: el nuevas máscaras de red 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 la CONSUMER_NETWORK
  • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.
  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre del servicio del conector de cliente.
  • NEW_DESTINATION_ADDRESS1, NEW_DESTINATION_ADDRESS2: Las nuevas direcciones de host de las subredes de destino que alojan las aplicaciones
  • NEW_DESTINATION_MASK1, NEW_DESTINATION_MASK2: el nuevas máscaras de red para las subredes de destino.

Opcional: Quita un servicio de conector de cliente

Console

  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 la servicio de conector de cliente y 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 cliente. conector.
  • CONSUMER_PROJECT: Es el ID de tu proyecto que aloja el CONSUMER_NETWORK.
  • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.

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 la CONSUMER_NETWORK
  • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.
  • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre del servicio del conector de cliente.

Crea, verifica o quita puertas de enlace de cliente

Console

  1. Si estás usando la consola para configurar el conector de cliente, se crean las puertas de enlace del cliente 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 un 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 Conectores de cliente, haz clic en el ícono de lápiz junto al conector de cliente del 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 en la lista desplegable Gateway regions 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 la CONSUMER_NETWORK
    • GATEWAY_LOCATION: Es la región en la que se creará el cliente. de enlace NAT.
    • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.
    • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre del servicio del 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 de tu proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Es 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: Es el nombre de la puerta de enlace del cliente.
    • CONSUMER_PROJECT: Es el ID de tu proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: Es 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 la CONSUMER_NETWORK
    • SERVICE_LOCATION: La región en la que el conector de cliente de la ubicación del servicio.
    • CLIENT_CONNECTOR_SERVICE_NAME: Es el nombre de tu cliente. conector.
    • 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 la CONSUMER_NETWORK
    • GATEWAY_LOCATION: Es la región en la que se encuentra la puerta de enlace del cliente.
  3. Opcional: Quita una puerta de enlace de 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 de tu proyecto que aloja el CONSUMER_NETWORK.
    • GATEWAY_LOCATION: La región en la que el conector de cliente de la puerta de enlace.
    • CLIENT_GATEWAY_NAME: Es 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 web protegidas. Como alternativa, puedes crea un grupo de usuarios para simplifican 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 puedes usar para restringir el acceso a tu aplicación.

  3. Configura una política de IAM para el cliente a un recurso de servicio de conector 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. También puedes especificar una condición de IAM para aprovisionar el rol solo cuando se cumple un nivel de acceso. Para actualizar el de IAM para 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 todavía no configuraste una pantalla de consentimiento de OAuth, haz lo siguiente: debes hacerlo para completar este paso. En CONECTAR NUEVA APLICACIÓN selecciona tu conector en Aplicaciones no web.
    4. En la ventana que se abre, haz clic en AGREGAR PRINCIPAL.
    5. Otorga a la principal o al grupo de usuarios el rol de Cloud BeyondCorp Client Connector Service User (roles/beyondcorp.clientConnectorServiceUser), requerido para acceder a las apps que no son web. También puedes especificar un nivel de acceso para aprovisionar el rol solo cuando se cumple el nivel de acceso. Para especificar un nivel de acceso, debes ser administrador de la organización o tener el view y edit a los niveles de acceso de la organización.
    6. Haz clic en GUARDAR.

Actualizar una política de IAM

Console

  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 Aplicaciones No Web.
  3. Selecciona tu conector de cliente. Una sección con los permisos de IAM asociados se abre 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 política de IAM 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 cliente. conector.
    • CONSUMER_PROJECT: Es el ID de tu proyecto que aloja el CONSUMER_NETWORK.
    • SERVICE_LOCATION: La región en la que el cliente el servicio de conector.
  2. Edita la política que se muestra. Actualiza las vinculaciones en policy.json para incluir la nueva asignación de roles 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 política de IAM 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 de tu 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 del servicio del conector de cliente.
  2. Edita la política que se muestra. Actualiza las vinculaciones en policy.json para incluir la nueva asignación de roles de IAM. Puedes hacerlo en una 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 de tu 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 un botón INICIAR CONEXIÓN. Para acceder a la aplicación web no 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 solicita usuario descargue e instale los objetos binarios del conector de cliente. Como alternativa, puede 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, consulta la siguiente información: proporciona pasos para solucionar problemas.

No puedes acceder a tu solicitud

La puerta de enlace del conector de cliente está en ejecución y la conexión está 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 Google Cloud asegúrate de anunciar también el rango de IP asignado a IPs Servicios: Acceso al router de intercambio de tráfico a través del protocolo de puerta de enlace de frontera (BGP) Para ver más consulta Especifica anuncios en una plataforma Router.

  • Especificaste una dirección y una máscara incorrectas en las rutas de destino. Ensure que los bits enmascarados sean cero cuando se proporcione la dirección Por ejemplo: 10.0.10.1 no es una dirección válida para incluir el campo 255.255.255.0 (/24) máscara de red. La dirección correcta es 10.0.10.0.

  • Posibles conflictos de IP entre el rango de IP asignado para el servicio privado El acceso y las subredes de IP que usa la red que aloja la aplicación. Ensure estos rangos son 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?