Como configurar condições de certificados empresariais

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Um princípio fundamental do BeyondCorp Enterprise é "O acesso aos serviços é concedido com base no que sabemos de você e do seu dispositivo". O nível de acesso concedido a um único usuário ou a um único dispositivo é inferido dinamicamente pela interrogação de várias fontes de dados. O BeyondCorp Enterprise usa esse nível de confiança como parte do processo de decisão.

O Access Context Manager é o mecanismo de política de confiança zero do BeyondCorp Enterprise. Com o Access Context Manager, os administradores podem definir um controle de acesso refinado e baseado 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. Usando 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 grupo pequeno de indivíduos altamente privilegiados. Além disso, é possível identificar um grupo mais geral de confiança, como um intervalo de IPs que você pode usar para 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 do acesso de confiança zero é permitir o acesso apenas quando o dispositivo é gerenciado ou de propriedade da empresa. Há muitas maneiras de determinar se um dispositivo é de propriedade corporativa, e uma delas é determinar se um certificado válido, emitido pela empresa, existe no dispositivo. A existência de um certificado corporativo em um dispositivo pode ser usada para indicar que ele é da empresa.

Os certificados empresariais para acesso baseado no contexto são um recurso geral da solução de acesso baseado em certificado do BeyondCorp Enterprise. Esse recurso usa os certificados do dispositivo como um sinal com base no contexto para determinar se um dispositivo é um recurso corporativo.

Como um dispositivo pode ter mais de um certificado, os certificados empresariais podem ser acessados no nível de acesso personalizado por meio de macros .exist(e,p):

device.certificates.exists(cert, predicate)

No exemplo, cert é um identificador simples a ser usado em predicator, que é vinculado ao certificado do dispositivo. A macro exist() combina resultados de predicado por elemento com o operador "or" (||). Isso significa que as macros retornam "true" se pelo menos um certificado atender à 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). cert.is_valid
cert_fingerprint Impressão digital do certificado (SHA256 não preenchido em base64). cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Impressão digital do certificado de CA raiz usado para assinar o certificado (SHA256 não preenchido em base64). cert.root_ca_fingerprint == "the_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=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

A string do emissor usada no nível de acesso é o inverso da saída e o / é substituído por uma vírgula. Exemplo:

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 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 = "123456789"
template_id ID do modelo de certificado da extensão X.509 para o certificado (string). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

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=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

Como configurar certificados empresariais

Antes de configurar certificados empresariais, verifique se você configurou níveis de acesso personalizados 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 de 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 BeyondCorp Enterprise colete e valide o certificado do dispositivo empresarial, é necessário fazer o upload das âncoras de confiança usadas para emitir o certificado. As âncoras de confiança aqui se referem ao certificado de CA raiz (autoridade de certificação) autoassinado e aos certificados intermediários e subordinados relevantes. Siga estas etapas para fazer o upload das âncoras de confiança:

  1. Acesse o Admin Console e acesse Dispositivos > Redes > Certificados.
  2. Selecione a unidade organizacional apropriada.
  3. Selecione Adicionar certificado.
  4. Digite o nome do certificado.
  5. Faça upload do certificado.
  6. Ative a caixa de seleção Verificação de endpoints.
  7. Clique em Add.
  8. Verifique se os usuários pertencem à unidade organizacional em que as âncoras de confiança foram enviadas.

Configurar uma política AutoSelectCertificateForUrls

Para que a Verificação de endpoints pesquise o certificado do dispositivo e o colete pelo Chrome, siga as etapas abaixo para configurar a política AutoSelectCertificateForURLs do Chrome:

  1. Verifique se o navegador Chrome é gerenciado pelo gerenciamento de nuvem do navegador Chrome ou pela política de grupo do Windows.
  2. No Admin Console, adicione a política AutoSelectCertificateForUrls:

    1. Acesse o Admin Console e acesse Dispositivos > Chrome > Configurações > Configurações do navegador e usuário > Certificados do cliente.
    2. Selecione a unidade organizacional apropriada.
    3. Adicione uma política (AutoSelectCertificateForUrls, como demonstrado no exemplo a seguir):
    {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{<issuerDNs>}}}
    

    OBSERVA O: o filtro precisa se referir a um certificado do emissor, enviado nas etapas anteriores.

Para verificar a configuração da política, siga as seguintes etapas:

  1. Acesse chrome://policy no navegador.
  2. Verifique o valor configurado para AutoSelectCertificateForUrls.
  3. Certifique-se de que o valor da política Aplicável a esteja definido como Máquina. No sistema operacional Chrome, o valor é aplicado a Usuário atual*.
  4. Verifique se o Status da política não tem um Conflito.

Solução de problemas da configuração

Verifique se os atributos do certificado estão listados corretamente na página de detalhes do dispositivo

Você pode usar os registros da verificação de endpoints para resolver problemas. Para fazer o download dos registros da verificação de endpoints, conclua as etapas a seguir:

  1. Clique com o botão direito na extensão Verificação de endpoints e acesse Opções.
  2. Selecione Nível de registro > Todos > Fazer o download de registros.
  3. Abra um caso de suporte com o Cloud Customer Care e compartilhe os registros para fazer mais depurações.