Google Trust Services (ACME)
Emissão automatizada de certificados DV via ACME com External Account Binding, integrada ao Google Cloud Public Certificate Authority.
Requisitos
| Requisito | Detalhe |
|---|---|
| Projeto GCP | Projeto ativo no Google Cloud com faturamento habilitado |
| API habilitada | publicca.googleapis.com habilitada no projeto |
| Permissão IAM | Papel com permissão para criar External Account Keys no projeto |
| Directory URL | https://dv.acme-v02.api.pki.goog/directory |
| EAB | Obrigatório — uso único e expira em 7 dias |
| Registro CAA | Se o domínio tiver CAA publicado, precisa incluir 0 issue "pki.goog" |
Diferente de todas as outras CAs suportadas, as credenciais EAB do Google servem para registrar uma única conta ACME e vencem em 7 dias se não forem usadas. Gere as credenciais e conclua o cadastro + a primeira emissão na sequência. Se qualquer tentativa falhar, gere um EAB novo antes de tentar de novo — nunca reutilize o mesmo.
Isso afeta apenas o momento do cadastro. Uma vez registrada, a conta ACME funciona indefinidamente e as renovações não dependem mais do EAB.
Obter as credenciais no Google Cloud
As credenciais são geradas pela CLI gcloud, no Cloud Shell ou em terminal local autenticado.
1. Confirme o projeto correto
gcloud projects list
Copie o PROJECT_ID completo, não o número nem uma versão abreviada.
gcloud config set project SEU-PROJECT-ID-COMPLETO
gcloud config get-value project
IDs de projeto do Google frequentemente têm um prefixo (ex: project-e67b6732-cf53-4c4d-8de). Usar a versão sem o prefixo aponta para um projeto inexistente e gera PERMISSION_DENIED ou RESOURCES_NOT_FOUND nos comandos seguintes. Se o ID textual der problema, use o número do projeto, que também é aceito.
2. Habilite a API do Public CA
gcloud services enable publicca.googleapis.com
Se a API não estiver habilitada, o comando de criação da chave falha com PERMISSION_DENIED / CONSUMER_INVALID.
3. Gere o EAB
gcloud publicca external-account-keys create
A saída traz dois valores:
| Campo retornado pelo gcloud | Uso no CLM |
|---|---|
keyId | EAB Key ID |
b64MacKey | EAB HMAC Key |
b64MacKey é a HMAC KeyO Google usa o nome b64MacKey para o que o CLM chama de HMAC Key. É o mesmo valor — copie integralmente, sem alterar.
O b64MacKey é uma credencial ativa da sua organização no Google Trust Services. Não compartilhe, não cole em chats, tickets ou repositórios. Se for exposto, gere um novo par imediatamente.
4. Não use sudo su
Trocar de usuário no Cloud Shell descarta a configuração do gcloud (o root tem configuração própria) e o project volta a ficar (unset). Execute os comandos com o usuário autenticado normal.
Conectar no CLM
O Google Trust Services é cadastrado pelo card genérico de CA ACME.
- Acesse Integrações no menu lateral
- No card Outra CA (ACME), clique em Conectar
- Preencha o modal Registrar conta:
| Campo | Descrição |
|---|---|
| Nome | Identificador da conta no CLM. Use um nome descritivo, ex: Google Trust Services — em contas cadastradas pelo card genérico, este nome é o que identifica a CA nas telas |
| Endereço de contato | |
| Directory URL (ACME) | https://dv.acme-v02.api.pki.goog/directory |
| EAB Key ID | O keyId gerado pelo gcloud |
| EAB HMAC Key | O b64MacKey gerado pelo gcloud |
- Clique em Registrar
- Emita um certificado imediatamente após o cadastro, pelos motivos descritos acima
pki.googhttps://pki.goog é a página institucional do PKI do Google, não o endpoint ACME. Informá-la resulta em bloqueio pela allowlist. O endpoint correto para certificados DV é https://dv.acme-v02.api.pki.goog/directory — note o prefixo dv. e o caminho /directory.
Particularidades
Endpoint específico por produto. O dv. no início do host indica certificados DV (Domain Validated), que é o caso de uso padrão. O Google mantém endpoints distintos para outros produtos, como certificados SXG.
Conta cadastrada pelo card genérico. Como o Google é cadastrado via Outra CA (ACME), o nome que você informar é o que aparece nas telas e relatórios do CLM. Escolha um nome autoexplicativo.
Renovação não depende do EAB. Após o registro, o CLM usa a chave de conta ACME persistida (armazenada criptografada) para todas as operações seguintes. A limitação de 7 dias e uso único não afeta renovações nem revogações.
Hierarquia de confiança. Certificados emitidos encadeiam em GTS Root R1, com intermediário WR1.
Erros comuns
Unknown external account binding (EAB) key. This may be due to the EAB key expiring which occurs 7 days after creation.
Causa: o EAB cadastrado no CLM não é mais válido — expirou (7 dias), já foi consumido em um registro anterior, ou uma credencial diferente da última gerada foi cadastrada por engano.
Solução:
- Gere um EAB novo:
gcloud publicca external-account-keys create - Edite a integração no CLM e substitua Key ID e HMAC Key pelos valores novos
- Emita imediatamente
Account does not exist for this key. Please create a new account.
Causa: a conta no CLM está em estado intermediário — tem chave de conta persistida de uma tentativa anterior que não completou o registro. O fluxo de recuperação consulta o Google, que responde que aquela chave não tem conta associada.
Solução — recomeço limpo:
- Exclua a conta Google no CLM (isso limpa o estado residual)
- Gere um EAB novo no gcloud
- Cadastre a conta do zero com as credenciais novas
- Emita na sequência, sem intervalo
Cadastrar do zero faz o CLM seguir o caminho de registro limpo em vez do caminho de recuperação.
400: HOST_NOT_ALLOWED ao salvar a integração
Causa: Directory URL incorreta — quase sempre https://pki.goog em vez do endpoint ACME.
Solução: use https://dv.acme-v02.api.pki.goog/directory.
PERMISSION_DENIED / RESOURCES_NOT_FOUND no gcloud
Causa: projeto incorreto (ID truncado), API publicca.googleapis.com não habilitada, ou conta sem permissão IAM no projeto.
Solução:
gcloud projects liste copie o PROJECT_ID completogcloud config set project <ID-completo>(ou o número do projeto)gcloud services enable publicca.googleapis.com- Se persistir, verifique com o administrador do projeto se sua conta tem permissão para criar External Account Keys
Editar
Clique no menu ⋮ do card e selecione Editar. É possível alterar nome, e-mail, Directory URL e substituir as credenciais EAB. A HMAC Key atual nunca é exibida — informar uma nova substitui a anterior.
Excluir
Clique no menu ⋮ do card e selecione Excluir. Desvincule os certificados ativos antes de remover a integração.
Excluir e recadastrar é o procedimento recomendado quando a conta fica em estado inconsistente após tentativas falhadas de registro.
Referências externas
Próximo passo
Com a integração conectada, veja Emitir com Google Trust Services (ACME).