Neste tutorial, mostramos como usar o Gerenciador de certificados para implantar um certificado regional gerenciado pelo Google com o Serviço de autoridade certificadora em um balanceador de carga de aplicativo externo regional ou em um balanceador de carga de aplicativo interno regional.
Se você quiser fazer a implantação em balanceadores de carga externos globais ou entre regiões, consulte:
Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:
- Crie um certificado gerenciado pelo Google com o serviço de CA usando o Gerenciador de certificados.
- Implante o certificado em um balanceador de carga compatível usando um proxy HTTPS de destino.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Ative a API CA Service.
- Crie um pool de CA. É preciso criar e ativar pelo menos uma CA nesse pool.
- Os certificados criados com o Certificate Authority Service não são confiáveis publicamente. Para emitir certificados confiáveis publicamente, crie certificados com autorização de DNS ou autorização do balanceador de carga.
Se uma política de emissão de certificados estiver em vigor no pool de CA de destino, o provisionamento de certificados poderá falhar por qualquer um dos seguintes motivos:
- A política de emissão de certificados bloqueou o certificado solicitado. Nesse caso, você não recebe uma cobrança porque o certificado não foi emitido.
- A política aplicou mudanças ao certificado que não são compatíveis com o Certificate Manager. Nesse caso, você vai receber uma cobrança porque o certificado foi emitido, mesmo que não seja totalmente compatível com o Certificate Manager.
Os certificados TLS gerenciados pelo Google emitidos de um pool de CA regional são globais e podem ser usados em qualquer região.
Proprietário do Gerenciador de certificados (
roles/certificatemanager.owner
)Necessário para criar e gerenciar recursos do Gerenciador de certificados.
Administrador do balanceador de carga do Compute (
roles/compute.loadBalancerAdmin
) ou administrador da rede do Compute (roles/compute.networkAdmin
)Necessário para criar e gerenciar o proxy HTTPS de destino.
Administrador de serviço de CA (
roles/privateca.admin
)Necessário para realizar ações no serviço de CA.
- Funções e permissões para o Certificate Manager.
- Papéis e permissões do IAM do Compute Engine para o Compute Engine.
- Controle de acesso com o IAM para o CA Service.
Para criar um balanceador de carga de aplicativo externo regional, consulte Configurar um balanceador de carga de aplicativo externo regional com back-ends de grupos de instâncias de VM.
Para criar um balanceador de carga de aplicativo interno regional, consulte Configurar um balanceador de carga de aplicativo interno regional com back-ends de grupos de instâncias de VM.
Antes de seguir as etapas deste tutorial, anote o seguinte:
Funções exigidas
Verifique se você tem os seguintes papéis para concluir as tarefas deste tutorial:
Para ver mais informações, consulte os seguintes tópicos:
Criar o balanceador de carga
Este tutorial pressupõe que você já criou e configurou os back-ends, as verificações de integridade, os serviços de back-end e os mapas de URL do balanceador de carga. Anote o nome do mapa de URL, porque você vai precisar dele mais tarde neste tutorial.
Configurar a integração do serviço de CA com o Certificate Manager
Para integrar o CA Service ao Certificate Manager, siga estas etapas:
No projeto de destino Google Cloud , crie uma conta de serviço do Certificate Manager:
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Substitua
PROJECT_ID
pelo ID do projeto de destinoGoogle 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
Conceda à conta de serviço do Certificate Manager a função de 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 target Google Cloud location.SERVICE_ACCOUNT
: o nome completo da conta de serviço que você criou na etapa 1.
Crie um recurso de configuração de emissão de certificado para seu pool de CA:
Console
No console Google Cloud , acesse a guia Configurações de emissão na página Certificate Manager.
Clique em Criar. A página Criar uma configuração de emissão de certificado aparece.
No campo Nome, insira um nome exclusivo para a configuração de emissão de certificado.
Opcional: no campo Descrição, insira uma descrição para a configuração de emissão.
Em Local, selecione Regional.
Em Região, selecione a mesma região do certificado e do pool de CAs.
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).
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.
Opcional: na lista Algoritmo de chave, selecione o algoritmo a ser usado ao gerar a chave privada.
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.
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.Clique em Criar.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATION
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 certificado.LOCATION
: o target Google Cloud location. É necessário especificar o mesmo local do pool de CAs e do certificado.
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
No console Google Cloud , acesse a página Certificate Manager.
Na guia Certificados, clique em Adicionar certificado.
No campo Nome do certificado, insira um nome exclusivo para o certificado.
Opcional: no campo Descrição, insira uma descrição para o certificado. A descrição permite identificar o certificado.
Em Local, selecione Regional.
Na lista Região, selecione sua região.
Em Tipo de certificado, selecione Criar certificado gerenciado pelo Google.
Em Tipo de autoridade de certificação, selecione Privada.
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
.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 CA de destino.
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.Clique em Criar.
O novo certificado aparece na lista.
gcloud
Para criar um certificado regional gerenciado pelo Google com o Certificate Authority Service,
use o comando certificate-manager certificates create
com a
flag issuance-config
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config="ISSUANCE_CONFIG_NAME" \ --location="LOCATION"
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, comomyorg.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.LOCATION
: o target Google Cloud location. Você precisa especificar o mesmo local do pool de CAs, do recurso de configuração de emissão de certificado e do certificado gerenciado.
API
Crie o certificado fazendo uma solicitação POST
ao método
certificates.create
da seguinte maneira:
POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME" { name: "/projects/example-project/locations/LOCATION/certificates/my-cert", "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", }, }
Substitua:
PROJECT_ID
: o ID do projeto Google Cloud .LOCATION
: o target Google Cloud location. Você precisa especificar o mesmo local do pool de CAs, do recurso de configuração de emissão de certificado e do certificado gerenciado.CERTIFICATE_NAME
: o nome do certificado.DOMAIN_NAME
: o nome do domínio de destino. O nome de domínio precisa ser totalmente qualificado, comomyorg.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
No console Google Cloud , acesse a página Certificate Manager.
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 \ --location=LOCATION
Substitua:
CERTIFICATE_NAME
: o nome do certificado.LOCATION
: o local Google Cloud de destino em que você criou o certificado gerenciado pelo Google.
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/LOCATION/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/LOCATION/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 regional gerenciado pelo Google em um balanceador de carga
Para implantar o certificado regional 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 \ --certificate-manager-certificates=CERTIFICATE_NAME \ --url-map=URL_MAP \ --region=LOCATION
Substitua:
PROXY_NAME
: o nome do proxy de destino.CERTIFICATE_NAME
: o nome do certificado.URL_MAP
: o nome do mapa de URL. Você criou o mapa de URL ao criar o balanceador de carga.LOCATION
: o Google Cloud local de destino em que você quer criar o proxy HTTPS de destino.
Para anexar um 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 dele.
gcloud compute target-https-proxies update PROXY_NAME \ --region=LOCATION \ --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.
Exclua o balanceador de carga e os recursos dele.
Exclua o certificado gerenciado pelo Google:
Console
No console Google Cloud , acesse a página Certificate Manager.
Na guia Certificados, marque a caixa de seleção do certificado.
Clique em Excluir.
Na caixa de diálogo exibida, clique em Excluir para confirmar.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME \ --location=LOCATION
Substitua:
CERTIFICATE_NAME
: o nome do certificado.LOCATION
: o target Google Cloud location.
Exclua o recurso de configuração de emissão de certificados:
Console
No console Google Cloud , acesse a guia Configurações de emissão na página Certificate Manager.
Marque a caixa de seleção do recurso de configuração de emissão que você quer excluir.
Clique em Excluir.
Na caixa de diálogo exibida, clique em Excluir para confirmar.
gcloud
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \ --location=LOCATION
Substitua:
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.LOCATION
: o target Google Cloud location.
Exclua o pool de ACs.
Para excluir o pool de CAs ou desativar a última CA ativada em um pool de CAs referenciado por uma configuração de emissão de certificado, exclua todas as configurações de emissão de certificado que referenciam o pool de CAs. Para mais informações, consulte Excluir um pool de ACs.