Habilita 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 usa certificados y sus claves privadas almacenadas en un almacén de claves seguro en el dispositivo para determinar 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 Google Cloud proyecto. 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 a tus recursos Google Cloud , el acceso a tus recursosGoogle Cloud 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. Los anclajes de confianza son el certificado de AC raíz autofirmado y los certificados intermedios y subordinados relevantes. Para subir los vínculos 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 unidad organizacional que selecciones contenga a los usuarios a los que deseas otorgar acceso.

  2. Selecciona Add Certificate 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 certificado 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 Google Cloud Servicio de autoridad certificadora. Los pasos para instalar certificados de cliente en almacenes de claves nativos son diferentes para cada sistema operativo y están 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 instalar la extensión de Verificación de extremos para Chrome en todos los usuarios de tu organización. Esta extensión se usa para sincronizar los metadatos del certificado con 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 > Configuración de usuarios y navegadores > Certificados de cliente.

    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 AC.

Después de esta configuración, los usuarios pueden acceder a los recursos Google Cloud protegidos 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 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 Estado de la política no tenga un Conflicto. Si el estado tiene un conflicto, consulta Información sobre la administración de políticas de Chrome.

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 del tiempo de ejecución de C++ de Visual Studio.

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 debe configurarse con la información de metadatos necesaria para ubicar el certificado en los almacenes de claves.

Instala y configura 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 Google Cloud protegidos con herramientas de línea de comandos si habilitan la marca 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?