Implantar um certificado gerenciado pelo Google em várias regiões com o Certificate Authority Service

Neste tutorial, mostramos como usar o Certificate Manager para implantar um certificado global gerenciado pelo Google com o Certificate Authority Service em um balanceador de carga de aplicativo interno entre regiões.

Se você quiser fazer a implantação em balanceadores de carga externos globais ou regionais, consulte:

Configurar a integração do serviço de CA com o Certificate Manager

Para integrar o CA Service ao Certificate Manager, siga estas etapas:

  1. No projeto de destino Google Cloud , crie uma conta de serviço do Gerenciador de certificados:

    gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto de destino Google Cloud .

    O comando retorna o nome da identidade de serviço criada. Veja o exemplo a seguir:

    service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
    
  2. Conceda à conta de serviço do Certificate Manager a função Solicitante de certificado do serviço de CA (roles/privateca.certificateRequester) no pool de CA de destino:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    Substitua:

    • CA_POOL: o ID do pool de ACs de destino.
    • LOCATION: o Google Cloud local de destino.
    • SERVICE_ACCOUNT: o nome completo da conta de serviço que você criou na etapa 1.
  3. Crie um recurso de configuração de emissão de certificado para seu pool de CA:

    Console

    1. No console Google Cloud , acesse a guia Configurações de emissão na página Certificate Manager.

      Acessar o Gerenciador de certificados

    2. Clique em Criar. A página Criar uma configuração de emissão de certificado é exibida.

    3. No campo Nome, insira um nome exclusivo para a configuração de emissão de certificado.

    4. Opcional: no campo Descrição, insira uma descrição para a configuração de emissão.

    5. Em Local, selecione Global.

    6. Opcional: no campo Ciclo de vida, especifique o ciclo de vida do certificado emitido em dias. O valor precisa estar entre 21 e 30 dias (inclusive).

    7. Opcional: em Porcentagem da janela de rotação, especifique a porcentagem do ciclo de vida do certificado em que o processo de renovação começa. Para encontrar o intervalo de valores válidos, consulte Porcentagem de vida útil e período de rotação.

    8. Opcional: na lista Algoritmo de chave, selecione o algoritmo a ser usado ao gerar a chave privada.

    9. Na lista Pool de AC, selecione o nome do pool de AC que você quer atribuir a esse recurso de configuração de emissão de certificado.

    10. No campo Rótulos, especifique os rótulos a serem associados ao certificado. Para adicionar um rótulo, clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.

    11. Clique em Criar.

    gcloud

    gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL
    

    Substitua:

    • ISSUANCE_CONFIG_NAME: o nome do recurso de configuração de emissão de certificado.
    • CA_POOL: o caminho completo do recurso e o nome do pool de CA que você quer atribuir a esse recurso de configuração de emissão de certificados.

    Para mais informações sobre recursos de configuração de emissão de certificados, consulte Gerenciar recursos de configuração de emissão de certificados.

Criar um certificado gerenciado pelo Google emitido pela instância do CA Service

Para criar um certificado gerenciado pelo Google emitido pela instância do serviço de CA, faça o seguinte:

Console

  1. No console do Google Cloud , acesse a página Certificate Manager.

    Acessar o Gerenciador de certificados

  2. Na guia Certificados, clique em Adicionar certificado.

  3. No campo Nome do certificado, insira um nome exclusivo para o certificado.

  4. Opcional: no campo Descrição, insira uma descrição para o certificado. A descrição permite identificar o certificado.

  5. Em Local, selecione Global.

  6. Em Escopo, selecione Todas as regiões.

  7. Em Tipo de certificado, selecione Criar certificado gerenciado pelo Google.

  8. Em Tipo de autoridade de certificação, selecione Privada.

  9. No campo Nomes de domínio, especifique uma lista delimitada por vírgulas de nomes de domínio do certificado. Cada nome de domínio precisa ser totalmente qualificado, como myorg.example.com.

  10. Em Selecione uma configuração de emissão de certificados, escolha o nome do recurso de configuração de emissão de certificados que faz referência ao pool de AC de destino.

  11. No campo Rótulos, especifique os rótulos a serem associados ao certificado. Para adicionar um rótulo, clique em Adicionar rótulo e especifique uma chave e um valor para o rótulo.

  12. Clique em Criar.

    O novo certificado aparece na lista.

gcloud

Para criar um certificado gerenciado pelo Google entre regiões com o Certificate Authority Service, use o comando certificate-manager certificates create com as flags issuance-config e --scope:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    --scope=all-regions

