Configura condiciones de certificado empresarial

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Un principio clave de BeyondCorp Enterprise es que el acceso a los servicios se otorga en función de lo que sabemos de usted y su dispositivo. El nivel de acceso otorgado a un solo usuario o dispositivo se infiere de forma dinámica al interrogar varias fuentes de datos. BeyondCorp Enterprise usa este nivel de confianza como parte de su proceso de decisión.

Access Context Manager es el motor de políticas de confianza cero de BeyondCorp Enterprise. Access Context Manager permite a los administradores definir un control de acceso detallado basado en atributos para las aplicaciones y los recursos de Google Cloud.

Usa los niveles de acceso para permitir el acceso a los recursos según información contextual sobre la solicitud. Con los niveles de acceso, puedes comenzar a organizar los niveles de confianza. Por ejemplo, puedes crear un nivel de acceso llamado High_Level que permita solicitudes de un grupo pequeño de personas con privilegios altos. También puedes identificar un grupo más general en el que confiar, como un rango de IP para el cual desees permitir solicitudes. En ese caso, puedes crear un nivel de acceso llamado Medium_Level para permitir esas solicitudes.

Uno de los requisitos clave para el acceso de confianza cero solo es permitir el acceso cuando el dispositivo es administrado o propiedad de la empresa. Hay muchas formas de determinar si un dispositivo es propiedad de una empresa y, también, determinar si existe un certificado válido emitido por la empresa. La existencia de un certificado empresarial en un dispositivo se puede usar para indicar que el dispositivo es propiedad de la empresa.

Los certificados empresariales para el acceso adaptado al contexto son una función de la solución general de acceso basado en certificados BeyondCorp Enterprise. Esta función aprovecha los certificados de dispositivos como una señal alternativa y contextual para determinar si un dispositivo es un elemento de la empresa.

Debido a que un dispositivo puede tener más de un certificado, se puede acceder a los certificados empresariales en el nivel de acceso personalizado mediante macros .exist(e,p):

device.certificates.exists(cert, predicate)

En el ejemplo, cert es un identificador simple que se usa en predicator y se vincula al certificado del dispositivo. La macro exist() combina los resultados de predicados por elemento con el operador "o&; (||), lo que significa que las macros muestran verdadero si al menos un certificado satisface la expresión predicate.

El certificado tiene los siguientes atributos que se pueden verificar juntos. Ten en cuenta que las comparaciones de strings distinguen mayúsculas de minúsculas.

Atributo Descripción Ejemplo de expresión de predicado (donde cert es un identificador de macros)
is_valid Verdadero si el certificado es válido y no ha caducado (booleano). cert.is_valid
cert_fingerprint Huella digital del certificado (SHA256 sin rellenar base64).

La huella digital es el resumen SHA256 con codificación base64 sin rellenar del certificado con codificación DER. Puedes generar la string desde el certificado en formato PEM mediante el siguiente procedimiento con OpenSSL:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Huella digital del certificado de CA raíz que se usa para firmar el certificado (base64 sin rellenar SHA256)

La huella digital es el resumen SHA256 con codificación base64 sin rellenar del certificado con codificación DER. Puedes generar la string desde el certificado en formato PEM mediante el siguiente procedimiento con OpenSSL:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.root_ca_fingerprint == "the_fingerprint"
issuer Nombre del emisor (nombres expandidos por completo).

Para encontrar el nombre del emisor, puedes usar el siguiente enfoque:

Ejecuta el siguiente comando en el certificado:

$ openssl x509 -in ca_1.crt -issuer issuer= /C=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

La string del emisor que se usa en el nivel de acceso es la inversa del resultado y la / se reemplaza por una coma. Ejemplo:

EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN

cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN"
subject Nombre del certificado (nombres totalmente expandidos). cert.subject == "CA_SUB"
serial_number Número de serie del certificado (string). cert.serial_number = "123456789"
template_id ID de plantilla de la plantilla de certificado de la extensión X.509 para el certificado (string). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

En la siguiente tabla, se incluyen ejemplos de políticas que puedes establecer:

Ejemplo de una política Expresión
El dispositivo tiene un certificado válido firmado por el certificado raíz de la empresa. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
El dispositivo tiene un certificado válido emitido por la entidad emisora CA_ABC. device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

Configura certificados empresariales

Antes de configurar certificados empresariales, asegúrate de haber configurado niveles de acceso personalizados, Crea un nivel de acceso personalizado.

Puedes usar una definición de nivel de acceso personalizado de Access Context Manager para establecer las políticas adecuadas. Los niveles de acceso personalizados usan expresiones booleanas escritas en un subconjunto de Common Expression Language (CEL) para probar los atributos de un cliente que realiza una solicitud.

Carga de anclajes de confianza en la Consola del administrador

A fin de que BeyondCorp Enterprise recopile y valide el certificado empresarial del dispositivo, debe subir los anclajes de confianza que se usan para emitir el certificado del dispositivo. Los anclajes de confianza aquí se refieren al certificado raíz de CA (autoridad de certificación) autofirmado y los certificados intermedios y subordinados relevantes. Completa los siguientes pasos para subir los anclajes de confianza:

  1. Vaya a la Consola del administrador y navegue a Dispositivos > Redes > Certificados.
  2. Selecciona la unidad organizativa adecuada.
  3. Selecciona Agregar certificado.
  4. Ingresa el nombre del certificado.
  5. Sube el certificado.
  6. Habilita la casilla de verificación Endpoint Verification.
  7. Haga clic en Agregar.
  8. Asegúrate de que los usuarios pertenezcan a la unidad organizativa para la que se suben los anclajes de confianza.

Configura una política AutoSelectCertificateForUrls

Para que la Verificación de extremos busque el certificado del dispositivo y lo recopile a través de Chrome, debe configurar la política de Chrome AutoSelectCertificateForURLs. Para ello, siga estos pasos:

  1. Asegúrate de que el navegador Chrome esté administrado por la Administración en la nube para el navegador Chrome o la política de grupo de Windows.

    O

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

    1. Ve a la Consola del administrador y navega a Dispositivos > Chrome > Usuario & amp; Configuración del navegador > Certificados de cliente.
    2. Selecciona la unidad organizativa adecuada.
    3. Agrega una política (AutoSelectCertificateForUrls, como se muestra en el siguiente ejemplo:
    {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{<issuerDNs>}}}
    

    NOTA: El filtro debe hacer referencia a un certificado del emisor, subido en los pasos anteriores.

Para verificar la configuración de la política, completa los siguientes pasos:

  1. Navega a chrome://policy en el navegador.
  2. Verifica el valor configurado para AutoSelectCertificateForUrls.
  3. Asegúrate de que el valor Se aplica a la política esté configurado como Máquina. En el sistema operativo Chrome, el valor se aplica al Usuario actual*.
  4. Asegúrate de que el Estado de la política no tenga un Conflicto.

Soluciona problemas de configuración

Revisa los atributos del certificado en la página de detalles del dispositivo para asegurarte de que se muestren correctamente

Puedes usar los registros de Endpoint Verification para solucionar cualquier problema. Para descargar los registros de Endpoint Verification, sigue estos pasos:

  1. Haz clic con el botón derecho en la extensión de Verificación de extremos y, luego, ve a Opciones.
  2. Selecciona Log level > All > Download Logs.
  3. Abre un caso de ayuda con Cloud Customer Care y comparte los registros para una mayor depuración.