Gerenciar entradas do mapa de certificados

Nesta seção, descrevemos como criar e gerenciar entradas do mapa de certificados. Uma entrada de mapa de certificado associa um certificado a um nome de host de destino e um mapa de certificado de destino.

Para mais informações sobre entradas do mapa de certificado, consulte Como o Gerenciador de certificados funciona.

Para saber como implantar um certificado com o Gerenciador de certificados, consulte Visão geral da implantação.

Para mais informações sobre os comandos gcloud usados nesta página, consulte a referência da CLI do Gerenciador de certificados.

Criar uma entrada de mapa de certificado

Para criar uma entrada de mapa de certificados e associar um ou mais certificados a ela, conclua as etapas desta seção. Especifique pelo menos um certificado em uma entrada do mapa de certificados. Só é possível especificar mais de um certificado para um determinado nome de host se cada certificado usar um pacote de criptografia diferente, por exemplo, ECDSA e RSA.

Para associar vários certificados a uma entrada de mapa de certificado, forneça uma lista de nomes de certificados delimitados por vírgulas para associar à entrada. É possível associar no máximo quatro certificados a uma única entrada de mapa de certificados. Para cada subdomínio, crie uma entrada de mapa de certificado separada.

Para concluir esta tarefa, você precisa ter um dos seguintes papéis no projeto de destino do Google Cloud:

  • Editor do Gerenciador de certificados
  • Proprietário do Gerenciador de certificados

Para mais informações, consulte Papéis e permissões.

gcloud

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --hostname="HOSTNAME"

Substitua:

  • CERTIFICATE_MAP_ENTRY_NAME é um nome exclusivo que descreve essa entrada do mapa de certificado.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_NAMES é uma lista delimitada por vírgulas dos nomes dos certificados que você quer associar a essa entrada de mapa de certificado.
  • HOSTNAME é o nome do host que você quer associar a essa entrada de mapa de certificado.

Terraform

Para criar uma entrada de mapa de certificado, use um recurso google_certificate_manager_certificate_map_entry.

resource "google_certificate_manager_certificate_map_entry" "default" {
  name        = "${local.name}-first-entry-${random_id.tf_prefix.hex}"
  description = "example certificate map entry"
  map         = google_certificate_manager_certificate_map.default.name
  labels = {
    "terraform" : true
  }
  certificates = [google_certificate_manager_certificate.default.id]
  hostname     = local.domain
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

API

Crie a entrada de mapa de certificado fazendo uma solicitação POST para o método certificateMaps.certificateMapEntries.create da seguinte maneira:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
 hostname: "HOSTNAME"
 certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
}

Substitua:

  • PROJECT_ID é o ID do projeto de destino do Google Cloud.
  • CERTIFICATE_MAP_ENTRY_NAME é um nome exclusivo que descreve essa entrada do mapa de certificado.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • HOSTNAME é o nome do host que você quer associar a essa entrada de mapa de certificado.
  • CERTIFICATE_NAME é o nome do certificado que você quer associar a essa entrada de mapa de certificado.

Para informações sobre como o balanceador de carga seleciona certificados durante um handshake, consulte Lógica de seleção de certificados.

Criar uma entrada do mapa de certificado principal

É possível especificar um certificado principal que o balanceador de carga veicule se o cliente não fornecer um nome do host ou um nome do host que o balanceador de carga não possa corresponder a nenhuma entrada de mapa de certificado configurada.

Para concluir esta tarefa, você precisa ter um dos seguintes papéis no projeto de destino do Google Cloud:

  • Editor do Gerenciador de certificados
  • Proprietário do Gerenciador de certificados

Para mais informações, consulte Papéis e permissões.

gcloud

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --set-primary

Substitua:

  • CERTIFICATE_MAP_ENTRY_NAME é um nome exclusivo que descreve essa entrada do mapa de certificado.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_NAMES é uma lista delimitada por vírgulas dos nomes dos certificados que você quer associar a essa entrada de mapa de certificado.

API

Crie a entrada de mapa de certificado fazendo uma solicitação POST para o método certificateMaps.certificateMapEntries.create da seguinte maneira:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
   matcher: "PRIMARY",
   certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
}

Substitua:

  • PROJECT_ID é o ID do projeto de destino do Google Cloud.
  • CERTIFICATE_MAP_ENTRY_NAME é um nome exclusivo que descreve essa entrada do mapa de certificado.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_NAME é o nome do certificado que você quer associar a essa entrada de mapa de certificado.

Para informações sobre como o balanceador de carga seleciona certificados durante um handshake, consulte Lógica de seleção de certificados.

Atualizar uma entrada do mapa de certificado

Para atualizar uma entrada do mapa de certificado, conclua as etapas desta seção. É possível atualizar uma entrada de mapa de certificado da seguinte maneira:

  • Atribuir ou cancelar a atribuição de certificados
  • Modificar a descrição
  • Modificar os rótulos

Para concluir esta tarefa, você precisa ter um dos seguintes papéis no projeto de destino do Google Cloud:

  • Editor do Gerenciador de certificados
  • Proprietário do Gerenciador de certificados

Para mais informações, consulte Papéis e permissões.

gcloud

gcloud certificate-manager maps entries update CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME,CERTIFICATE_NAME" \
    --description="DESCRIPTION"
    --update-labels="LABELS"

