Desplegar un certificado gestionado por Google entre regiones con el Servicio de Autoridades de Certificación

En este tutorial se muestra cómo usar Certificate Manager para desplegar un certificado global gestionado por Google con Servicio de Autoridades de Certificación en un balanceador de carga de aplicaciones interno multirregión.

Si quieres desplegar balanceadores de carga externos globales o regionales, consulta lo siguiente:

Configurar la integración del Servicio de Autoridades de Certificación con el Administrador de certificados

Para integrar el servicio de CA con Certificate Manager, sigue estos pasos:

  1. En el proyecto de destino, Google Cloud crea una cuenta de servicio de Certificate Manager:

    gcloud beta services identity create --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    Sustituye PROJECT_ID por el ID del proyecto de destinoGoogle Cloud .

    El comando devuelve el nombre de la identidad de servicio creada. Consulta el siguiente ejemplo:

    service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
    
  2. Asigna el rol Solicitante del certificado del Servicio de Autoridades de Certificación (roles/privateca.certificateRequester) a la cuenta de servicio de Certificate Manager en el grupo de AC de destino:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    Haz los cambios siguientes:

    • CA_POOL: el ID del grupo de AC de destino.
    • LOCATION: la ubicación de destino. Google Cloud
    • SERVICE_ACCOUNT: el nombre completo de la cuenta de servicio que has creado en el paso 1.
  3. Crea un recurso de configuración de emisión de certificados para tu grupo de autoridades de certificación:

    Consola

    1. En la consola, ve a la pestaña Configs de emisión de la página Gestor de certificados. Google Cloud

      Ir a Certificate Manager

    2. Haz clic en Crear. Se mostrará la página Create a Certificate Issuance Config (Crear una configuración de emisión de certificados).

    3. En el campo Name (Nombre), introduce un nombre único para la configuración de emisión del certificado.

    4. Opcional: En el campo Descripción, escribe una descripción de la configuración de emisión.

    5. En Ubicación, selecciona Global.

    6. Opcional: En el campo Tiempo de vida, especifica el tiempo de vida del certificado emitido en días. El valor debe estar entre 21 y 30 días (ambos incluidos).

    7. Opcional: En Porcentaje de la ventana de rotación, especifica el porcentaje del tiempo de validez del certificado en el que se iniciará el proceso de renovación. Para consultar el intervalo de valores válidos, consulta Ventana de tiempo de vida y rotación (porcentaje).

    8. Opcional: En la lista Algoritmo de clave, seleccione el algoritmo de clave que quiera usar al generar la clave privada.

    9. En la lista Grupo de ACs, selecciona el nombre del grupo de ACs que quieras asignar a este recurso de configuración de emisión de certificados.

    10. En el campo Etiquetas, especifica las etiquetas que quieras asociar al certificado. Para añadir una etiqueta, haga clic en Añadir etiqueta y especifique una clave y un valor para la etiqueta.

    11. Haz clic en Crear.

    gcloud

    gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL
    

    Haz los cambios siguientes:

    • ISSUANCE_CONFIG_NAME: el nombre del recurso de configuración de emisión del certificado.
    • CA_POOL: la ruta y el nombre completos del recurso de grupo de AC que quieras asignar a este recurso de configuración de emisión de certificados.

    Para obtener más información sobre los recursos de configuración de emisión de certificados, consulta Gestionar recursos de configuración de emisión de certificados.

Crear un certificado gestionado por Google emitido por tu instancia del Servicio de Autoridades de Certificación

Para crear un certificado gestionado por Google emitido por tu instancia de Servicio de Autoridades de Certificación, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Gestor de certificados.

    Ir a Certificate Manager

  2. En la pestaña Certificados, haz clic en Añadir certificado.

  3. En el campo Nombre del certificado, introduce un nombre único para el certificado.

  4. Opcional: En el campo Descripción, escribe una descripción del certificado. La descripción te permite identificar el certificado.

  5. En Ubicación, selecciona Global.

  6. En Ámbito, selecciona Todas las regiones.

  7. En Tipo de certificado, selecciona Crear certificado gestionado por Google.

  8. En Tipo de autoridad de certificación, selecciona Privada.

  9. En el campo Domain Names (Nombres de dominio), especifique una lista de nombres de dominio del certificado delimitados por comas. Cada nombre de dominio debe ser un nombre de dominio completo, como myorg.example.com.

  10. En Select a certificate issuance config (Seleccionar una configuración de emisión de certificados), selecciona el nombre del recurso de configuración de emisión de certificados que haga referencia al grupo de ACs de destino.

  11. En el campo Etiquetas, especifica las etiquetas que quieras asociar al certificado. Para añadir una etiqueta, haz clic en Añadir etiqueta y especifica una clave y un valor para la etiqueta.

  12. Haz clic en Crear.

    El nuevo certificado aparece en la lista de certificados.

gcloud

Para crear un certificado gestionado por Google entre regiones con Servicio de Autoridades de Certificación, usa el certificate-manager certificates create comando con las marcas issuance-config y --scope:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config=ISSUANCE_CONFIG_NAME \
    --scope=all-regions

