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 de macOS, en los almacenes de certificados de Windows y en los sistemas de archivos de Linux.
Si tienes una infraestructura de PKI, consulta Cómo habilitar 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 Uso de sistemas operativos no compatibles por completo.
Antes de comenzar
Antes de continuar, asegúrate de cumplir con los siguientes requisitos:
Creaste niveles de acceso de CBA para tu proyecto Google Cloud .
Puedes aplicar la CBA en tus recursos de Google Cloud con uno de los siguientes métodos:
- (Recomendado) Configura reglas en torno a los usuarios aplicando el acceso basado en certificados con políticas de acceso adaptado al contexto.
- Configura reglas en torno a los datos aplicando el acceso basado en certificados con los Controles del servicio de VPC.
Tienes autorización para completar 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 Chrome de Endpoint Verification 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 app auxiliar de Endpoint Verification. Esta app es necesaria para usar Endpoint Verification con CBA.
Configura el navegador Chrome de los usuarios
Para configurar el navegador Chrome de los usuarios de modo que use los certificados aprovisionados de Verificación de extremos, debes configurar la política de Chrome AutoSelectCertificateForURLs para permitir que Verificación de extremos busque el certificado del dispositivo y lo recopile a través de Chrome.
- Asegúrate de que el navegador Chrome de los usuarios esté administrado por la Administración en la nube para el navegador Chrome.
En la Consola del administrador de Google, agrega la política AutoSelectCertificateForUrls.
- Ve a Dispositivos > Chrome > Configuración > Configuración de usuarios y navegadores > 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 podrán acceder a los recursos protegidos deGoogle Cloud con el navegador Chrome en console-secure.cloud.google.com.
(Opcional) Verifica la configuración de la política
- En el navegador Chrome, ingresa
chrome://policy
. - Verifica que AutoSelectCertificateForUrls aparezca en Políticas de Chrome.
- Verifica que el valor de Se 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 más información.
Configura 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 gcloud CLI para instalar y configurar los componentes auxiliares)
Dado que los certificados de dispositivos se almacenan en los almacenes de claves de macOS y Windows, gcloud CLI 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 de tiempo de ejecución de C++ de Visual Studio.
- Instala la CLI de gcloud. Instala con la opción de Python incluido habilitada.
- Habilita la CBA.
En macOS y Linux, descarga y, luego, ejecuta la secuencia de comandos
install.sh
../google-cloud-sdk/install.sh
Los usuarios de Linux deben ir al paso Habilita la CBA y los certificados aprovisionados de Endpoint Verification . Los usuarios de macOS y Windows deben completar los siguientes pasos.
Instala el componente de ayuda de ECP con gcloud CLI.
gcloud components install enterprise-certificate-proxy
Inicializa la configuración del certificado de ECP con gcloud CLI.
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 del 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 del 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" } }
Habilita la CBA y los certificados aprovisionados de la verificación de extremos.
En gcloud CLI, 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 se encuentra en la lista de sistemas operativos compatibles y quieres usar certificados aprovisionados de Verificación de extremos, puedes eximir los entornos de la aplicación de la política basada en certificados y, en su lugar, protegerlos con otros tipos de aplicación de políticas. Por ejemplo, con 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 proveniente de un dispositivo a través del protocolo de enlace de mTLS.
A continuación, se muestra un ejemplo de cómo eximir 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 desea proteger el acceso que se origina en la consola deGoogle Cloud .
Crea un nivel de acceso que aplique el acceso basado en certificados para todos los dispositivos, excepto 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.