Habilitar el acceso basado en certificados con tus certificados de empresa

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 certificados aprovisionados por Verificación de puntos de conexión.

Un requisito importante del modelo de acceso de confianza cero es permitir el acceso solo a dispositivos autorizados. La autenticación basada en certificados con acceso contextual usa certificados y sus claves privadas, que se almacenan en un almacén de claves seguro del dispositivo, para determinar si el dispositivo está autorizado. Para habilitar esta función, sigue estos pasos.

Antes de empezar

Asegúrate de haber creado niveles de acceso basados en certificados para tu proyecto de Google Cloud . Si necesitas crear niveles de acceso, consulta el artículo Crear niveles de acceso para el acceso basado en certificados.

Asegúrate de aplicar la autenticación basada en certificados en tus Google Cloud recursos mediante uno de los siguientes métodos:

Cuando aplicas la autenticación basada en certificados a tus recursos de Google Cloud , para acceder a ellos, el usuario autorizado también debe presentar un certificado de dispositivo válido.Google Cloud

Subir las anclas de confianza

Para permitir que el acceso contextual recoja y valide el certificado empresarial de un dispositivo, debes subir las anclas de confianza que se han usado para emitir el certificado del dispositivo. Las anclas de confianza son el certificado de CA raíz autofirmado y los certificados intermedios y subordinados pertinentes. Para subir los anclajes de confianza, sigue estos pasos:

  1. En la consola de administración de Google, ve a Dispositivos > Redes > Certificados y, a continuación, selecciona la unidad organizativa en la que quieras subir las anclas de confianza. Asegúrate de que la unidad organizativa que selecciones contenga los usuarios a los que quieras conceder acceso.

  2. Selecciona Añadir certificado y, a continuación, introduce un nombre para el certificado raíz.

  3. Haz clic en Subir para subir el certificado.

  4. Selecciona Habilitar Endpoint Verification y, a continuación, haz clic en Añadir.

El certificado que se debe subir es el certificado de la AC, que es la entidad emisora de los certificados de cliente instalados en los dispositivos de tu empresa. Si tu empresa aún no tiene un certificado de CA y los certificados de cliente correspondientes, puedes crearlos a través del Google Cloud Servicio de Autoridades de Certificación. Los pasos para instalar certificados de cliente en almacenes de claves nativos varían en función del sistema operativo y no se incluyen en este documento.

Configurar el navegador Chrome de los usuarios para que use el certificado de tu empresa

Sigue las instrucciones que se indican en el artículo Configurar Endpoint Verification para instalar la extensión Endpoint Verification de Chrome para todos los usuarios de tu organización. Esta extensión se usa para sincronizar los metadatos de los certificados con el backend de Google Cloud.

Una vez que hayas configurado la extensión del navegador, configura la AutoSelectCertificateForURLs política de Chrome 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, 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":<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.

Una vez que se haya configurado, los usuarios podrán acceder a los recursos protegidos Google Cloud con el navegador Chrome en console-secure.cloud.google.com.

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

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

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

  3. Comprueba que el valor de Aplicable a sea Equipo. En el sistema operativo Chrome, el valor de Se aplica a es Usuario actual.

  4. Comprueba que el valor de 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 para usar tu certificado de empresa

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

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

  • Google Cloud CLI

  • CLI de Terraform (sigue siendo necesaria la CLI de gcloud para instalar y configurar componentes auxiliares).

Como los certificados de dispositivo se almacenan en almacenes de claves nativos, la CLI de Google Cloud incluye un componente de código abierto llamado 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++.

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

  • macOS con Llavero

  • Microsoft Windows con CryptoAPI

  • Linux con PKCS #11

ECP debe configurarse con la información de metadatos necesaria para localizar el certificado en los almacenes de claves.

Instalar y configurar ECP con Google Cloud CLI

  1. Instala la CLI de Google Cloud y habilita la autenticación basada en certificados. Instala la aplicación 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 ECP con la CLI de Google Cloud:

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 hacer manualmente. 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 más ejemplos de configuración y 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 Google Cloud mediante herramientas de línea de comandos habilitando la marca CBA.

Para habilitar la autenticación basada en certificados en Google Cloud CLI, asigna el valor true a la propiedad context_aware/use_client_certificate.

Para habilitar la autenticación basada en certificados en todas las demás herramientas de línea de comandos, incluida Terraform, define la variable de entorno GOOGLE_API_USE_CLIENT_CERTIFICATE como true.

Siguientes pasos