Habilitar el acceso basado en certificados con tus certificados empresariales

En esta página, se describe cómo habilitar el acceso basado en certificados (CBA) con tus certificados empresariales.

Si no tienes una infraestructura de clave pública (PKI), puedes usar los certificados aprovisionados por la Verificación de extremos.

Un requisito importante del modelo de acceso de confianza cero es permitir solo el acceso a dispositivos autorizados. La CBA de acceso adaptado al contexto utiliza certificados y sus privadas almacenadas en un almacén de claves seguro en el dispositivo para determinar si la o si el dispositivo está autorizado. Para habilitar esta función, completa los siguientes procedimientos.

Antes de comenzar

Asegúrate de haber creado niveles de acceso de CBA para tu proyecto de Google Cloud. Si necesitas crear niveles de acceso, Consulta Crea niveles de acceso para el acceso basado en certificados.

Asegúrate de aplicar la CBA en tus recursos de Google Cloud con uno de los siguientes métodos:

Cuando aplicas la CBA en tus recursos de Google Cloud, el acceso a estos requiere que un usuario autorizado también presente un certificado de dispositivo válido.

Sube las anclas de confianza

Para permitir que el acceso adaptado al contexto recopile y valide el certificado empresarial de un dispositivo, debes subir los anclajes de confianza que se usan para emitir el certificado del dispositivo. Las anclas de confianza son el certificado de la AC raíz autofirmado y el certificados intermedios y subordinados relevantes. Para subir las anclas de confianza, completa los siguientes pasos:

  1. En la Consola del administrador de Google, ve a Dispositivos > Redes > Certificados y, luego, selecciona la unidad organizacional para la que deseas subir los vínculos de confianza. Asegúrate de que la organización unidad seleccionada contiene los usuarios a los que deseas otorgar acceso.

  2. Selecciona Agregar certificado y, luego, ingresa un nombre para tu certificado raíz.

  3. Haz clic en Subir para subir el certificado.

  4. Selecciona Habilitar la verificación de extremos y, luego, haz clic en Agregar.

El certificado que se subirá debe ser el de la AC, que es la entidad emisora de los certificados de cliente instalados en tus dispositivos corporativos. Si tu empresa aún no tiene un certificado de AC y los certificados de cliente correspondientes, puedes crearlos a través del servicio de autoridad certificadora de Google Cloud. Los pasos para instalar certificados de cliente en almacenes de claves nativos son diferentes para para cada sistema operativo y está fuera del alcance de este documento.

Configura el navegador Chrome de los usuarios para que use tu certificado empresarial

Sigue las instrucciones que se indican en Configura la verificación de extremos para realizar la instalación. la extensión de Verificación de extremos para Chrome para todos los usuarios de tu organización. Esta extensión se usa para sincronizar metadatos del certificado en el backend de Google Cloud.

Después de configurar la extensión del navegador, configura la política de Chrome AutoSelectCertificateForURLs para permitir que la Verificación de extremos busque el certificado del dispositivo y lo recopile a través de Chrome.

  1. Asegúrate de que la Administración en la nube para el navegador Chrome administre el navegador Chrome de los usuarios:

  2. En la Consola del administrador, agrega la política AutoSelectCertificateForUrls:

    1. Ve a Dispositivos > Chrome > Configuración > Usuarios y Configuración del navegador > Cliente certificados.

    2. Selecciona la unidad organizativa adecuada.

    3. Agrega una política.

      En el siguiente ejemplo, se agrega la política AutoSelectCertificateForUrls:

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

      En el ejemplo, CERT_ISSUER es el nombre común de tu certificado de la AC.

Después de esta configuración, los usuarios podrán acceder a los recursos protegidos de Google Cloud con el navegador Chrome en console-secure.cloud.google.com.

Verifica la configuración de la política (opcional)

  1. En el navegador Chrome, ingresa chrome://policy.

  2. Verifica que AutoSelectCertificateForUrls aparezca en Políticas de Chrome.

  3. Verifica que el valor de Se aplica a sea Máquina. En el sistema operativo Chrome, el valor de Se aplica a es Usuario actual.

  4. Asegúrate de que el Status de la política no tenga un Conflict. Si el estado presenta un conflicto, consulta Comprende la administración de políticas de Chrome para obtener más información.

Configura las herramientas de línea de comandos para usar tu certificado empresarial

Si los usuarios de tu organización necesitan acceder a los recursos de Google Cloud desde la línea de comandos, deben completar los siguientes procedimientos para habilitar la CBA con tu certificado empresarial en sus herramientas de línea de comandos.

Se admiten las siguientes herramientas de línea de comandos:

  • Google Cloud CLI

  • CLI de Terraform (se sigue necesitando la CLI de gcloud para instalar y configurar los componentes auxiliares)

Debido a que los certificados del dispositivo se almacenan en almacenes de claves nativos, la CLI de Google Cloud se incluye con un componente de código abierto llamado Proxy de certificado empresarial (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 Visual Studio C++.

Se admiten los siguientes sistemas operativos y sus respectivos almacenes de claves nativos:

  • macOS con llavero

  • Microsoft Windows con CryptoAPI

  • Linux con PKCS #11

El ECP se debe configurar con la información de metadatos necesaria para ubicar en los almacenes de claves.

Instala y configura el ECP con Google Cloud CLI

  1. Instala Google Cloud CLI y habilita CBA. Instala con la opción bundled python habilitada.

  2. En macOS y Linux, ejecuta la secuencia de comandos install.sh después de descargarla:

    $ ./google-cloud-sdk/install.sh
    
  3. Instala el componente auxiliar de ECP con Google Cloud CLI:

    gcloud components install enterprise-certificate-proxy
    
  4. Inicializa la configuración del certificado de ECP con Google Cloud CLI:

Linux

$ gcloud auth enterprise-certificate-config create linux
  --label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>

Ejemplo:

$ gcloud auth enterprise-certificate-config create linux
  --label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567

macOS

$ gcloud auth enterprise-certificate-config create macos
  --issuer=<CERT_ISSUER>

Ejemplo:

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

Windows

$ gcloud auth enterprise-certificate-config create windows
  --issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>

Ejemplo:

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

La configuración de ECP también se puede configurar de forma manual. Se almacena como un archivo JSON en la siguiente ubicación del dispositivo del usuario:

  • Linux y macOS: ~/.config/gcloud/certificate_config.json

  • Windows: %APPDATA%\gcloud\certificate_config.json

Consulta la documentación de ECP en GitHub para ver ejemplos adicionales de la configuración y el esquema.

Linux

{
  "cert_configs": {
    "pkcs11": {
      "label": "<CERT_LABEL>",
      "slot": "<SLOT_ID>",
      "module": "<PKCS11_MODULE_PATH>"
    }
  },
  "libs": {
    "ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
    "ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
    "tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
  }
}

macOS

{
  "cert_configs": {
      "macos_keychain": {
        "issuer": "<CERT_ISSUER>"
      }
  },
  "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

{
  "cert_configs": {
    "windows_store": {
      "store": "MY",
      "provider": "current_user",
      "issuer": "<CERT_ISSUER>"
    }
  },
  "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"
  }
}

Después de esta configuración, los usuarios pueden acceder a los recursos protegidos de Google Cloud con herramientas de línea de comandos si habilitan la marca de CBA.

Para habilitar la CBA para Google Cloud CLI, configura la propiedad context_aware/use_client_certificate en true.

Para habilitar la CBA para todas las demás herramientas de línea de comandos, incluida Terraform, establece la variable de entorno GOOGLE_API_USE_CLIENT_CERTIFICATE en true.

¿Qué sigue?