Ativar o acesso baseado em certificado com seus certificados empresariais

Nesta página, descrevemos como ativar o acesso baseado em certificado (CBA) 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 CBA do Acesso baseado no contexto usa certificados e as chaves privadas deles armazenadas em um keystore seguro no dispositivo para determinar se ele está autorizado. Para ativar esse recurso, siga estas etapas.

Antes de começar

Verifique se você criou níveis de acesso da CBA para seu 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 nos seus recursos Google Cloud usando um dos seguintes métodos:

Quando você aplica a CBA aos seus recursos do Google Cloud , o acesso aos recursos do Google Cloud exige que um usuário autorizado também apresente um certificado de dispositivo válido.

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. As âncoras de confiança são o certificado de CA raiz autoassinado e os 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 unidade organizacional em que você quer fazer upload das âncoras de confiança. Verifique se a unidade organizacional selecionada contém os usuários a quem 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 endpoints e clique em Adicionar.

O certificado a ser enviado é o da CA, que é o emissor dos certificados de cliente instalados nos seus dispositivos corporativos. Se a empresa ainda não tiver um certificado de AC e os certificados de cliente correspondentes, eles poderão ser criados pelo Google Cloud serviço de autoridade certificadora. As etapas para instalar certificados de cliente em keystores nativas são diferentes para cada sistema operacional e estão fora do escopo deste documento.

Configurar o navegador Chrome dos usuários para usar o certificado da empresa

Siga as instruções em Configurar a Verificação de endpoints para instalar a extensão Verificação de endpoints para Chrome em 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 do Chrome AutoSelectCertificateForURLs 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 navegador e usuário > Certificados de 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 CA.

Depois dessa configuração, os usuários poderão acessar recursos protegidos 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 sistema operacional Chrome, o valor de Aplicável 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 o certificado empresarial nas ferramentas de linha de comando.

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

  • CLI do Google Cloud

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

Como os certificados de dispositivo são armazenados em keystores nativos, a Google Cloud CLI é agrupada com um componente de código aberto chamado Enterprise Certificate Proxy (ECP) para interagir com APIs de gerenciamento de chaves.

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

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

  • macOS com 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 Google Cloud CLI

  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 dele:

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

    gcloud components install enterprise-certificate-proxy
    
  4. Inicialize 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 do dispositivo do usuário:

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

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

Consulte a documentação do ECP no GitHub para mais exemplos da configuração e do 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 protegidos Google Cloud usando ferramentas de linha de comando ao ativar a flag CBA.

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

Para ativar a 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