Neste tutorial, mostramos como usar o Gerenciador de certificados para implantar um certificado autogerenciado global.
Os seguintes balanceadores de carga são compatíveis com certificados autogerenciados globais:
- Balanceador de carga de aplicativo externo global
- Balanceador de carga de aplicativo clássico
- Balanceador de carga de rede de proxy externo global
- Balanceador de carga de rede de proxy clássico
Se você quiser fazer a implantação em balanceadores de carga regionais ou entre regiões, consulte o seguinte:
Fazer upload de um certificado autogerenciado para o Gerenciador de certificados
Para fazer upload do certificado no Gerenciador de certificados, faça o seguinte:
Console
No console do 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 Global.
Em Escopo, selecione Padrão.
Em Tipo de certificado, selecione Criar certificado autogerenciado.
No campo Certificado, faça uma das seguintes ações:
- Clique no botão Fazer upload e selecione o arquivo de certificado no formato PEM.
- Copie e cole o conteúdo de um certificado no formato PEM. O
conteúdo precisa começar com
-----BEGIN CERTIFICATE-----
e terminar com-----END CERTIFICATE-----
.
No campo Certificado de chave privada, faça uma das seguintes ações:
- Clique no botão Upload e selecione sua chave privada. Ela precisa estar no formato PEM e não ser protegida por uma senha longa.
- Copie e cole o conteúdo de uma chave privada no formato PEM. As chaves
privadas precisam começar com
-----BEGIN PRIVATE KEY-----
e terminar com-----END PRIVATE KEY-----
.
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 autogerenciado global, use o comando certificate-manager certificates create
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --certificate-file="CERTIFICATE_FILE" \ --private-key-file="PRIVATE_KEY_FILE"
Substitua:
CERTIFICATE_NAME
: o nome do certificado.CERTIFICATE_FILE
: o caminho e o nome do arquivo de certificado CRT.PRIVATE_KEY_FILE
: o caminho e o nome do arquivo da chave privada KEY.
Terraform
Para fazer upload de um certificado autogerenciado, use um
recurso google_certificate_manager_certificate
com o bloco self_managed
.
API
Faça o upload do certificado fazendo uma solicitação POST
para o
método certificates.create
da seguinte maneira:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME { self_managed: { pem_certificate: "PEM_CERTIFICATE", pem_private_key: "PEM_KEY", } }
Substitua:
PROJECT_ID
: o ID do projeto Google Cloud .CERTIFICATE_NAME
: o nome do certificado.PEM_CERTIFICATE
: o PEM do certificado.PEM_KEY
: o PEM da chave.
Implantar o certificado autogerenciado em um balanceador de carga
Para implantar o certificado autogerenciado global, use um mapa de certificados.
Criar um CertificateMap
Crie um mapa de certificados que faça referência à entrada de mapa de certificados associada ao seu certificado:
gcloud
Para criar um mapa de certificados, use o comando gcloud certificate-manager maps create
:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
Substitua CERTIFICATE_MAP_NAME
pelo nome do mapa de certificado de destino.
Terraform
Para criar um mapa de certificados, use um
recurso google_certificate_manager_certificate_map
.
Criar uma entrada de mapa de certificado
Crie uma entrada de mapa de certificado e a associe ao seu certificado e mapa de certificado:
gcloud
Para criar uma entrada de mapa de certificado, use o comando gcloud certificate-manager maps entries create
:
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
Substitua:
CERTIFICATE_MAP_ENTRY_NAME
: o nome da entrada do mapa de certificados.CERTIFICATE_MAP_NAME
: o nome do mapa de certificados a que a entrada do mapa de certificados está anexada.CERTIFICATE_NAME
: o nome do certificado que você quer associar à entrada do mapa de certificados.HOSTNAME
: o nome do host que você quer associar à entrada do mapa de certificados.Se você quiser criar um certificado que abranja um domínio curinga e um domínio raiz, especifique o nome do host com uma raiz e um caractere curinga, como
example.com
e*.example.com
. Além disso, especifique duas entradas de mapa de certificado: uma paraexample.com
e outra para*.example.com
.
Terraform
Para criar uma entrada de mapa de certificado com um domínio raiz, use um
recurso google_certificate_manager_certificate_map_entry
.
Para criar uma entrada de mapa de certificados com um domínio curinga, use um
recurso google_certificate_manager_certificate_map_entry
.
Verificar se a entrada do mapa de certificados está ativa
Verifique se a entrada do mapa de certificados está ativa antes de anexar o mapa de certificados correspondente ao proxy de destino.
Para verificar a entrada do mapa de certificados, use o comando gcloud certificate-manager maps entries describe
:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Substitua:
CERTIFICATE_MAP_ENTRY_NAME
: o nome da entrada do mapa de certificados.CERTIFICATE_NAME
: o nome do certificado que você quer associar à entrada do mapa de certificados.
O resultado será assim:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
Anexe o mapa de certificado ao proxy de destino
É possível anexar o mapa de certificado a um proxy de destino novo ou atual.
gcloud
Para anexar o mapa de certificados a um novo proxy de destino, use o comando gcloud compute target-https-proxies create
:
gcloud compute target-https-proxies create PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --url-map="URL_MAP" \ --global
Substitua:
PROXY_NAME
: o nome do proxy de destino.CERTIFICATE_MAP_NAME
: o nome do mapa de certificado que faz referência à entrada do mapa de certificado e ao certificado associado.URL_MAP
: o nome do mapa de URL.
Para anexar o mapa de certificados 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 atual, acesse a página Proxies de destino e anote o nome do proxy.
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
Depois de criar ou atualizar o proxy de destino, execute o comando a seguir para verificar:
gcloud compute target-https-proxies list
Terraform
Para anexar o mapa de certificado ao proxy de destino, use um
recurso google_compute_target_https_proxy
.
Ao configurar um proxy de destino, se você anexar certificados TLS (SSL) diretamente e também por um mapa de certificados, o proxy usará os certificados referenciados pelo mapa e ignorará os certificados TLS (SSL) anexados diretamente.
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 ou desanexe o mapa de certificados do proxy.
Para excluir o mapa de certificados, execute o seguinte comando:
gcloud compute target-https-proxies delete PROXY_NAME
Se você quiser manter o proxy HTTPS de destino, desvincule o mapa de certificados do proxy.
- Se houver certificados TLS (SSL) anexados diretamente ao proxy, a remoção do mapa de certificados fará com que o proxy volte a usar esses certificados TLS (SSL) anexados diretamente.
- Se não houver certificados TLS (SSL) anexados diretamente ao proxy, o mapa de certificados não poderá ser desanexado dele. Primeiro, anexe pelo menos um certificado TLS (SSL) diretamente ao proxy antes de desconectar o mapa de certificados.
Para desconectar o mapa de certificados, execute o seguinte comando:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
Substitua
PROXY_NAME
pelo nome do proxy de destino.Exclua a entrada do mapa de certificados:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
Substitua:
CERTIFICATE_MAP_ENTRY_NAME
: o nome da entrada do mapa de certificados.CERTIFICATE_MAP_NAME
: o nome do mapa de certificados.
Exclua o mapa de certificados:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
Substitua
CERTIFICATE_MAP_NAME
pelo nome do mapa de certificado.Exclua o certificado enviado:
gcloud certificate-manager certificates delete CERTIFICATE_NAME
Substitua
CERTIFICATE_NAME
pelo nome do certificado.