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 de confiança zero é permitir o acesso apenas a dispositivos autorizados. O acesso baseado no contexto CBA usa certificados e as chaves privadas armazenadas em um keystore seguro no dispositivo para determinar se o dispositivo está autorizado. Para ativar esse recurso, siga os procedimentos abaixo.

Antes de começar

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

Garanta que você aplique o CBA aos seus Google Cloud recursos usando um dos seguintes métodos:

Quando você aplica a CBA aos recursos Google Cloud , o acesso aos recursosGoogle Cloud exige que um usuário autorizado também apresente um certificado válido 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 de AC raiz autoassinado e os certificados intermediários e subordinados relevantes. Para fazer o upload das âncoras de confiança, siga estas etapas:

  1. No Google Admin Console, acesse Dispositivos > Redes > Certificados e selecione a unidade organizacional para fazer o upload das entidades de confiança. Verifique se a unidade organizacional selecionada contém os usuários para os quais você quer conceder acesso.

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

  3. Clique em Fazer upload para enviar o certificado.

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

O certificado a ser enviado precisa ser o da AC, que é o emissor dos certificados de cliente instalados nos dispositivos corporativos. Se a sua empresa ainda não tiver um certificado de AC e os certificados de cliente correspondentes, você poderá criá-los usando o Google Cloud serviço de autoridade certificadora. 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 da AC.

Depois dessa configuração, os usuários podem acessar os recursos Google Cloud protegidos 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 sistema operacional Chrome, 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 para usar seu certificado empresarial

Se os usuários da sua organização precisarem acessar recursos do Google Cloud na linha de comando, eles precisarão concluir os procedimentos a seguir para ativar a CBA com seu certificado empresarial nas ferramentas de linha de comando.

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

  • Google Cloud CLI

  • CLI do Terraform (a 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, é necessário ter a biblioteca de execução C++ do Visual Studio instalada.

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

  • macOS com chaveiro

  • 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. No macOS e no Linux, execute o script install.sh depois de fazer o download:

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

    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. Ele é armazenado como um arquivo 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 CEP no GitHub para conferir 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"
  }
}

Depois dessa configuração, os usuários podem acessar recursos Google Cloud protegidos usando ferramentas de linha de comando ativando a flag CBA.

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

Para ativar o CBA para 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