Faça a gestão das entradas de mapas de certificados

Uma entrada de mapa de certificados associa um certificado a um nome do anfitrião de destino e a um mapa de certificados de destino. Esta página descreve como criar e gerir entradas de mapeamento de certificados.

Para mais informações, consulte o artigo Entradas do mapa de certificados.

Crie uma entrada de mapeamento de certificados

Pode criar uma entrada de mapa de certificados e associar-lhe um máximo de quatro certificados. Recomendamos que use um algoritmo de chave diferente para cada certificado quando especificar vários certificados para um nome de anfitrião. Por exemplo, pode usar ECDSA para um certificado e RSA para outro. A associação de vários certificados a uma única entrada de mapeamento de certificados também ajuda na migração de certificados autogeridos para certificados geridos pela Google.

Para associar vários certificados a uma entrada do mapeamento de certificados, forneça uma lista de nomes de certificados separados por vírgulas. Para cada subdomínio, tem de criar uma entrada de mapa de certificados separada.

gcloud

Para criar uma entrada de mapeamento de certificados, use o gcloud certificate-manager maps entries createcomando:

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

Substitua o seguinte:

  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_NAMES: uma lista delimitada por vírgulas dos nomes dos certificados que quer associar a esta entrada do mapa de certificados.
  • HOSTNAME: o nome do anfitrião que quer associar à entrada do mapa de certificados.

API

Crie a entrada do mapa de certificados fazendo um pedido POST ao método certificateMaps.certificateMapEntries.create da seguinte forma:

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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

Substitua o seguinte:

  • PROJECT_ID: o ID do Google Cloud projeto.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • HOSTNAME: o nome do anfitrião que quer associar à entrada do mapa de certificados.
  • CERTIFICATE_NAME1: o nome do primeiro certificado que quer associar a esta entrada do mapa de certificados.
  • CERTIFICATE_NAME2: o nome do segundo certificado que quer associar a esta entrada do mapa de certificados.

Terraform

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

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 os comandos básicos do Terraform.

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

Crie uma entrada de mapeamento de certificado principal

Pode especificar um certificado principal para o balanceador de carga publicar se o cliente não fornecer um nome de anfitrião ou se o balanceador de carga não conseguir fazer corresponder o nome de anfitrião a uma entrada do mapa de certificados configurada.

gcloud

Para criar uma entrada de mapeamento de certificado principal, use o comando gcloud certificate-manager maps entries create com a flag set-primary:

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

Substitua o seguinte:

  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_NAMES: uma lista delimitada por vírgulas dos nomes dos certificados que quer associar a esta entrada do mapa de certificados.

API

Crie a entrada do mapa de certificados fazendo um pedido POST ao método certificateMaps.certificateMapEntries.create da seguinte forma:

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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

Substitua o seguinte:

  • PROJECT_ID: o ID do Google Cloud projeto.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_NAME1: o nome do primeiro certificado que quer associar à entrada do mapa de certificados principal.
  • CERTIFICATE_NAME2: o nome do segundo certificado que quer associar à entrada do mapa de certificados principal.

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

Atualize uma entrada de mapa de certificado

Quando atualiza uma entrada de mapeamento de certificados, pode fazer o seguinte:

  • Atribua ou desatribua certificados
  • Modifique a descrição
  • Modifique as etiquetas

gcloud

Para atualizar uma entrada do mapeamento de certificados, use o comandogcloud certificate-manager maps entries update :

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 o seguinte:

  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_NAME: o nome do certificado que quer associar à entrada do mapa de certificados.
  • DESCRIPTION: uma descrição significativa para esta entrada do mapa de certificados.
  • LABELS: uma lista de etiquetas aplicadas a esta entrada do mapa de certificados.

API

Atualize a entrada do mapa de certificados fazendo um pedido PATCH ao método certificateMaps.certificateMapEntries.patch da seguinte forma:

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 o seguinte:

  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • PROJECT_ID: o ID do Google Cloud projeto.
  • CERTIFICATE_NAME: o nome do certificado.
  • DESCRIPTION: uma descrição significativa para esta entrada do mapa de certificados.
  • LABEL_KEY: uma chave de etiqueta aplicada a esta entrada do mapa.
  • LABEL_VALUE: um valor de etiqueta aplicado a esta entrada do mapa de certificados.

Apresente as entradas do mapa de certificados

Pode listar, filtrar e ordenar todas as entradas do mapa de certificados configuradas do projeto.