Substitua:

  • CERTIFICATE_NAME: o nome do certificado.
  • DOMAIN_NAME: o nome do domínio de destino. O nome de domínio precisa ser totalmente qualificado, como myorg.example.com.
  • ISSUANCE_CONFIG_NAME: o nome do recurso de configuração de emissão de certificados que faz referência ao pool de ACs de destino.

API

Crie o certificado fazendo uma solicitação POST ao método certificates.create da seguinte maneira:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
  "scope": "ALL_REGIONS"
 }
}

Substitua:

  • PROJECT_ID: o ID do projeto Google Cloud .
  • CERTIFICATE_NAME: o nome do certificado.
  • DOMAIN_NAME: o nome do domínio de destino. O nome de domínio precisa ser totalmente qualificado, como myorg.example.com.
  • ISSUANCE_CONFIG_NAME: o nome do recurso de configuração de emissão de certificados que faz referência ao pool de ACs de destino.

Verificar o status do certificado

Antes de implantar um certificado em um balanceador de carga, verifique se ele está ativo. Pode levar vários minutos para que o estado do certificado mude para ACTIVE.

Console

  1. No console do Google Cloud , acesse a página Certificate Manager.

    Acessar o Gerenciador de certificados

  2. Na guia Certificados, verifique a coluna Status do certificado.

gcloud

Para verificar o status do certificado, execute o comando a seguir:

gcloud certificate-manager certificates describe CERTIFICATE_NAME

Substitua CERTIFICATE_NAME pelo nome do certificado gerenciado pelo Google de destino.

O resultado será assim:

createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
  domains:
  - myorg.example.com
  issuanceConfig: projects/myproject/locations/global/issuanceConfigs/myissuanceConfig
  state: ACTIVE
name: projects/myproject/locations/global/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  - myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Para mais etapas de solução de problemas, consulte Resolver problemas do Certificate Manager.

Implantar o certificado em um balanceador de carga

Para implantar o certificado global gerenciado pelo Google, anexe-o diretamente ao proxy de destino.

Anexe o certificado diretamente ao proxy de destino

É possível anexar o certificado a um proxy de destino novo ou atual.

Para anexar o certificado a um novo proxy de destino, use o comando gcloud compute target-https-proxies create:

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --global

Substitua:

  • PROXY_NAME: o nome do proxy de destino.
  • URL_MAP: o nome do mapa de URL. Você criou o mapa de URL ao criar o balanceador de carga.
  • CERTIFICATE_NAME: o nome do certificado.

Para anexar o certificado a um proxy HTTPS de destino, use o comando gcloud compute target-https-proxies update. Se você não souber o nome do proxy de destino, acesse a página Proxies de destino e anote o nome do proxy.

gcloud compute target-https-proxies update PROXY_NAME \
    --global \
    --certificate-manager-certificates=CERTIFICATE_NAME

Depois de criar ou atualizar o proxy de destino, execute o comando a seguir para verificar se ele está funcionando:

gcloud compute target-https-proxies list

Solução de problemas de certificados emitidos pelo serviço de CA

Para ver as etapas de solução de problemas, consulte Problemas relacionados a certificados emitidos por uma instância do serviço de CA.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua-os.

  1. Exclua o balanceador de carga e os recursos dele.

    Consulte Limpar uma configuração de balanceamento de carga

  2. Exclua o certificado gerenciado pelo Google:

    Console

    1. No console do Google Cloud , acesse a página Certificate Manager.

      Acessar o Gerenciador de certificados

    2. Na guia Certificados, marque a caixa de seleção do certificado.

    3. Clique em Excluir.

    4. Na caixa de diálogo exibida, clique em Excluir para confirmar.

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME
    

    Substitua CERTIFICATE_NAME pelo nome do certificado de destino.

  3. Exclua o recurso de configuração de emissão de certificados:

    Console

    1. No console Google Cloud , acesse a guia Configurações de emissão na página Certificate Manager.

      Acessar o Gerenciador de certificados

    2. Marque a caixa de seleção do recurso de configuração de emissão que você quer excluir.

    3. Clique em Excluir.

    4. Na caixa de diálogo exibida, clique em Excluir para confirmar.

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
    

    Substitua ISSUANCE_CONFIG_NAME pelo nome do recurso de configuração de emissão de certificado de destino.

  4. Exclua o pool de ACs.

    Para excluir o pool de CA ou desativar a última CA ativada em um pool de CA referenciado por um recurso de configuração de emissão de certificado, exclua todas as configurações de emissão de certificado que referenciam o pool de CA. Para mais informações, consulte Excluir um pool de ACs.