Neste tutorial, descrevemos como usar o Gerenciador de certificados para implantar um certificado regional gerenciado pelo Google com serviço de AC para um balanceador de carga de aplicativo externo regional ou para um do balanceador de carga de aplicativo interno regional.
Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:
- Crie um certificado gerenciado pelo Google com o CA Service usando Gerenciador de certificados.
- Implantar o certificado em um balanceador de carga compatível usando um HTTPS de destino proxy.
Para mais informações sobre o processo de implantação de certificados, consulte Visão geral da implantação.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Você precisa ter os papéis a seguir para concluir as tarefas desta tutorial:
- Proprietário do Gerenciador de certificados: necessário para criar e gerenciar recursos do Gerenciador de certificados.
- Administrador do balanceador de carga do Compute: necessário para criar e gerenciar HTTPS proxy de destino.
- Administrador de serviço de CA: necessário para executar ações em CA Service.
Para ver mais informações, consulte os seguintes tópicos:
- Papéis e permissões para Gerenciador de certificados
- Papéis do IAM do Compute Engine e do Cloud Storage para o Compute Engine.
- Permissões e papéis para serviço de AC
Criar um pool de CA. É necessário criar e ativar pelo menos uma AC neste pool de ACs.
Configurar a integração do CA Service com o Gerenciador de certificados
Configurar o Gerenciador de certificados para integração CA Service da seguinte forma:
Crie uma conta de serviço do Certificate Manager no projeto do Google Cloud de destino:
gcloud beta services identity create \ --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Substitua
PROJECT_ID
pelo ID do destino. projeto do Google Cloud.
O comando retorna o nome da identidade de serviço criada, conforme mostrado no exemplo a seguir:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Conceda à conta de serviço do Gerenciador de certificados o papel de solicitante de certificado de serviço de CA no pool de CAs de destino da seguinte maneira:
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 local de destino do Google Cloud. Você especificar o mesmo local do pool de ACs, da emissão de certificados recurso de configuração e certificado gerenciado.SERVICE_ACCOUNT
: o nome completo da conta de serviço que você criou na primeira etapa.
Crie um recurso de configuração de emissão de certificados para o pool de AC:
gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATION> \ [--lifetime=CERTIFICATE_LIFETIME] \ [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \ [--key-algorithm=KEY_ALGORITHM]
Substitua:
ISSUANCE_CONFIG_NAME
: o nome exclusivo do de configuração da emissão de certificados.CA_POOL
: o caminho completo do recurso e o nome da AC. pool que você quer atribuir a este recurso de configuração de emissão de certificados.LOCATION
: o local de destino do Google Cloud. Você especificar o mesmo local do pool de ACs, da emissão de certificados recurso de configuração e certificado gerenciado.CERTIFICATE_LIFETIME
: a vida útil do certificado em dias. Os valores válidos são de 21 a 30 dias no formato de duração padrão. O padrão é 30 dias. (30D
). Essa configuração é opcional.ROTATION_WINDOW_PERCENTAGE
: a porcentagem ciclo de vida do certificado em que uma renovação é acionada. O padrão é 66 de 100%. Você deve definir a porcentagem da janela de rotação em relação à ciclo de vida do certificado para que a renovação ocorra por pelo menos sete dias após a emissão do certificado e pelo menos sete dias antes dele expira. Essa configuração é opcional.KEY_ALGORITHM
: o algoritmo de criptografia usado para gerar a chave privada. Os valores válidos sãoecdsa-p256
oursa-2048
. O padrão érsa-2048
. Essa configuração é opcional.
Para mais informações sobre recursos de configuração para emissão de certificados, consulte Gerenciar configurações de emissão de certificados.
Criar um certificado regional gerenciado pelo Google
Criar um certificado regional gerenciado pelo Google emitido pela sua CA Service usando o recurso de configuração de emissão de certificados criado na etapa anterior:
Console
No console do Google Cloud, acesse a página Gerenciador de certificados.
Na página que aparece, selecione a guia Certificados.
Clique em Adicionar certificado.
Digite um Nome para o certificado.
O nome precisa ser exclusivo no projeto.
Opcional: digite a Descrição do certificado. Descrição ajuda a identificar um certificado específico posteriormente.
Em Local, escolha Regional.
Na lista Região, selecione uma região.
Em Tipo de certificado, escolha Criar certificado gerenciado pelo Google.
Em Tipo de autoridade de certificação, escolha Particular.
Especifique os Nomes de domínio do certificado. Insira um valor delimitado por vírgulas lista dos domínios de destino. Além disso, cada nome de domínio deve ser um domínio nome de domínio, como
myorg.example.com
.Em Configuração de emissão de certificados, selecione o nome do certificado. recurso de configuração de emissão que faz referência ao pool de ACs de destino.
Especifique um rótulo para associar ao certificado. Você pode adicionar mais de um rótulo, se necessário. Para adicionar um rótulo, clique no botão add_box Adicionar rótulo e especifique um
key
e umvalue
para o rótulo.Clique em Criar. Verifique se o novo certificado aparece na lista.
gcloud
Execute este comando:
gcloud beta certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config="ISSUANCE_CONFIG_NAME" \ --location="LOCATION"
Substitua:
CERTIFICATE_NAME
: um nome exclusivo do certificado.DOMAIN_NAMES
: uma lista delimitada por vírgulas dos domínios de destino deste certificado. Cada nome de domínio deve ser um domínio nome de domínio, comomyorg.example.com
.ISSUANCE_CONFIG_NAME
: o nome do recurso de configuração de emissão de certificado que faz referência ao pool de ACs de destino.LOCATION
: o local de destino do Google Cloud. Você especificar o mesmo local do pool de ACs, da emissão de certificados recurso de configuração e certificado gerenciado.
API
Crie o certificado fazendo uma solicitação POST
ao
certificates.create
desta 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 de destino do Google Cloud.LOCATION
: o local de destino do Google Cloud. Você especificar o mesmo local do pool de ACs, da emissão de certificados recurso de configuração e certificado gerenciado.CERTIFICATE_NAME
: um nome exclusivo do certificado.DOMAIN_NAME
: o domínio de destino deste certificado. O nome de domínio precisa ser totalmente qualificado, comoexample.com
,www.example.com
.ISSUANCE_CONFIG_NAME
: o nome do certificado. recurso de configuração de emissão que faz referência ao pool de ACs de destino.
Para uma visão geral do processo de implantação do certificado, consulte Implantação geral do Google.
Verificar se o certificado está ativo
Use o comando a seguir para verificar se o próprio certificado está ativo antes de implantá-lo no balanceador de carga. Pode levar vários minutos para que o
estado do certificado seja alterado para ACTIVE
.
gcloud beta certificate-manager certificates describe CERTIFICATE_NAME \ --location=LOCATION
Substitua:
CERTIFICATE_NAME
: um nome exclusivo do certificado.LOCATION
: o local de destino do Google Cloud. Você especificar o mesmo local do pool de ACs, da emissão de certificados recurso de configuração e certificado gerenciado.
O comando retorna uma saída semelhante a esta:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: domains: - myorg.example.com issuanceConfig: projects/myproject/locations/mylocation/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/mylocation/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Implantar o certificado regional gerenciado pelo Google em um balanceador de carga
Para implantar o certificado regional gerenciado pelo Google, crie um proxy de destino HTTPS e anexe o certificado a ele.
Criar o proxy de destino HTTPS
Para criar o proxy de destino HTTPS e anexar o certificado, execute o seguinte: comando:
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP \ --region=REGION \ --certificate-manager-certificates=CERTIFICATE_NAME
Substitua:
PROXY_NAME
: um nome exclusivo do proxy.URL_MAP
: o nome do mapa de URL. Você criou o mapa de URLs quando você criou o balanceador de carga.REGION
: a região onde você está criando o HTTPS. proxy de destino.CERTIFICATE_NAME
: o nome do certificado.
Para verificar se o proxy de destino foi criado, execute o seguinte comando:
gcloud compute target-https-proxies list
Criar uma regra de encaminhamento
Configure uma regra de encaminhamento e termine de configurar o balanceador de carga.
- Se você estiver usando 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.
- Se você estiver usando um balanceador de carga de aplicativo interno regional, consulte Configure um balanceador de carga de aplicativo interno regional com back-ends de grupos de instâncias de VM.
Limpar
Para reverter as alterações feitas neste tutorial, faça o seguinte etapas:
Exclua o certificado gerenciado pelo Google:
Console
No console do Google Cloud, acesse a página Gerenciador de certificados.
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 certificadoLOCATION
: o local de destino do Google Cloud.
Exclua o recurso de configuração de emissão de certificados:
Console
No console do Google Cloud, acesse a página Gerenciador de certificados.
Na guia Issuance Configs, marque a caixa de seleção do configuração de emissão.
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 da emissão configuraçãoLOCATION
: o local de destino do Google Cloud.
Exclua o pool de ACs, conforme descrito em Excluir um pool de ACs.
Lembre-se de que, para desativar a última AC ativada no pool de ACs, referenciados no recurso de configuração de emissão de certificados ou excluir o no pool de ACs, primeiro é preciso excluir todos os recursos de configuração de emissão de certificado que fazem referência a esse pool de AC.
Solução de problemas
Para ver as etapas de solução de problemas, consulte Problemas relacionados a certificados emitidos por um instância de serviço da AC.