Consola

  1. Na Google Cloud consola, aceda ao separador Mapas de certificados na página Gestor de certificados.

    Aceda ao Gestor de certificados

  2. Clique no nome do mapa de certificados que contém as entradas do mapa. A página Detalhes do mapa de certificados mostra informações detalhadas sobre o mapa de certificados selecionado e a respetiva lista associada de entradas de mapas.

gcloud

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

Substitua o seguinte:

  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • FILTER: uma expressão que restringe os resultados devolvidos a valores específicos.

    Por exemplo, pode filtrar os resultados pelos seguintes critérios:

    • Estado de publicação: --filter='state=ACTIVE'
    • Matcher (definido como principal): --filter='-matcher=PRIMARY'
    • Nome do anfitrião: --filter='hostname=example.com'
    • Certificados atribuídos: --filter='certificates:my-cert'
    • Etiquetas e hora de criação: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Para ver mais exemplos de filtragem que pode usar com o Certificate Manager, consulte a secção Ordenar e filtrar resultados da lista na documentação do Cloud Key Management Service.

  • PAGE_SIZE: o número de resultados a devolver por página.

  • LIMIT: o número máximo de resultados a devolver.

  • SORT_BY: uma lista delimitada por vírgulas de campos name pelos quais os resultados devolvidos são ordenados. A ordem de ordenação predefinida é ascendente. Para usar a ordem de ordenação descendente, adicione um til (~) antes do campo.

API

Liste as entradas de mapeamento de certificados configuradas num determinado mapa de certificados fazendo um pedido LIST ao método certificateMaps.certificateMapEntries.list da seguinte forma:

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

Substitua o seguinte:

  • PROJECT_ID: o ID do Google Cloud projeto.
  • CERTIFICATE_MAP_NAME: o nome do mapa de certificados de destino.
  • FILTER: uma expressão que restringe os resultados devolvidos a valores específicos.

    Por exemplo, pode filtrar os resultados pelos seguintes critérios:

    • Estado de publicação: --filter='state=ACTIVE'
    • Matcher (definido como principal): --filter='-matcher=PRIMARY'
    • Nome do anfitrião: --filter='hostname=example.com'
    • Certificados atribuídos: --filter='certificates:my-cert'
    • Etiquetas e hora de criação: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Para ver mais exemplos de filtragem que pode usar com o Certificate Manager, consulte a secção Ordenar e filtrar resultados da lista na documentação do Cloud Key Management Service.

  • PAGE_SIZE: o número de resultados a devolver por página.

  • SORT_BY: uma lista delimitada por vírgulas de campos name pelos quais os resultados devolvidos são ordenados. A ordem de ordenação predefinida é ascendente. Para usar a ordem de ordenação descendente, adicione um til (~) antes do campo.

Veja o estado de uma entrada de mapeamento de certificados

Pode ver o estado de uma entrada de mapeamento de certificados.

Consola

  1. Na Google Cloud consola, aceda ao separador Mapas de certificados na página Gestor de certificados.

    Aceda ao Gestor de certificados

  2. Clique no nome do mapa de certificados que contém as entradas do mapa. A página Detalhes do mapa de certificados mostra informações detalhadas sobre o mapa de certificados selecionado e a respetiva lista de entradas de mapas associada.

  3. Na secção Entradas de mapas, clique no nome da entrada de mapa que quer ver. A página Detalhes da entrada do mapa apresenta informações detalhadas acerca da entrada do mapa selecionada.

gcloud

gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

Substitua o seguinte:

  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.

API

Veja o estado da entrada do mapa de certificados fazendo um pedido GET ao método certificateMaps.certificateMapEntries.get da seguinte forma:

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

Substitua o seguinte:

  • PROJECT_ID: o ID do Google Cloud projeto.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.

Elimine uma entrada do mapa de certificados

A eliminação de uma entrada de mapa de certificados desassocia os certificados associados à entrada de mapa de certificados do proxy de destino. A eliminação de uma entrada do mapa de certificados não elimina os certificados associados de Google Cloud. Tem de eliminar manualmente esses certificados.

gcloud

gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

Substitua o seguinte:

  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.

API

Elimine uma entrada de mapeamento de certificados fazendo um pedido DELETE ao método da seguinte forma:certificateMaps.certificateMapEntries.delete

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

Substitua o seguinte:

  • PROJECT_ID: o ID do Google Cloud projeto.
  • CERTIFICATE_MAP_NAME: o nome do mapeamento de certificados ao qual a entrada do mapeamento de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.

O que se segue?