Habilitar el acceso basado en certificados con certificados de verificación de puntos finales

En esta página se describe cómo habilitar el acceso basado en certificados (CBA) con los certificados aprovisionados de verificación de endpoints.

Puedes usar Endpoint Verification para aprovisionar automáticamente certificados autofirmados para un dispositivo. Los certificados aprovisionados de Verificación de puntos finales te permiten usar la autenticación basada en certificados sin una infraestructura de PKI. Estos certificados se almacenan en el llavero de macOS, en los almacenes de certificados de Windows y en los sistemas de archivos de Linux.

Si tienes una infraestructura de PKI, consulta el artículo Habilitar el acceso basado en certificados con los certificados de tu empresa para habilitar la autenticación basada en certificados.

Puedes habilitar los certificados aprovisionados de Endpoint Verification en los siguientes sistemas operativos:

  • macOS y Windows con el navegador Chrome
  • macOS, Windows y Linux con Google Cloud CLI

Si tu sistema operativo no aparece en la lista, consulta Usar sistemas operativos que no son totalmente compatibles.

Antes de empezar

Antes de continuar, asegúrate de que cumples los siguientes requisitos:

Configurar la verificación de puntos de conexión

Sigue las instrucciones para instalar la extensión Endpoint Verification de Chrome en todos los dispositivos de los usuarios de tu organización. La extensión aprovisiona certificados autofirmados en tus dispositivos y sincroniza los metadatos de los certificados con Google Cloud.

Instala la aplicación de asistente de verificación de endpoints. Esta aplicación es necesaria para usar la verificación de endpoints con la autenticación basada en certificados.

Configurar el navegador Chrome de los usuarios

Para configurar el navegador Chrome de los usuarios de forma que utilice los certificados aprovisionados de Endpoint Verification, debes configurar la política de Chrome AutoSelectCertificateForURLs para permitir que Endpoint Verification busque el certificado del dispositivo y lo recoja a través de Chrome.

  1. Asegúrate de que el navegador Chrome de los usuarios esté gestionado por Gestión en la nube del navegador Chrome.
  2. En la consola de administración de Google, añade la política AutoSelectCertificateForUrls.

    1. Ve a Dispositivos > Chrome > Configuración > Configuración de usuario y de navegador > Certificados de cliente.
    2. Selecciona la unidad organizativa adecuada.
    3. Añade una política. En el siguiente ejemplo se añade la política AutoSelectCertificateForUrls:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      

Una vez que hayas completado la configuración, los usuarios podrán acceder a los recursos protegidos con el navegador Chrome en console-secure.cloud.google.com. Google Cloud

(Opcional) Verificar la configuración de la política

  1. En el navegador Chrome, introduce chrome://policy.
  2. Comprueba que AutoSelectCertificateForUrls aparece en Políticas de Chrome.
  3. Comprueba que el valor de Aplicable a sea Equipo. En ChromeOS, el valor de Se aplica a es Usuario actual.
  4. Comprueba que el estado de la política no sea "Conflicto". Si el estado tiene un conflicto, consulta el artículo Comprender la gestión de políticas de Chrome para obtener información.

Configurar herramientas de línea de comandos

Puedes configurar las siguientes herramientas para que usen los certificados aprovisionados de Endpoint Verification:

  • Google Cloud CLI
  • La CLI de Terraform (se necesita la CLI de gcloud para instalar y configurar componentes auxiliares).

Como los certificados de dispositivo se almacenan en los almacenes de claves de macOS y Windows, la CLI de gcloud se incluye con el componente de código abierto Enterprise Certificate Proxy (ECP) para interactuar con las APIs de gestión de claves.

Si usas un sistema Windows, debes tener instalada la biblioteca de tiempo de ejecución de Visual Studio C++.

  1. Instala gcloud CLI. Instala el SDK con la opción de Python incluido habilitada.
  2. Habilita la atribución basada en el contenido.
  3. En macOS y Linux, descarga y ejecuta la secuencia de comandos install.sh.

    ./google-cloud-sdk/install.sh
    
  4. Los usuarios de Linux deben ir al paso Habilitar la autenticación basada en certificados y los certificados aprovisionados de verificación de endpoints . Los usuarios de macOS y Windows deben seguir estos pasos.

    1. Instala el componente auxiliar de ECP con la CLI de gcloud.

      
      gcloud components install enterprise-certificate-proxy
      
    2. Inicializa la configuración del certificado ECP con la CLI de gcloud.

      macOS

      
      gcloud auth enterprise-certificate-config create macos \
      --issuer="Google Endpoint Verification"
      

      Windows

      
      gcloud auth enterprise-certificate-config create windows \
      --issuer="Google Endpoint Verification" \
      --provider=current_user \
      --store=MY
      

      (Opcional) Configura el certificado ECP manualmente ejecutando el siguiente comando.

      macOS

      La configuración de ECP se almacena en un archivo JSON ubicado en ~/.config/gcloud/certificate_config.json.

      {
        "cert_configs": {
            "macos_keychain": {
              "issuer": "Google Endpoint Verification"
            }
        },
        "libs": {
          "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
          "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
          "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
        }
      }
      

      Windows

      La configuración de ECP se almacena en un archivo JSON ubicado en %APPDATA%\gcloud\certificate_config.json.

      {
        "cert_configs": {
          "windows_store": {
            "store": "MY",
            "provider": "current_user",
            "issuer":"Google Endpoint Verification"
          }
        },
        "libs": {
          "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
          "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
          "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
        }
      }
      
  5. Habilita la autenticación basada en certificados y los certificados aprovisionados de verificación de endpoints.

    • En gcloud CLI, ejecuta el siguiente comando:

      gcloud config set context_aware/use_client_certificate true
      
    • En el caso de las demás herramientas de línea de comandos, como Terraform, define la variable de entorno.

      export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
      

Usar sistemas operativos que no son totalmente compatibles

Si tu sistema operativo no está en la lista de sistemas operativos compatibles y quieres usar certificados aprovisionados de Verificación de Endpoint, puedes eximir los entornos de la aplicación basada en certificados y protegerlos con otros tipos de aplicación. Por ejemplo, mediante una política de dispositivos propiedad de la empresa.

Ten en cuenta que la aplicación basada en certificados ofrece una protección más sólida que otros tipos de aplicación, ya que aplica cada solicitud procedente de un dispositivo mediante el handshake de mTLS.

A continuación, se muestra un ejemplo de cómo excluir entornos de la aplicación basada en certificados y protegerlos con otro tipo de aplicación.

En este ejemplo, una organización usa dispositivos macOS, Windows y ChromeOS. La organización quiere proteger el acceso que se origina en la consolaGoogle Cloud .

  1. Crea un nivel de acceso que aplique el acceso basado en certificados a todos los dispositivos, excepto a los dispositivos ChromeOS, en los que se requiere una política de dispositivos propiedad de la empresa. Sustituye el archivo YAML por la siguiente expresión personalizada:

    certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
     || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
    
  2. Completa los pasos de los procedimientos anteriores.

    1. Crear una política contextual
    2. Configurar la verificación de endpoints
    3. Configurar el navegador Chrome de los usuarios para que utilice los certificados aprovisionados de Endpoint Verification