Protege recursos con acceso basado en certificados

El acceso basado en certificados funciona para proteger el acceso a muchos recursos de Google, ya que identifica los dispositivos mediante sus certificados X.509. Esta característica se basa en las funciones de acceso adaptado al contexto existentes de BeyondCorp Enterprise (verificación de extremos, Access Context Manager, Controles del servicio de VPC y reenvío de TCP de Identity-Aware Proxy) y garantiza que solo esas los usuarios de un dispositivo de confianza con un certificado generado por Google pueden tener acceso de administrador a través del redireccionamiento de TCP de IAP o acceder a las API de Google Cloud mediante Google Cloud Console o la biblioteca cliente de Google Cloud para Go las rutas "a GCP".

Esto proporciona una señal más fuerte de identidad del dispositivo y, lo que es más importante, ayuda a proteger a los usuarios del robo de credenciales o a una pérdida accidental al otorgar acceso solo cuando se presentan las credenciales y el certificado del dispositivo original.

Para configurar esta función, sigue estos pasos:

  1. Implementa la verificación de extremos en los dispositivos de tu organización.
  2. Crea un nivel de acceso en Access Context Manager que requiera que los certificados del dispositivo coincidan para el acceso.
  3. Aplica restricciones de acceso mediante la aplicación del nivel de acceso a través del redireccionamiento de TCP de IAP o un perímetro de servicio de Controles del servicio de VPC.
  4. Tus usuarios habilitan el acceso a instancias de VM o a las API de Google Cloud que ahora están protegidas por el acceso basado en certificados.

Implementa Endpoint Verification

Endpoint Verification te permite compilar un inventario de dispositivos que acceden a los datos de tu organización. Como parte de una solución de BeyondCorp Enterprise, también proporciona confianza crítica del dispositivo y control de acceso basado en la seguridad, y puede ayudar a aplicar un control de acceso detallado en tus recursos de Google Cloud. Para el acceso basado en certificados, la verificación de extremos es adicional responsable de generar, registrar y presentar un certificado X.509 verificado por Google para cada dispositivo de confianza.

Endpoint Verification se ejecuta como una extensión de Chrome en computadoras de escritorio y laptops para los usuarios de Mac, Windows y Linux. Un administrador puede implementarlo en los dispositivos de la organización de la empresa desde la Consola del administrador de Google Workspace, o los miembros de la organización pueden instalarlo por su cuenta.

Los usuarios que se instalan por primera vez deben tener la última versión, pero se requieren las siguientes versiones de Verificación de extremos para admitir el acceso basado en certificados:

  • Extensión de Chrome de Verificación de extremos: 1.0.38 o posterior
  • Ayuda nativa: 0.4.40.0 o posterior para Mac, 0.4.36.0 o posterior para Windows y 20191007 o posterior para Linux

Crear un nivel de acceso

Deberás definir un nivel de acceso que requiera certificados para determinar el acceso a los recursos. Para ello, crea un nivel de acceso personalizado en Access Context Manager.

Los valores que usas para el nombre del nivel de acceso, la descripción y el título fácil de usar, entre otros, pueden ser cualquier opción para ti, pero la expresión del nivel de acceso personalizado debe ser la siguiente:

certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE

Por ejemplo, si usas la herramienta gcloud para crear tu nivel de acceso personalizado, puedes usar el siguiente comando:

gcloud access-context-manager levels create LEVEL_NAME \
  --title=TITLE \
  --custom-level-spec=FILE \
  --description=DESCRIPTION \
  --policy=POLICY_NAME

El contenido del archivo .yaml al que hace referencia FILE es simplemente la expresión personalizada:

expression: "certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE"

Cómo aplicar el nivel de acceso

Ahora que se creó un nivel de acceso, el último paso administrativo es aplicar sus restricciones.

Aplica restricciones en el acceso de administrador a las VM

Puedes aplicar el nivel de acceso para el acceso de administrador a las instancias de VM (a través de SSH y RDP) con el redireccionamiento de TCP de IAP:

  • En el caso de los usuarios o grupos que tienen la función de Usuario de túnel protegido con IAP, edita los permisos para agregar una condición.
  • Usa el nombre del nivel de acceso que definiste antes (que sería el valor de TITLE en el ejemplo de la herramienta de gcloud) para restringir el acceso por nivel de acceso.

Aplica restricciones de acceso a las API de Google Cloud

Para aplicar el acceso basado en certificados cada vez que los usuarios intenten acceder a determinadas API de administración, crea un perímetro de servicio de Controles del servicio de VPC. Cuando creas (o modificas) un perímetro de servicio, se requiere la opción de especificar un nivel de acceso para las solicitudes fuera del perímetro para el acceso basado en certificados.

Usa el nombre del nivel de acceso personalizado que creaste antes (el valor de TITLE en el ejemplo de la herramienta de gcloud) para incluirlo en el perímetro de servicio.

Habilita el acceso de los usuarios a los recursos protegidos

Una vez que las restricciones de acceso basadas en certificados están vigentes, tus usuarios deben habilitar su propio acceso a los recursos protegidos.

  • Solicita a los usuarios que instalen o actualicen la herramienta de gcloud para asegurarse de que tengan una versión que funcione con acceso basado en certificado.

    Los usuarios que ya tienen instalada la herramienta de gcloud pueden confirmar que tienen la versión 26.0.0 o posterior con el comando gcloud --version. Si es necesario, pueden actualizar su versión con el siguiente comando:

    gcloud components update
    
  • Los usuarios deben ejecutar el siguiente comando para comenzar a usar el acceso basado en certificados:

    gcloud config set context_aware/use_client_certificate true
    
  • Luego, pueden acceder a la herramienta gcloud como lo haces normalmente:

    gcloud auth login
    

Una vez que se completan esos pasos, tus usuarios pueden volver a usar la herramienta gcloud para acceder a instancias de VM y acceder a las API de Google Cloud.