Gerenciar entradas do mapa de certificados

Uma entrada de mapa de certificado associa um certificado a um nome de host de destino e a um mapa de certificado de destino. Esta página descreve como criar e gerenciar entradas de mapa de certificado.

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

Criar uma entrada do mapa de certificados

É possível criar uma entrada de mapa de certificados e associar até quatro certificados a ela. Recomendamos que você use um algoritmo de chave diferente para cada certificado ao especificar vários certificados para um nome de host. Por exemplo, é possível usar ECDSA para um certificado e RSA para outro. Associar vários certificados a uma única entrada do mapa de certificados também ajuda a migrar certificados autogerenciados para certificados gerenciados pelo Google.

Para associar vários certificados a uma entrada do mapa de certificados, forneça uma lista de nomes de certificados delimitada por vírgulas. Para cada subdomínio, é necessário criar uma entrada separada do mapa de certificados.

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_NAMES" \
    --hostname="HOSTNAME"

Substitua:

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

API

Crie a entrada do mapa de certificados 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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

Substitua:

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

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.

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 de mapa de certificados principal

É possível especificar um certificado principal para o balanceador de carga fornecer se o cliente não fornecer um nome de host ou se o balanceador de carga não conseguir corresponder o nome de host a uma entrada de mapa de certificado configurada.

gcloud

Para criar uma entrada de mapa 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:

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

API

Crie a entrada do mapa de certificados 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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

Substitua:

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

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 certificados

Ao atualizar uma entrada do mapa de certificados, você pode fazer o seguinte:

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

gcloud

Para atualizar uma entrada do mapa de certificados, use o comando gcloud 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:

  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapa de certificados ao qual a entrada do mapa de certificados está anexada.
  • CERTIFICATE_NAME: o nome do certificado que você quer associar à entrada do mapa de certificados.
  • DESCRIPTION: uma descrição significativa para essa entrada do mapa de certificados.
  • LABELS: uma lista de rótulos aplicados a esta entrada de mapa de certificados.

API

Atualize a entrada do mapa de certificados fazendo uma solicitação PATCH para o 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:

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

Listar entradas do mapa de certificados

É possível listar, filtrar e classificar todas as entradas de mapa de certificado configuradas do projeto.

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 certificados ao qual a entrada do mapa de certificados está anexada.
  • FILTER: uma expressão que restringe os resultados retornados a valores específicos.

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

    • Estado de veiculação: --filter='state=ACTIVE'
    • Correspondente (definido como principal): --filter='-matcher=PRIMARY'
    • Nome do host: --filter='hostname=example.com'
    • Certificados atribuídos: --filter='certificates:my-cert'
    • Rótulos e horário da 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 ordenar e filtrar resultados de listas 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 por que os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para classificar em ordem decrescente, prefixe o campo com um til (~).

API

Liste as entradas de mapa de certificados configuradas em um determinado mapa de certificados 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 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.

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

    • Estado de veiculação: --filter='state=ACTIVE'
    • Correspondente (definido como principal): --filter='-matcher=PRIMARY'
    • Nome do host: --filter='hostname=example.com'
    • Certificados atribuídos: --filter='certificates:my-cert'
    • Rótulos e horário da 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 ordenar e filtrar resultados de listas na documentação do Cloud Key Management Service.

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

  • SORT_BY: uma lista delimitada por vírgulas de campos name por que os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para classificação em ordem decrescente, prefixe o campo com um til (~).

Conferir o estado de uma entrada do mapa de certificados

Você pode conferir o estado de uma entrada do mapa de certificados.

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 de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapa de certificados ao qual a entrada do mapa de certificados está anexada.

API

Para conferir o estado da entrada do mapa de certificados, faça uma solicitação GET para o 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 do Google Cloud.
  • CERTIFICATE_MAP_NAME: o nome do mapa de certificados ao qual a entrada do mapa de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.

Excluir uma entrada do mapa de certificados

A exclusão de uma entrada de mapa de certificado desocega os certificados associados à entrada do mapa de certificado do proxy de destino. A exclusão de uma entrada do mapa de certificados não exclui os certificados associados de Google Cloud. É necessário excluir esses certificados manualmente.

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 de certificados.
  • CERTIFICATE_MAP_NAME: o nome do mapa de certificados ao qual a entrada do mapa de certificados está anexada.

API

Exclua uma entrada do mapa de certificados 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 do Google Cloud.
  • CERTIFICATE_MAP_NAME: o nome do mapa de certificados ao qual a entrada do mapa de certificados está anexada.
  • CERTIFICATE_MAP_ENTRY_NAME: o nome da entrada do mapa de certificados.

A seguir