Administrar las autorizaciones de DNS

En esta sección, se describe cómo crear y administrar autorizaciones de DNS para usar con certificados administrados por Google.

Para obtener más información sobre las autorizaciones de DNS, consulta Cómo funciona el Administrador de certificados.

Para aprender a implementar un certificado con el Administrador de certificados, consulta Descripción general de la implementación.

Para obtener más información sobre los comandos de gcloud CLI que se usan en esta página, consulta la API del Administrador de certificados.

Crea una autorización de DNS

Para crear una autorización de DNS, completa los pasos que se indican en esta sección. Debido a que cada autorización de DNS abarca solo un nombre de dominio único, debes crear una autorización de DNS para cada nombre de dominio que desees usar con el certificado de destino.

Para administrar certificados de forma independiente en varios proyectos, puedes usar la autorización de DNS por proyecto (Vista previa). El Administrador de certificados puede manejar la emisión y la administración de certificados para cada proyecto de forma independiente dentro de Google Cloud. Los certificados y las autorizaciones de DNS que usas dentro de un proyecto son independientes y no interactúan con los de otros proyectos.

Para completar esta tarea, debes tener uno de los siguientes roles en el proyecto de destino de Google Cloud:

  • Editor del Administrador de certificados
  • Propietario del Administrador de certificados

Para obtener más información, consulta Funciones y permisos.

gcloud

 gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
     --domain="DOMAIN_NAME" \
 gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Para utilizar la autorización de DNS por proyecto (vista previa), ejecuta el siguiente comando:

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --type="PER_PROJECT_RECORD" \
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Reemplaza lo siguiente:

  • AUTHORIZATION_NAME: Es un nombre único que describe esta autorización de DNS.
  • DOMAIN_NAME: Es el nombre del dominio para el que crearás esta autorización de DNS. El nombre de dominio debe ser un nombre de dominio completamente calificado, como myorg.example.com.

Este comando muestra el registro CNAME que debes agregar a tu configuración de DNS. Por ejemplo:

createTime: '2022-01-14T13:35:00.258409106Z'
dnsResourceRecord:
  data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog.
  name: _acme-challenge.myorg.example.com.
  type: CNAME
domain: myorg.example.com
name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization
updateTime: '2022-01-14T13:35:01.571086137Z'

Terraform

Para crear una autorización de DNS, puedes usar un recurso google_certificate_manager_dns_authorization.

resource "google_certificate_manager_dns_authorization" "default" {
  name        = "${local.name}-dnsauth-${random_id.tf_prefix.hex}"
  description = "The default dns auth"
  domain      = local.domain
  labels = {
    "terraform" : true
  }
}

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

API

Para crear una autorización de DNS, realiza una solicitud POST al método dnsAuthorizations.create de la siguiente manera:

POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME"
{
  "domain": "DOMAIN_NAME",
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud de destino.
  • AUTHORIZATION_NAME: Es un nombre único que describe esta autorización de DNS.
  • DOMAIN_NAME: Es el nombre del dominio para el que crearás esta autorización de DNS. El nombre de dominio debe ser un nombre de dominio completamente calificado, como myorg.example.com.

Agrega el registro CNAME a tu configuración de DNS

Cuando creas una autorización de DNS, Google Cloud muestra el registro CNAME correspondiente para el subdominio de validación. Debes agregar este registro CNAME a tu configuración de DNS en la zona de DNS del dominio de destino. Si usas Google Cloud para administrar tu DNS, completa los pasos de esta sección. De lo contrario, consulta la documentación de tu solución de DNS de terceros.

Si quieres obtener más información sobre cómo el Administrador de certificados usa este registro CNAME para verificar la propiedad del dominio, consulta Autorizaciones de dominio para certificados administrados por Google.

gcloud

  1. Inicia la transacción del registro DNS:

    gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
    

    Reemplaza lo siguiente:

    • DNS_ZONE_NAME: Es el nombre de la zona del DNS de destino.
  2. Agrega el registro CNAME a la zona del DNS de destino:

    gcloud dns record-sets transaction add CNAME_RECORD \
       --name="_acme-challenge.DOMAIN_NAME." \
       --ttl="30" \
       --type="CNAME" \
       --zone="DNS_ZONE_NAME"
    

    Reemplaza lo siguiente:

    • CNAME_RECORD: Es el valor completo del registro CNAME que muestra el comando gcloud que creó la autorización de DNS correspondiente.
    • DOMAIN_NAME: Es el nombre del dominio de destino. El nombre de dominio debe ser un nombre de dominio completamente calificado, como myorg.example.com. También debes incluir el punto final después del nombre de dominio de destino.
    • DNS_ZONE_NAME: Es el nombre de la zona del DNS de destino.
  3. Ejecuta la transacción del registro DNS para guardar los cambios:

    gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
    

    Reemplaza lo siguiente:

    • DNS_ZONE_NAME: Es el nombre de la zona del DNS de destino.

Terraform

Para agregar el registro CNAME a tu configuración de DNS, puedes usar un recurso google_dns_record_set.

resource "google_dns_record_set" "cname" {
  name         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].name
  managed_zone = google_dns_managed_zone.default.name
  type         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].type
  ttl          = 300
  rrdatas      = [google_certificate_manager_dns_authorization.default.dns_resource_record[0].data]
}

