Pular para o conteúdo principal

Google Trust Services (ACME)

Emissão automatizada de certificados DV via ACME com External Account Binding, integrada ao Google Cloud Public Certificate Authority.


Requisitos​

RequisitoDetalhe
Projeto GCPProjeto ativo no Google Cloud com faturamento habilitado
API habilitadapublicca.googleapis.com habilitada no projeto
Permissão IAMPapel com permissão para criar External Account Keys no projeto
Directory URLhttps://dv.acme-v02.api.pki.goog/directory
EABObrigatório — uso único e expira em 7 dias
Registro CAASe o domínio tiver CAA publicado, precisa incluir 0 issue "pki.goog"
O EAB do Google é de uso único e expira em 7 dias

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
Cuidado com o Project ID truncado

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 gcloudUso no CLM
keyIdEAB Key ID
b64MacKeyEAB HMAC Key
b64MacKey é a HMAC Key

O Google usa o nome b64MacKey para o que o CLM chama de HMAC Key. É o mesmo valor — copie integralmente, sem alterar.

Trate como senha

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.

  1. Acesse Integrações no menu lateral
  2. No card Outra CA (ACME), clique em Conectar
  3. Preencha o modal Registrar conta:
CampoDescrição
NomeIdentificador 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
E-mailEndereço de contato
Directory URL (ACME)https://dv.acme-v02.api.pki.goog/directory
EAB Key IDO keyId gerado pelo gcloud
EAB HMAC KeyO b64MacKey gerado pelo gcloud
  1. Clique em Registrar
  2. Emita um certificado imediatamente após o cadastro, pelos motivos descritos acima
A Directory URL correta não é pki.goog

https://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:

  1. Gere um EAB novo: gcloud publicca external-account-keys create
  2. Edite a integração no CLM e substitua Key ID e HMAC Key pelos valores novos
  3. 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:

  1. Exclua a conta Google no CLM (isso limpa o estado residual)
  2. Gere um EAB novo no gcloud
  3. Cadastre a conta do zero com as credenciais novas
  4. 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:

  1. gcloud projects list e copie o PROJECT_ID completo
  2. gcloud config set project <ID-completo> (ou o número do projeto)
  3. gcloud services enable publicca.googleapis.com
  4. 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).