Ativar o acesso baseado em certificado com seus certificados empresariais

Esta página descreve como ativar o acesso baseado em certificado (CBA, na sigla em inglês) com seus certificados corporativos.

Se você não tiver uma infraestrutura de chave pública (ICP), use certificados provisionados pela Verificação de endpoints.

Um requisito importante do modelo de acesso com confiança zero é permitir apenas o acesso a dispositivos autorizados. A CBA do acesso baseado no contexto usa certificados e as as chaves privadas armazenadas em um keystore seguro no dispositivo para determinar se a dispositivo autorizado. Para ativar esse recurso, siga os procedimentos abaixo.

Antes de começar

Verifique se você criou os níveis de acesso da CBA para o projeto do Google Cloud. Se você precisar criar níveis de acesso, consulte Criar níveis de acesso para acesso baseado em certificado.

Aplique a CBA aos recursos do Google Cloud usando um dos seguintes métodos:

Quando você aplica a CBA aos seus recursos do Google Cloud, acessar seus Os recursos do Google Cloud exigem que um usuário autorizado também apresente um endereço certificado do dispositivo.

Fazer upload das âncoras de confiança

Para permitir que o acesso baseado no contexto colete e valide o certificado empresarial de um dispositivo, faça upload das âncoras de confiança usadas para emitir o certificado do dispositivo. As âncoras de confiança são o certificado da CA raiz autoassinado e o certificados intermediários e subordinados relevantes. Para fazer upload das âncoras de confiança, siga estas etapas:

  1. No Google Admin Console, acesse Dispositivos > Redes > Certificados e selecione a organização unidade para a qual enviar as âncoras de confiança. Garanta que a organização a unidade selecionada contém os usuários aos quais você deseja conceder acesso.

  2. Selecione Adicionar certificado e insira um nome para o certificado raiz.

  3. Clique em Fazer upload para fazer o upload do certificado.

  4. Selecione Ativar a verificação de endpoints e clique em Adicionar.

O certificado a ser carregado deve ser o certificado de CA, que é o emissor dos certificados do cliente instalados nos seus dispositivos corporativos Se as empresa ainda não tem um certificado de CA e os certificados do cliente correspondentes, é possível criá-las no Google Cloud Certificate Authority Service: As etapas para instalar certificados de cliente em chaveiros nativos são diferentes para cada sistema operacional e estão fora do escopo deste documento.

Configurar o navegador Chrome dos usuários para usar seu certificado empresarial

Siga as instruções em Configurar a Verificação de endpoints para instalar a extensão Verificação de endpoints do Chrome para todos os usuários da sua organização. Essa extensão é usada para sincronizar metadados de certificado com o back-end do Google Cloud.

Depois de configurar a extensão do navegador, 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 Admin Console, adicione a política AutoSelectCertificateForUrls:

    1. Acesse Dispositivos > Chrome > Configurações > Configurações do usuário e do navegador > 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":<CERT_ISSUER>}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":<CERT_ISSUER>}}}
      

      No exemplo, CERT_ISSUER é o nome comum do certificado de CA.

Depois dessa configuração, os usuários podem acessar os recursos protegidos do Google Cloud com o navegador Chrome em console-secure.cloud.google.com.

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

  1. No navegador Chrome, digite chrome://policy.

  2. Verifique se AutoSelectCertificateForUrls está listado em Políticas do Chrome.

  3. Verifique se o valor de Aplica-se a é Máquina. No(s) dia(s) Chrome, o valor para Aplica-se a será 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 para usar seu certificado empresarial

Se os usuários em sua organização precisarem acessar os recursos do Google Cloud de a linha de comando, será necessário concluir os seguintes procedimentos para ativar a CBA com o certificado empresarial nas ferramentas de linha de comando.

As seguintes ferramentas de linha de comando são compatíveis:

  • Google Cloud CLI

  • A CLI do Terraform (CLI gcloud ainda é necessária para instalar e configurar componentes auxiliares.

Como os certificados do dispositivo são armazenados em keystores nativas, a CLI do Google Cloud é fornecida com um componente de código aberto chamado Enterprise Certificate Proxy (ECP, na sigla em inglês) para interagir com as APIs de gerenciamento de chaves.

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

Os seguintes sistemas operacionais e os respectivos keystores nativos são compatíveis:

  • macOS com o Keychain

  • Microsoft Windows com CryptoAPI

  • Linux com PKCS #11

O ECP precisa ser configurado com as informações de metadados necessárias para localizar o certificado nos keystores.

Instalar e configurar o ECP com a CLI do Google Cloud

  1. Instale a Google Cloud CLI e ative a CBA. Instale com a opção bundled python ativada.

  2. Para macOS e Linux, execute o script install.sh depois de fazer o download:

    $ ./google-cloud-sdk/install.sh
    
  3. Instale o componente auxiliar de ECP com a Google Cloud CLI:

    gcloud components install enterprise-certificate-proxy
    
  4. Inicie a configuração do certificado ECP com a Google Cloud CLI:

Linux

$ gcloud auth enterprise-certificate-config create linux
  --label=<CERT_LABEL> --module=<PKCS11_MODULE_PATH> --slot=<SLOT_ID>

Exemplo:

$ gcloud auth enterprise-certificate-config create linux
  --label="Google Endpoint Verification" --module=/usr/lib/x86_64-linux-gnu/pkcs11/libcredentialkit_pkcs11.so.0 --slot=0x1234567

macOS

$ gcloud auth enterprise-certificate-config create macos
  --issuer=<CERT_ISSUER>

Exemplo:

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

Windows

$ gcloud auth enterprise-certificate-config create windows
  --issuer=<CERT_ISSUER> --provider=<PROVIDER> --store=<STORE>

Exemplo:

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

A configuração do ECP também pode ser feita manualmente. Eles são armazenados como JSON no seguinte local no dispositivo do usuário:

  • Linux e macOS: ~/.config/gcloud/certificate_config.json

  • Windows: %APPDATA%\gcloud\certificate_config.json

Consulte a Documentação do EP no GitHub (em inglês) para mais exemplos de configuração e esquema.

Linux

{
  "cert_configs": {
    "pkcs11": {
      "label": "<CERT_LABEL>",
      "slot": "<SLOT_ID>",
      "module": "<PKCS11_MODULE_PATH>"
    }
  },
  "libs": {
    "ecp": "/usr/lib/google-cloud-sdk/bin/ecp",
    "ecp_client": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libecp.so",
    "tls_offload": "/usr/lib/google-cloud-sdk/platform/enterprise_cert/libtls_offload.so"
  }
}

macOS

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

{
  "cert_configs": {
    "windows_store": {
      "store": "MY",
      "provider": "current_user",
      "issuer": "<CERT_ISSUER>"
    }
  },
  "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"
  }
}

Após essa configuração, os usuários podem acessar os recursos protegidos do Google Cloud usando ferramentas de linha de comando ativando a flag CBA.

Para ativar a CBA para a Google Cloud CLI, defina a propriedade context_aware/use_client_certificate como true.

Para ativar o CBA em todas as outras ferramentas de linha de comando, incluindo o Terraform, defina a variável de ambiente GOOGLE_API_USE_CLIENT_CERTIFICATE como true.

A seguir