Ativar o acesso baseado em certificado com certificados de Verificação de endpoints

Esta página descreve como ativar o acesso baseado em certificado (CBA, na sigla em inglês) com os certificados provisionados pela Verificação de endpoints.

Você pode usar a Verificação de endpoints para provisionar automaticamente certificados autoassinados para um dispositivo. Os certificados provisionados de verificação de endpoint permitem que você use a CBA sem uma infraestrutura de PKI. Esses certificados são armazenados no chaveiro do macOS, em armazenamentos de certificados do Windows e em sistemas de arquivos do Linux.

Se você tiver uma infraestrutura de ICP, consulte Ativar o acesso baseado em certificado com seus certificados corporativos para ativar o CBA.

É possível ativar certificados provisionados da Verificação de endpoints nos seguintes sistemas operacionais:

  • macOS e Windows usando o navegador Chrome
  • macOS, Windows e Linux usando a Google Cloud CLI

Se o sistema operacional não estiver na lista, consulte Como usar sistemas operacionais sem suporte total.

Antes de começar

Antes de continuar, verifique se você atende aos seguintes requisitos:

Configurar a verificação de endpoints

Siga as instruções para instalar a extensão Verificação de endpoints do Chrome em todos os dispositivos dos usuários da sua organização. A extensão provisiona certificados autoassinados nos seus dispositivos e sincroniza os metadados do certificado para Google Cloud.

Instale o app assistente da Verificação de endpoints. Esse app é necessário para usar a Verificação de endpoints com a CBA.

Configurar o navegador Chrome dos usuários

Para configurar o navegador Chrome dos usuários para usar certificados provisionados pela Verificação de endpoints, configure a política AutoSelectCertificateForURLs do Chrome para permitir que a Verificação de endpoints procure e colete o certificado do dispositivo pelo Chrome.

  1. Verifique se o navegador Chrome dos usuários é gerenciado pelo Gerenciamento de nuvem do navegador Chrome.
  2. No Google Admin Console, adicione a política AutoSelectCertificateForUrls.

    1. Acesse Dispositivos > Chrome > Configurações > Configurações do navegador e do usuário > Certificados do cliente.
    2. Selecione a unidade organizacional adequada.
    3. Adicione uma política. O exemplo a seguir adiciona a política AutoSelectCertificateForUrls:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      

Depois de concluir a configuração, os usuários poderão acessar os recursos Google Cloud protegidos com o navegador Chrome em console-secure.cloud.google.com.

(Opcional) Verificar a configuração da política

  1. No navegador Chrome, digite chrome://policy.
  2. Verifique se a política AutoSelectCertificateForUrls está listada em Políticas do Chrome.
  3. Verifique se o valor de Aplica-se a é Máquina. No ChromeOS, o valor de Aplica-se a é Usuário atual.
  4. Verifique se o status da política não tem um conflito. Se o status tiver um conflito, consulte Entender o gerenciamento de políticas do Chrome para mais informações.

Configurar ferramentas de linha de comando

É possível configurar as ferramentas a seguir para usar certificados provisionados pela Verificação de endpoints:

  • A Google Cloud CLI
  • A CLI do Terraform (a CLI da gcloud é necessária para instalar e configurar componentes auxiliares).

Como os certificados do dispositivo são armazenados em keystores do macOS e do Windows, a CLI gcloud é fornecida com o componente de código aberto Enterprise Certificate Proxy (ECP) para interagir com as APIs de gerenciamento de chaves.

Se você estiver usando um sistema Windows, é necessário ter a biblioteca de tempo de execução do C++ do Visual Studio instalada.

  1. Instale a CLI da gcloud. Instale com a opção Python do pacote ativada.
  2. Ative a CBA.
  3. Para macOS e Linux, faça o download e execute o script install.sh.

    ./google-cloud-sdk/install.sh
    
  4. Usuários do Linux: acesse a etapa Ativar certificados provisionados de CBA e Verificação de endpoint . Usuários do macOS e do Windows: siga as etapas abaixo.

    1. Instale o componente auxiliar do ECP com a CLI gcloud.

      
      gcloud components install enterprise-certificate-proxy
      
    2. Inicializar a configuração do certificado ECP com a CLI gcloud.

      macOS

      
      gcloud auth enterprise-certificate-config create macos \
      --issuer="Google Endpoint Verification"
      

      Windows

      
      gcloud auth enterprise-certificate-config create windows \
      --issuer="Google Endpoint Verification" \
      --provider=current_user \
      --store=MY
      

      (Opcional) Configure o certificado ECP manualmente executando o seguinte comando.

      macOS

      A configuração do ECP é armazenada em um arquivo JSON, localizado em ~/.config/gcloud/certificate_config.json.

      {
        "cert_configs": {
            "macos_keychain": {
              "issuer": "Google Endpoint Verification"
            }
        },
        "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

      A configuração do ECP é armazenada em um arquivo JSON, localizado em %APPDATA%\gcloud\certificate_config.json.

      {
        "cert_configs": {
          "windows_store": {
            "store": "MY",
            "provider": "current_user",
            "issuer":"Google Endpoint Verification"
          }
        },
        "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"
        }
      }
      
  5. Ative os certificados provisionados da CBA e da Verificação de endpoints.

    • Para a CLI gcloud, execute o seguinte comando.

      gcloud config set context_aware/use_client_certificate true
      
    • Para todas as outras ferramentas de linha de comando, incluindo o Terraform, defina a variável de ambiente.

      export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
      

Uso de sistemas operacionais sem suporte total

Se o sistema operacional não estiver na lista de sistemas operacionais compatíveis e você quiser usar certificados provisionados pela Verificação de endpoints, é possível isentar os ambientes da aplicação de regras baseada em certificados e protegê-los usando outros tipos de aplicação de regras. Por exemplo, usando uma política de dispositivo da empresa.

A aplicação com base em certificados oferece uma proteção mais forte do que outros tipos de aplicação porque ela é aplicada a cada solicitação vinda de um dispositivo por meio do handshake mTLS.

Confira a seguir um exemplo de como isentar ambientes da aplicação de regras baseada em certificados e protegê-los usando outro tipo de aplicação.

Neste exemplo, uma organização usa dispositivos macOS, Windows e ChromeOS. A organização quer proteger o acesso originado do console do Google Cloud.

  1. Crie um nível de acesso que aplique o acesso baseado em certificado a todos os dispositivos, exceto ChromeOS, em que uma política de dispositivo da empresa é necessária. Substitua o arquivo YAML pela seguinte expressão personalizada:

    certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
     || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
    
  2. Conclua as etapas dos procedimentos anteriores.

    1. Criar uma política com base no contexto
    2. Configurar a Verificação de endpoints
    3. Configurar o navegador Chrome dos usuários para usar certificados provisionados pela Verificação de endpoints