Configura condiciones de certificado empresarial

Un principio clave de Chrome Enterprise Premium es que el acceso a los servicios se otorga en función de la información contextual sobre ti y tu dispositivo. Chrome Enterprise Premium infiere de forma dinámica el nivel de acceso que se otorga a un solo usuario o dispositivo mediante la evaluación de varias fuentes de datos y 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 Chrome Enterprise Premium. Access Context Manager te permite definir un control de acceso detallado y basado en atributos para aplicaciones y recursos de Google Cloud .

Usa los niveles de acceso para permitir el acceso a los recursos según la 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 elevados. También puedes identificar un grupo más general en el que confiar, como un rango de direcciones IP desde el que quieres 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 es permitir el acceso solo cuando el dispositivo es administrado por la empresa o es de su propiedad. Existen varias formas de determinar si un dispositivo es de propiedad corporativa. Una forma es determinar si hay un certificado válido, emitido por la empresa, en el dispositivo. Un certificado empresarial en un dispositivo puede indicar que es de propiedad corporativa.

Los certificados empresariales para el Acceso adaptado al contexto son una función de la solución general de acceso basado en certificados de Chrome Enterprise Premium. Esta función usa certificados de dispositivo como un indicador alternativo adaptado al contexto para determinar si un dispositivo es un recurso de propiedad de la empresa. Esta función es compatible con la versión 110 o posterior del navegador Google Chrome.

Dado que un dispositivo puede tener más de un certificado, puedes acceder a los certificados empresariales en el nivel de acceso personalizado a través de la macro .exists(e, p):

device.certificates.exists(cert, predicate)

En el ejemplo, cert es un identificador que se usa en predicate, que se vincula al certificado del dispositivo. La macro exists() combina los resultados del predicado por elemento con el operador "or" (||), lo que significa que las macros devuelven verdadero si al menos un certificado cumple con la expresión predicate.

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

Atributo Descripción Ejemplo de expresión de predicado (en la que cert es un identificador de macros)
is_valid Es verdadero si el certificado es válido y no venció (booleano).

Verifica si el certificado no venció y si está firmado por un ancla de confianza. Ten en cuenta que la Verificación de extremos no comprueba la revocación de certificados.

cert.is_valid
cert_fingerprint Es la huella digital del certificado (SHA256 sin relleno en Base64).

La huella digital es el resumen SHA256 codificado en base64 sin relleno, en formato binario, del certificado codificado en DER. Puedes generar la cadena a partir del certificado en formato PEM con 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 | tr -d =

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Es la huella digital del certificado de la AC raíz que se usa para firmar el certificado (SHA256 sin relleno en base64).

La huella digital es el resumen SHA256 codificado en Base64 sin relleno, en formato binario, del certificado codificado en DER. Puedes generar la cadena a partir del certificado en formato PEM con 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 | tr -d =

cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT"
issuer Nombre del emisor (nombres completamente expandidos)

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=US/ST=CA/L=MTV/O=ExampleCorp/OU=ExampleUnit/CN=inter_1/emailAddress=admin@example.com

Para obtener la cadena de la entidad emisora del nivel de acceso, invierte el resultado y reemplaza cada barra diagonal (/) por una coma (,):

EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US

cert.issuer == "EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US"
subject Es el nombre del sujeto del certificado (nombres completamente expandidos). cert.subject == "CA_SUB"
serial_number Es el número de serie del certificado (cadena). cert.serial_number == "SERIAL_NUMBER"
template_id Es el ID de la plantilla de certificado de la extensión X.509 para el certificado (cadena). cert.template_id == "TEMPLATE_ID"

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 el emisor CA_ABC. device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US")

Configura certificados empresariales

Antes de configurar los certificados empresariales, asegúrate de haber configurado los niveles de acceso personalizados. Para obtener instrucciones, consulta 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.

Sube anclas de confianza en la Consola del administrador

Para que Chrome Enterprise Premium recopile y valide el certificado empresarial del dispositivo, debes subir las anclas de confianza y los certificados intermediarios que se usan para emitir el certificado del dispositivo. Las anclas de confianza son el certificado de la AC (autoridad certificadora) raíz autofirmado y los certificados intermedios y subordinados pertinentes. Completa los siguientes pasos para subir las anclas de confianza:

  1. Ve a la Consola del administrador y navega 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. Selecciona la casilla de verificación Endpoint Verification.
  7. Haz clic en Agregar.
  8. Asegúrate de que los usuarios pertenezcan a la unidad organizativa para la que subiste las anclas 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, debes configurar la política AutoSelectCertificateForUrls completando los siguientes pasos:

  1. Asegúrate de que el navegador Chrome esté administrado por la Administración en la nube para el navegador Chrome.

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

    1. Ve a la Consola del administrador y navega 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 AutoSelectCertificateForUrls, según el siguiente ejemplo:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERTIFICATE_ISSUER_NAME"}}}
      

      Reemplaza CERTIFICATE_ISSUER_NAME por el nombre común de la CA emisora. No modifiques el valor de pattern.

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 de la política esté configurado como Máquina. En ChromeOS, el valor se aplica al Usuario actual.
  4. Asegúrate de que el Estado de la política no tenga un Conflicto.

¿Qué sigue?