Substitua:

  • CERTIFICATE_MAP_ENTRY_NAME é um nome exclusivo que descreve essa entrada do mapa de certificado.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_NAME é o nome do certificado que você quer associar a essa entrada de mapa de certificado.
  • DESCRIPTION é uma descrição significativa para essa entrada de mapa de certificado.
  • LABELS é uma lista de rótulos aplicados a essa entrada do mapa de certificado.

API

Atualize a entrada do mapa de certificado fazendo uma solicitação PATCH ao método certificateMaps.certificateMapEntries.patch da seguinte maneira:

PATCH  /v1/projects/example-project/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME?updateMask=labels,description,certificates
{
  "certificates": ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
  "description": "DESCRIPTION",
  "labels": { "LABEL_KEY": "LABEL_VALUE" }
}

Substitua:

  • PROJECT_ID é o ID do projeto de destino do Google Cloud.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_MAP_ENTRY_NAME é um nome exclusivo que descreve essa entrada do mapa de certificado.
  • CERTIFICATE_NAME é o nome do certificado que você quer associar a essa entrada de mapa de certificado.
  • DESCRIPTION é uma descrição significativa para essa entrada de mapa de certificado.
  • LABEL_KEY é uma chave de rótulo aplicada a esta entrada do mapa de certificado.
  • LABEL_VALUE é um valor de rótulo aplicado a esta entrada do mapa de certificado.

Listar entradas do mapa de certificado

Para listar as entradas configuradas atualmente em um mapa de certificado de destino, conclua as etapas desta seção.

Para concluir esta tarefa, você precisa ter um dos seguintes papéis no projeto de destino do Google Cloud:

  • Leitor do Gerenciador de certificados
  • Editor do Gerenciador de certificados
  • Proprietário do Gerenciador de certificados

Para mais informações, consulte Papéis e permissões.

gcloud

gcloud certificate-manager maps entries list --map=CERTIFICATE_MAP_NAME \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

Substitua:

  • CERTIFICATE_MAP_NAME é o nome do mapa de certificado de destino.
  • FILTER é uma expressão que restringe os resultados retornados a valores específicos. Por exemplo, é possível filtrar os resultados pelos seguintes critérios:

    • Estado de exibição: --filter='state=ACTIVE'
    • Correspondência (definido como principal): --filter='-matcher=PRIMARY'
    • Nome do host: --filter='hostname=example.com'
    • Certificados atribuídos: --filter='certificates:my-cert'
    • Marcadores e horário de criação: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Para mais exemplos de filtragem que podem ser usados com o Gerenciador de certificados, consulte Como classificar e filtrar resultados da lista na documentação do Cloud Key Management Service.

  • PAGE_SIZE é o número de resultados a serem retornados por página;

  • LIMIT é o número máximo de resultados a serem retornados.

  • SORT_BY é uma lista delimitada por vírgulas de campos name pelos quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para ordem decrescente, insira ~ como prefixo do campo desejado.

API

Liste as entradas de mapa de certificado configuradas em um determinado mapa fazendo uma solicitação LIST para o método certificateMaps.certificateMapEntries.list da seguinte maneira:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

Substitua:

  • PROJECT_ID é o ID do projeto de destino do Google Cloud.
  • CERTIFICATE_MAP_NAME é o nome do mapa de certificado de destino.
  • FILTER é uma expressão que restringe os resultados retornados a valores específicos.
  • PAGE_SIZE é o número de resultados a serem retornados por página;
  • SORT_BY é uma lista delimitada por vírgulas de nomes de campos pelos quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para ordem decrescente, insira ~ como prefixo do campo desejado.

Visualizar o estado de uma entrada do mapa de certificado

Para conferir o estado de uma entrada do mapa de certificado, conclua as etapas desta seção.

Para concluir esta tarefa, você precisa ter um dos seguintes papéis no projeto de destino do Google Cloud:

  • Leitor do Gerenciador de certificados
  • Editor do Gerenciador de certificados
  • Proprietário do Gerenciador de certificados

Para mais informações, consulte Papéis e permissões.

gcloud

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 do certificado de destino.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.

API

Para conferir o estado da entrada do mapa de certificado, faça uma solicitação GET ao método certificateMaps.certificateMapEntries.get da seguinte maneira:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME

Substitua:

  • PROJECT_ID é o ID do projeto de destino do Google Cloud.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_MAP_ENTRY_NAME é o nome da entrada do mapa do certificado de destino.

Excluir uma entrada do mapa de certificado

Para excluir uma entrada de um mapa de certificado, siga as etapas desta seção. Essa ação remove do proxy de destino os certificados associados à entrada do mapa de certificados.

A exclusão de uma entrada do mapa de certificados não remove os certificados associados. Para remover esses certificados do Google Cloud, é necessário excluí-los manualmente.

Para concluir essa tarefa, é preciso ter o papel de Proprietário do Gerenciador de certificados no projeto de destino do Google Cloud.

Para mais informações, consulte Papéis e permissões.

gcloud

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 do certificado de destino.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.

API

Exclua uma entrada de mapa de certificado fazendo uma solicitação DELETE para o método certificateMaps.certificateMapEntries.delete da seguinte maneira:

DELETE /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME

Substitua:

  • PROJECT_ID é o ID do projeto de destino do Google Cloud.
  • CERTIFICATE_MAP_NAME é o nome do mapa do certificado a que essa entrada de mapa de certificado é anexada.
  • CERTIFICATE_MAP_ENTRY_NAME é o nome da entrada do mapa do certificado de destino.

A seguir