Um princípio fundamental do Chrome Enterprise Premium é que o acesso aos serviços é concedido com base em informações contextuais sobre você e seu dispositivo. O Chrome Enterprise Premium infere dinamicamente o nível de acesso concedido a um único usuário ou dispositivo avaliando várias fontes de dados e usa esse nível de confiança como parte do processo de decisão.
O Access Context Manager é o mecanismo de política de zero trust do Chrome Enterprise Premium. Com o Access Context Manager, é possível definir o controle de acesso detalhado e com base em atributos para aplicativos e recursos do Google Cloud .
Use níveis de acesso para permitir o acesso a recursos com base em informações contextuais
sobre a solicitação. Ao usar níveis de acesso, é possível começar a organizar níveis de
confiança. Por exemplo, é possível criar um nível de acesso chamado High_Level que
permita solicitações de um pequeno grupo de indivíduos com privilégios elevados. Também é possível
identificar um grupo mais geral para confiar, como um intervalo de endereços IP do qual
você quer permitir solicitações. Nesse caso, é possível criar um nível de acesso
chamado Medium_Level para permitir essas solicitações.
Um dos principais requisitos para o acesso zero trust é permitir o acesso somente quando o dispositivo for gerenciado ou de propriedade da empresa. Há várias maneiras de determinar se um dispositivo pertence a uma empresa. Uma maneira é determinar se um certificado válido, emitido pela empresa, está no dispositivo. Um certificado corporativo em um dispositivo pode indicar que ele pertence à empresa.
Os certificados corporativos para acesso baseado no contexto são um recurso da solução geral de acesso baseado em certificado do Chrome Enterprise Premium. Esse recurso usa certificados de dispositivo como um sinal alternativo baseado no contexto para determinar se um dispositivo pertence à empresa. Esse recurso é compatível com o navegador Google Chrome versão 110 ou mais recente.
Como um dispositivo pode ter mais de um certificado, é possível acessar certificados empresariais no nível de acesso personalizado usando a macro .exists(e, p):
device.certificates.exists(cert, predicate)
No exemplo, cert é um identificador usado em predicate, que se vincula ao
certificado do dispositivo. A macro exists() combina resultados de predicado por elemento
com o operador "or" (||), o que significa que as macros retornam verdadeiro se pelo menos um
certificado corresponder à expressão predicate.
O certificado tem os seguintes atributos que podem ser verificados juntos. As comparações de strings diferenciam maiúsculas de minúsculas.
| Atributo | Descrição | Exemplo de expressão de predicado
(em que cert é um identificador de macros) |
|---|---|---|
is_valid |
Verdadeiro se o certificado for válido e não tiver expirado (booleano).
Verifica se o certificado não expirou e se foi assinado por uma âncora confiável. A Verificação de Endpoint não verifica a revogação de certificados. |
cert.is_valid |
cert_fingerprint |
Impressão digital do certificado (hash SHA-256 no formato Base64 não preenchido).
A impressão digital é o hash SHA256 codificado em base64 (no formato binário) do certificado codificado por DER. É possível gerar a string do certificado no formato PEM usando o seguinte procedimento com o OpenSSL:
|
cert.cert_fingerprint == origin.clientCertFingerprint()
|
root_ca_fingerprint |
Impressão digital do certificado de CA raiz usado para assinar o certificado
(hash SHA-256 no formato Base64 não preenchido). A impressão digital é o hash SHA256 codificado em base64, no formato binário, do certificado codificado por DER. É possível gerar a string do certificado no formato PEM usando o seguinte procedimento com o OpenSSL:
|
cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT" |
issuer |
Nome do emissor (nomes totalmente expandidos).
Para encontrar o nome do emissor, use a seguinte abordagem: Execute o seguinte comando no 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 receber a string do emissor para o nível de acesso, inverta a saída e substitua cada barra (/) por uma vírgula (,):
|
cert.issuer == "EMAILADDRESS=admin@example.com, CN=inter_1, OU=ExampleUnit, O=ExampleCorp, L=MTV, ST=CA, C=US" |
subject |
Nome do assunto do certificado (nomes totalmente expandidos). | cert.subject == "CA_SUB" |
serial_number |
Número de série do certificado (string). | cert.serial_number == "SERIAL_NUMBER" |
template_id |
ID do modelo da extensão X.509 CertificateTemplate do certificado (string). | cert.template_id == "TEMPLATE_ID" |
A tabela a seguir contém exemplos de políticas que podem ser definidas:
| Exemplo de política | Expressão |
|---|---|
| O dispositivo tem um certificado válido assinado pelo certificado raiz da empresa. | device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
|
O dispositivo tem um certificado válido emitido pelo emissor
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")
|
Configurar certificados empresariais
Antes de configurar os certificados corporativos, verifique se você configurou os níveis de acesso personalizados. Veja as instruções em Como criar um nível de acesso personalizado.
É possível usar uma definição de nível de acesso personalizado do Access Context Manager para definir as políticas apropriadas. Os níveis de acesso personalizados usam expressões booleanas escritas em um subconjunto da Common Expression Language (CEL) para testar os atributos de um cliente que faz uma solicitação.
Fazer upload de âncoras de confiança no Admin Console
Para que o Chrome Enterprise Premium colete e valide o certificado empresarial do dispositivo, faça upload das âncoras de confiança e de todos os certificados intermediários usados para emitir o certificado do dispositivo. As âncoras de confiança são o certificado de AC (autoridade certificadora) raiz autoassinado e os certificados intermediários e subordinados relevantes. Siga estas etapas para fazer upload das âncoras de confiança:
- Acesse o Admin Console e navegue até Dispositivos > Redes > Certificados.
- Selecione a unidade organizacional adequada.
- Selecione Adicionar certificado.
- Digite o nome do certificado.
- Faça upload do certificado.
- Marque a caixa de seleção Verificação de endpoints.
- Clique em Adicionar.
- Verifique se os usuários pertencem à unidade organizacional para a qual você fez upload das âncoras de confiança.
Configurar uma política AutoSelectCertificateForUrls
Para que a Verificação de endpoints procure e colete o certificado do dispositivo pelo Chrome, você precisa configurar a política AutoSelectCertificateForUrls seguindo estas etapas:
Verifique se o navegador Chrome é gerenciado pelo Gerenciamento de nuvem do navegador Chrome.
- Para Windows, macOS e Linux, configure o navegador Chrome gerenciado na nuvem usando o Chrome Enterprise Core. Para instruções, consulte Inscrever-se no Chrome Enterprise Core.
- Registre o dispositivo para que sua organização possa gerenciá-lo de forma centralizada. Veja as instruções em Registrar os navegadores Chrome gerenciados na nuvem.
No Admin Console, adicione a política
AutoSelectCertificateForUrls:- Acesse o Admin Console e navegue até Dispositivos > Chrome > Configurações > Configurações do navegador e usuário > Certificados do cliente.
- Selecione a unidade organizacional adequada.
Adicione uma política AutoSelectCertificateForUrls, com base no seguinte exemplo:
{"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERTIFICATE_ISSUER_NAME"}}}Substitua
CERTIFICATE_ISSUER_NAMEpelo nome comum da AC emissora. Não modifique o valor depattern.
Para verificar a configuração da política, siga estas etapas:
- Acesse
chrome://policyno navegador. - Verifique o valor configurado para AutoSelectCertificateForUrls.
- Verifique se o valor Aplica-se a da política está definido como Máquina. No ChromeOS, o valor é aplicado ao Usuário atual.
- Verifique se o Status da política não tem um Conflito.