Para obtener más información sobre los registros DNS, consulta Administra registros.

Actualizar una autorización de DNS

Para actualizar una autorización de DNS, completa los pasos que se indican en esta sección. Puedes actualizar una autorización de DNS de la siguiente manera:

  • Especificar etiquetas nuevas
  • Especifica una nueva descripción

Para completar esta tarea, debes tener uno de los siguientes roles en el proyecto de destino de Google Cloud:

  • Editor del Administrador de certificados
  • Propietario del Administrador de certificados

Para obtener más información, consulta Funciones y permisos.

gcloud

 gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \
     --update-labels="LABELS" \
     --description="DESCRIPTION"

Reemplaza lo siguiente:

  • AUTHORIZATION_NAME: Es el nombre de la autorización de DNS de destino.
  • LABELS: Es una marca opcional que especifica las etiquetas para esta autorización de DNS.
  • DESCRIPTION: Es una marca opcional que especifica la descripción de esta autorización de DNS.

API

Para actualizar una autorización de DNS, realiza una solicitud PATCH al método dnsAuthorizations.patch de la siguiente manera:

PATCH /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME?updateMask=labels,description"
{
    description: "DESCRIPTION",
    labels: { "LABEL_KEY": "LABEL_VALUE" }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud de destino.
  • AUTHORIZATION_NAME: Es el nombre de la autorización de DNS de destino.
  • DESCRIPTION: Es un campo opcional que especifica la descripción de esta autorización de DNS.
  • LABEL_KEY: Es una clave de etiqueta aplicada a esta autorización de DNS.
  • LABEL_VALUE: Es un valor de etiqueta que se aplica a esta autorización de DNS.

Enumera las autorizaciones de DNS

Para enumerar todas las autorizaciones de DNS configuradas, completa los pasos de esta sección.

Para completar esta tarea, debes tener uno de los siguientes roles en el proyecto de destino de Google Cloud:

  • Visualizador del administrador de certificados
  • Editor del Administrador de certificados
  • Propietario del Administrador de certificados

Para obtener más información, consulta Funciones y permisos.

gcloud

gcloud certificate-manager dns-authorizations list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

Reemplaza lo siguiente:

  • FILTER: Es una expresión que restringe los resultados que se muestran a valores específicos. Por ejemplo, puedes filtrar los resultados según los siguientes criterios:

    • Dominio: --filter='domain=myorg.example.com'
    • Etiquetas y hora de creación: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Para ver más ejemplos de filtros que puedes usar con el Administrador de certificados, consulta Ordena y filtra resultados de listas en la documentación de Cloud Key Management Service.

  • PAGE_SIZE: Es la cantidad de resultados que se mostrarán por página.

  • LIMIT: Es la cantidad máxima de resultados que se mostrarán.

  • SORT_BY: Es una lista delimitada por comas de campos name según la cual se ordenan los resultados que se muestran. El orden predeterminado es ascendente. Para establecer un orden de clasificación descendente, prefija el campo con una virgulilla (~).

API

Para enumerar todas las autorizaciones de DNS configuradas, realiza una solicitud GET al método dnsAuthorizations.list de la siguiente manera:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud de destino.
  • FILTER: Es una expresión que restringe los resultados que se muestran a valores específicos.
  • PAGE_SIZE: Es la cantidad de resultados que se mostrarán por página.
  • SORT_BY: Es una lista delimitada por comas de nombres de campo según la cual se ordenan los resultados que se muestran. El orden predeterminado es ascendente. Para establecer un orden de clasificación descendente, prefija el campo con una virgulilla (~).

Borrar una autorización de DNS

Para borrar una autorización de DNS, completa los pasos que se indican en esta sección. Para borrar una autorización de DNS asignada a uno o más certificados administrados por Google, debes borrar esos certificados antes de poder borrar la autorización de DNS.

Para completar esta tarea, debes tener el rol Propietario del Administrador de certificados en el proyecto de destino de Google Cloud. Para obtener más información, consulta Funciones y permisos.

gcloud

gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME

Reemplaza lo siguiente:

  • AUTHORIZATION_NAME: Es el nombre de la autorización de DNS de destino.

API

Para borrar una autorización de DNS, realiza una solicitud DELETE al método dnsAuthorizations.delete de la siguiente manera:

DELETE /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de Google Cloud de destino.
  • AUTHORIZATION_NAME: Es el nombre de la autorización de DNS de destino.

¿Qué sigue?