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:
(Recomendado) Aplicar o acesso baseado em certificado com políticas de acesso baseado no contexto: configure regras relacionadas aos usuários.
Aplicar o acesso baseado em certificado com o VPC Service Controls: configure regras relacionadas aos dados.
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:
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.
Selecione Adicionar certificado e insira um nome para o certificado raiz.
Clique em Fazer upload para enviar o certificado.
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.
Verifique se o navegador Chrome dos usuários é gerenciado pelo Gerenciamento de nuvem do navegador Chrome:
No Admin Console, adicione a política
AutoSelectCertificateForUrls
:Acesse Dispositivos > Chrome > Configurações > Configurações do usuário e do navegador > Certificados do cliente.
Selecione a unidade organizacional adequada.
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)
No navegador Chrome, digite
chrome://policy
.Verifique se
AutoSelectCertificateForUrls
está listado em Políticas do Chrome.Verifique se o valor de Aplica-se a é Máquina. No sistema operacional Chrome, o valor de Aplica-se a é Usuário atual.
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
Instale a Google Cloud CLI e ative a CBA. Instale com a opção
bundled python
ativada.No macOS e no Linux, execute o script
install.sh
depois de fazer o download:$ ./google-cloud-sdk/install.sh
Instale o componente auxiliar do ECP com a CLI do Google Cloud:
gcloud components install enterprise-certificate-proxy
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
.