En esta página, se describe cómo habilitar el acceso basado en certificados (CBA) con los certificados aprovisionados de Endpoint Verification.
Puedes usar la Verificación de extremos para aprovisionar automáticamente certificados autofirmados para un dispositivo. Los certificados aprovisionados de la Verificación de extremos te permiten usar la CBA sin una infraestructura de PKI. Estos certificados se almacenan en el llavero en macOS, en los almacenes de certificados en Windows y en los sistemas de archivos en Linux.
Si tienes una infraestructura de PKI, consulta Habilita el acceso basado en certificados con tus certificados empresariales para habilitar el CBA.
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 Cómo usar sistemas operativos que no son totalmente compatibles.
Antes de comenzar
Antes de continuar, asegúrate de cumplir con los siguientes requisitos:
Creaste niveles de acceso de CBA para tu Google Cloud proyecto.
Puedes aplicar la CBA a tus recursos Google Cloud con uno de los siguientes métodos:
- (Recomendado) Configura reglas para los usuarios aplicando el acceso basado en certificados con políticas de acceso adaptadas al contexto.
- Aplica el acceso basado en certificados con los Controles del servicio de VPC para configurar reglas sobre los datos.
Tienes autorización para realizar el proceso de conexión de mTLS con un certificado de cliente válido.
Configura la verificación de extremos
Sigue las instrucciones para instalar la extensión de Verificación de extremos de Chrome para todos los dispositivos de los usuarios de tu organización. La extensión aprovisiona certificados firmados por su propietario en tus dispositivos y sincroniza los metadatos de los certificados con Google Cloud.
Instala la app auxiliar de Endpoint Verification. Esta app es obligatoria para usar Endpoint Verification con CBA.
Configura el navegador Chrome de los usuarios
Para configurar el navegador Chrome de los usuarios para que use 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 recopile a través de Chrome.
- Asegúrate de que la Administración en la nube para el navegador Chrome administre el navegador Chrome de los usuarios.
En la Consola del administrador de Google, agrega la política AutoSelectCertificateForUrls.
- Ve a Dispositivos > Chrome > Configuración > Configuración de usuarios y del navegador > Certificados de cliente.
- Selecciona la unidad organizativa adecuada.
Agrega una política. En el siguiente ejemplo, se agrega 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"}}}
Después de completar la configuración, los usuarios pueden acceder a los recursosGoogle Cloud protegidos con el navegador Chrome en console-secure.cloud.google.com.
Verifica la configuración de la política (opcional)
- En el navegador Chrome, ingresa
chrome://policy
. - Verifica que AutoSelectCertificateForUrls aparezca en la lista de Políticas de Chrome.
- Verifica que el valor de Aplica a sea Máquina. En ChromeOS, el valor de Se aplica a es Usuario actual.
- Asegúrate de que el estado de la política no tenga conflictos. Si el estado tiene un conflicto, consulta Información sobre la administración de políticas de Chrome para obtener información.
Configura las herramientas de línea de comandos
Puedes configurar las siguientes herramientas para usar 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).
Debido a que los certificados de dispositivos se almacenan en 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 administración de claves.
Si usas un sistema Windows, debes tener instalada la biblioteca del tiempo de ejecución de Visual Studio C++.
- Instala la CLI de gcloud. Instala con la opción de Python incluida habilitada.
- Habilita la CBA.
En macOS y Linux, descarga y, luego, ejecuta la secuencia de comandos
install.sh
../google-cloud-sdk/install.sh
Si usas Linux, ve al paso Habilita los certificados aprovisionados de CBA y Endpoint Verification . Si usas macOS o Windows, completa los siguientes pasos.
Instala el componente de ayuda de ECP con la CLI de gcloud.
gcloud components install enterprise-certificate-proxy
Inicializa la configuración del certificado de 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) Ejecuta el siguiente comando para configurar el certificado de ECP de forma manual:
macOS
La configuración de ECP se almacena en un archivo JSON, que se encuentra 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, que se encuentra 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" } }
Habilita los certificados aprovisionados de CBA y Endpoint Verification.
En el caso de la CLI de gcloud, ejecuta el siguiente comando.
gcloud config set context_aware/use_client_certificate true
Para todas las demás herramientas de línea de comandos, incluida Terraform, configura la variable de entorno.
export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
Uso de sistemas operativos no totalmente compatibles
Si tu sistema operativo no está en la lista de sistemas operativos compatibles y deseas usar certificados aprovisionados de la Verificación de extremos, puedes eximir a los entornos de la aplicación forzosa basada en certificados y, en su lugar, protegerlos con otros tipos de aplicación forzosa. Por ejemplo, con una política de dispositivos propiedad de la empresa.
Ten en cuenta que la aplicación de políticas basada en certificados ofrece una protección más sólida que otros tipos de aplicación de políticas, ya que aplica cada solicitud que proviene de un dispositivo a través del protocolo de enlace mTLS.
A continuación, se muestra un ejemplo de cómo eximir a los entornos de la aplicación forzosa basada en certificados y protegerlos con otro tipo de aplicación forzosa.
En este ejemplo, una organización usa dispositivos macOS, Windows y ChromeOS. La organización quiere proteger el acceso que se origina en la consola de Google Cloud.
Crea un nivel de acceso que aplique el acceso basado en certificados para todos los dispositivos, excepto para los dispositivos ChromeOS en los que se requiere una política de dispositivo de la empresa. Reemplaza 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)
Completa los pasos de los procedimientos anteriores.