Haz los cambios siguientes:

  • CERTIFICATE_NAME: el nombre del certificado.
  • DOMAIN_NAME: el nombre del dominio de destino. El nombre de dominio debe ser un nombre de dominio completo, como myorg.example.com.
  • ISSUANCE_CONFIG_NAME: el nombre del recurso de configuración de emisión de certificados que hace referencia al grupo de ACs de destino.

API

Para crear el certificado, haz una solicitud POST al método certificates.create de la siguiente manera:

POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
  "scope": "ALL_REGIONS"
 }
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del Google Cloud proyecto.
  • CERTIFICATE_NAME: el nombre del certificado.
  • DOMAIN_NAME: el nombre del dominio de destino. El nombre de dominio debe ser un nombre de dominio completo, como myorg.example.com.
  • ISSUANCE_CONFIG_NAME: el nombre del recurso de configuración de emisión de certificados que hace referencia al grupo de ACs de destino.

Verificar el estado del certificado

Antes de implementar un certificado en un balanceador de carga, comprueba que esté activo. El estado del certificado puede tardar varios minutos en cambiar a ACTIVE.

Consola

  1. En la Google Cloud consola, ve a la página Gestor de certificados.

    Ir a Certificate Manager

  2. En la pestaña Certificados, consulta la columna Estado del certificado.

gcloud

Para verificar el estado del certificado, ejecuta el siguiente comando:

gcloud certificate-manager certificates describe CERTIFICATE_NAME

Sustituye CERTIFICATE_NAME por el nombre del certificado gestionado por Google de destino.

El resultado debería ser similar al siguiente:

createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
  domains:
  - myorg.example.com
  issuanceConfig: projects/myproject/locations/global/issuanceConfigs/myissuanceConfig
  state: ACTIVE
name: projects/myproject/locations/global/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  - myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Para ver más pasos para solucionar problemas, consulta Solucionar problemas de Gestor de certificados.

Implementar el certificado en un balanceador de carga

Para desplegar el certificado global gestionado por Google, adjúntalo directamente al proxy de destino.

Adjuntar el certificado directamente al proxy de destino

Puede adjuntar el certificado a un proxy de destino nuevo o a uno que ya tenga.

Para adjuntar el certificado a un nuevo proxy de destino, usa el gcloud compute target-https-proxies create comando:

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --certificate-manager-certificates=CERTIFICATE_NAME \
    --global

Haz los cambios siguientes:

  • PROXY_NAME: el nombre del proxy de destino.
  • URL_MAP: nombre del mapa de URLs. Creaste el mapa de URLs al crear el balanceador de carga.
  • CERTIFICATE_NAME: el nombre del certificado.

Para adjuntar el certificado a un proxy HTTPS de destino, usa el gcloud compute target-https-proxies update comando. Si no sabes el nombre del proxy de destino, ve a la página Proxies de destino y anota el nombre del proxy de destino.

gcloud compute target-https-proxies update PROXY_NAME \
    --global \
    --certificate-manager-certificates=CERTIFICATE_NAME

Después de crear o actualizar el proxy de destino, ejecuta el siguiente comando para verificarlo:

gcloud compute target-https-proxies list

Solucionar problemas con certificados emitidos por el Servicio de Autoridades de Certificación

Para ver los pasos para solucionar problemas, consulta Problemas relacionados con los certificados emitidos por una instancia de servicio de CA.

Limpieza

Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en este tutorial, elimínalos.

  1. Elimina el balanceador de carga y sus recursos.

    Consulta Limpiar la configuración de un balanceador de carga.

  2. Elimina el certificado gestionado por Google:

    Consola

    1. En la Google Cloud consola, ve a la página Gestor de certificados.

      Ir a Certificate Manager

    2. En la pestaña Certificados, marca la casilla del certificado.

    3. Haz clic en Eliminar.

    4. En el cuadro de diálogo que aparece, haz clic en Eliminar para confirmar la acción.

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME
    

    Sustituye CERTIFICATE_NAME por el nombre del certificado de destino.

  3. Elimina el recurso de configuración de emisión de certificados:

    Consola

    1. En la consola, ve a la pestaña Configs de emisión de la página Gestor de certificados. Google Cloud

      Ir a Certificate Manager

    2. Seleccione la casilla del recurso de configuración de emisión que quiera eliminar.

    3. Haz clic en Eliminar.

    4. En el cuadro de diálogo que aparece, haz clic en Eliminar para confirmar la acción.

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
    

    Sustituye ISSUANCE_CONFIG_NAME por el nombre del recurso de configuración de emisión de certificados de destino.

  4. Elimina el grupo de ACs.

    Para eliminar el grupo de AC o inhabilitar la última AC habilitada de un grupo de AC al que haga referencia un recurso de configuración de emisión de certificados, elimina todas las configuraciones de emisión de certificados que hagan referencia al grupo de AC. Para obtener más información, consulta Eliminar un grupo de CAs.