Administrar las autorizaciones de DNS

En esta sección, se describe cómo crear y administrar autorizaciones de DNS para su uso. 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 de Certificate Manager.

Crea una autorización de DNS

Para crear una autorización de DNS, completa los pasos de esta sección. Debido a que cada La autorización de DNS cubre solo un nombre de dominio, debes crear un autorización para cada nombre de dominio que quieras usar con el destino certificado.

Para administrar certificados de forma independiente en varios proyectos, puedes usar la autorización de DNS por proyecto. El Administrador de certificados puede emitir y administrar certificados para cada proyecto de forma independiente en Google Cloud. las autorizaciones de DNS y los certificados que usas en 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 destino Proyecto de Google Cloud:

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

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

gcloud

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

El tipo de autorización de DNS predeterminado para un certificado global administrado por Google es FIXED_RECORD. Para usar la autorización de DNS por proyecto, 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 creas esta autorización de DNS. El nombre de dominio debe ser un nombre de usuario nombre de dominio, 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 google_certificate_manager_dns_authorization recurso.

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 esto. Autorización de DNS.
  • DOMAIN_NAME: Es el nombre del dominio para el que creas esta autorización de DNS. El nombre de dominio debe ser un nombre de usuario nombre de dominio, 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 esto registro CNAME en 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 que se indican en esta sección. De lo contrario, consulta la documentación de tu solución de DNS de terceros.

Para obtener más información sobre cómo el Administrador de certificados usa esto registro CNAME para verificar la propiedad del dominio, consulte 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 devuelve el comando gcloud que creó el DNS correspondiente autorización.
    • 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 de el nombre de dominio de destino.
    • DNS_ZONE_NAME: Es el nombre de la zona de 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 google_dns_record_set recurso.

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.

Actualiza una autorización de DNS

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

  • Especifica etiquetas nuevas
  • Especifica una descripción nueva

Para completar esta tarea, debes tener uno de los siguientes roles en el destino Proyecto 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: 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: 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 aplicado a esta autorización de DNS.

Enumerar autorizaciones de DNS

Para obtener una lista de las autorizaciones de DNS configuradas, completa los pasos que se indican en esta sección.

Para completar esta tarea, debes tener uno de los siguientes roles en el destino Proyecto 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 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 Administrador de certificados, consulta Cómo ordenar y filtrar 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 por los que se ordenan los resultados que se muestran. El orden predeterminado es ascendente. Para un orden descendente, prefija el campo con una virgulilla (~).

API

Para enumerar todas las autorizaciones de DNS configuradas, envía una solicitud GET al el 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 el valor que se muestra. resultados a valores específicos.
  • PAGE_SIZE: Es la cantidad de resultados que se mostrarán por página.
  • SORT_BY: una lista delimitada por comas de nombres de campo por los que los resultados que se muestran están ordenados. El orden de clasificación predeterminado es ascendente. Para obtener un orden descendente, agrega una virgulilla (~) como prefijo al campo.

Borra una autorización de DNS

Para borrar una autorización de DNS, completa los pasos de esta sección. Para borrar un Autorización de DNS asignada a uno o más administradores certificados, debes borrarlos antes de borrar la autorización de DNS.

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

gcloud

gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME

Reemplaza lo siguiente:

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

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 del DNS de destino. autorización.

¿Qué sigue?