Implementa un certificado regional administrado por Google con Certificate Authority Service


En este instructivo, se describe cómo usar el Administrador de certificados para implementar un certificado regional administrado por Google con el servicio de AC en un balanceador de cargas de aplicaciones externo regional o en un balanceador de cargas de aplicaciones interno regional.

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas:

  • Crea un certificado administrado por Google con CA Service usando Administrador de certificados.
  • Implementa el certificado en un balanceador de cargas compatible con un proxy HTTPS de destino.

Para obtener más información sobre el proceso de implementación de certificados, consulta Descripción general de la implementación.

Antes de comenzar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Asegúrate de tener los siguientes roles para completar las tareas de este instructivo:

    • Propietario del Administrador de certificados: Es obligatorio para crear y administrar recursos del Administrador de certificados.
    • Administrador del balanceador de cargas de Compute: Obligatorio para crear y administrar el proxy HTTPS de destino.
    • Administrador del servicio de AC: Es obligatorio para realizar acciones en de Google Cloud.

    Para obtener más información, consulta lo siguiente:

  3. Habilitar la API de Certificate Manager

  4. Habilita la API de CA Service.

  5. Crea un grupo de CA. Debes crear y habilitar al menos una AC en este grupo de AC.

Configura la integración de CA Service con el Administrador de certificados

Configurar el Administrador de certificados para realizar la integración CA Service de la siguiente manera:

  1. Crea una cuenta de servicio de Certificate Manager en el proyecto de Google Cloud de destino:

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

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud de destino.

El comando devuelve el nombre de la identidad de servicio creada, como se ve en el siguiente ejemplo:

service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
  1. Otorga a la cuenta de servicio de Certificate Manager el rol de Solicitante de certificados de servicio de AC dentro del grupo de AC de destino de la siguiente manera:

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

    Reemplaza lo siguiente:

    • CA_POOL: Es el ID del grupo de AC de destino.
    • LOCATION: Es la ubicación de destino de Google Cloud. Debes especificar la misma ubicación que el grupo de AC, el recurso de configuración de emisión de certificados y el certificado administrado.
    • SERVICE_ACCOUNT: Es el nombre completo de la cuenta de servicio. que creaste en el paso 1.
  2. Crea un recurso de configuración de emisión de certificados para tu grupo de AC:

    gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL \
        --location=LOCATION> \
        [--lifetime=CERTIFICATE_LIFETIME] \
        [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
        [--key-algorithm=KEY_ALGORITHM]
    

    Reemplaza lo siguiente:

    • ISSUANCE_CONFIG_NAME: Es el nombre único del de configuración de la emisión de certificados.
    • CA_POOL: Es la ruta de acceso y el nombre completos del grupo de AC que deseas asignar a este recurso de configuración de emisión de certificados.
    • LOCATION: Es la ubicación de destino de Google Cloud. Tú debe especificar la misma ubicación que el grupo de AC, la emisión de certificados recurso de configuración y certificado administrado.
    • CERTIFICATE_LIFETIME: el ciclo de vida del certificado en días. Los valores válidos son de 21 a 30 días en formato de duración estándar. El valor predeterminado es de 30 días (30D). Esta configuración es opcional.
    • ROTATION_WINDOW_PERCENTAGE: El porcentaje de el ciclo de vida del certificado en el que se activa una renovación. El valor predeterminado es 66 por ciento. Debes configurar el porcentaje del período de rotación en relación con la vida útil del certificado para que la renovación del certificado se realice al menos 7 días después de que se haya emitido y al menos 7 días antes de que venza. Este parámetro de configuración es opcional.
    • KEY_ALGORITHM: Es el algoritmo de encriptación que se usa para generar la clave privada. Los valores válidos son ecdsa-p256 o rsa-2048. El valor predeterminado es rsa-2048. Este parámetro de configuración es opcional.

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

Crea un certificado regional administrado por Google

Crea un certificado regional administrado por Google emitido por tu servicio de AC con el recurso de configuración de emisión de certificados que creaste en el paso anterior:

Console

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

    Ir al Administrador de certificados

  2. En la página que aparece, selecciona la pestaña Certificados.

  3. Haz clic en Agregar certificado.

  4. Ingresa un Nombre para el certificado.

    Este nombre debe ser único para el proyecto.

  5. Opcional: Ingresa la Descripción del certificado. La descripción te ayuda a identificar un certificado específico más adelante.

  6. En Ubicación, elige Regional.

  7. En la lista Región, selecciona una región.

  8. En Tipo de certificado, elige Crear certificado administrado por Google.

  9. En Tipo de autoridad certificadora, elige Privada.

  10. Especifica los nombres de dominio del certificado. Ingresa una lista de los dominios de destino delimitada por comas. Además, cada nombre de dominio debe ser un nombre de dominio completamente calificado, como myorg.example.com.

  11. En Configuración de emisión de certificados, selecciona el nombre del recurso de configuración de emisión de certificados que hace referencia al grupo de AC de destino.

  12. Especifica una etiqueta para asociarla al certificado. Si es necesario, puedes agregar más de una etiqueta. Para agregar una etiqueta, haz clic en Agregar etiqueta y especifica una key y una value para tu etiqueta.

  13. Haz clic en Crear. Verifica que el certificado nuevo aparezca en la lista de certificados.

gcloud

Ejecuta el comando siguiente:

gcloud beta certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

Reemplaza lo siguiente:

  • CERTIFICATE_NAME: Es un nombre único del certificado.
  • DOMAIN_NAMES: Es una lista delimitada por comas de los dominios de destino de este certificado. Cada nombre de dominio debe ser un dominio nombre de dominio, como myorg.example.com.
  • ISSUANCE_CONFIG_NAME: Es el nombre del recurso de configuración de emisión de certificados que hace referencia al grupo de AC de destino.
  • LOCATION: Es la ubicación de Google Cloud de destino. Tú debe especificar la misma ubicación que el grupo de AC, la emisión de certificados recurso de configuración y certificado administrado.

API

Crea el certificado mediante una solicitud POST al certificates.create de la siguiente manera:

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
 name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
 },
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto de Google Cloud de destino.
  • LOCATION: Es la ubicación de destino de Google Cloud. Debes especificar la misma ubicación que el grupo de AC, el recurso de configuración de emisión de certificados y el certificado administrado.
  • CERTIFICATE_NAME: Es un nombre único del certificado.
  • DOMAIN_NAME: Es el dominio de destino de este certificado. El nombre de dominio debe ser un nombre de dominio completamente calificado, como example.com y www.example.com.
  • ISSUANCE_CONFIG_NAME: Es el nombre del certificado. recurso de configuración de emisión que hace referencia al grupo de AC objetivo.

Para obtener una descripción general del proceso de implementación de certificados, consulta Implementación descripción general.

Verifica que el certificado esté activo

Usa el siguiente comando para verificar que el certificado esté activo antes de implementarlo en tu balanceador de cargas. Pueden pasar varios minutos hasta que estado del certificado para cambiar a ACTIVE.

gcloud beta certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION

Reemplaza lo siguiente:

  • CERTIFICATE_NAME: Es un nombre único del certificado.
  • LOCATION: Es la ubicación de destino de Google Cloud. Debes especificar la misma ubicación que el grupo de AC, el recurso de configuración de emisión de certificados y el certificado administrado.

El comando muestra un resultado 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/mylocation/issuanceConfigs/myissuanceConfig
state: ACTIVE
name: projects/myproject/locations/mylocation/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  -   myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Implementa el certificado regional administrado por Google en un balanceador de cargas

Para implementar el certificado regional administrado por Google, crea un proxy HTTPS de destino y adjuntarle el certificado.

Crea el proxy de destino HTTPS

Para crear el proxy de destino HTTPS y adjuntar el certificado, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • PROXY_NAME: Es un nombre único del proxy.
  • URL_MAP: el nombre del mapa de URL. Creaste el mapa de URL cuando creaste el balanceador de cargas.
  • REGION: La región en la que estás creando el proxy HTTPS de destino.
  • CERTIFICATE_NAME: el nombre del certificado

Para verificar si se creó el proxy de destino, ejecuta el siguiente comando:

gcloud compute target-https-proxies list

Cree una regla de reenvío.

Configura una regla de reenvío y termina de configurar el balanceador de cargas.

Limpia

Para revertir los cambios que realizaste en este instructivo, completa los siguientes pasos: pasos:

  1. Borra el certificado administrado por Google:

    Console

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

      Ir al Administrador de certificados

    2. En la pestaña Certificados, selecciona la casilla de verificación del certificado.

    3. Haz clic en Borrar.

    4. En el cuadro de diálogo que aparece, haz clic en Borrar para confirmar.

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • CERTIFICATE_NAME: Es el nombre del certificado.
    • LOCATION: la ubicación de destino de Google Cloud
  2. Borra el recurso de configuración de emisión de certificados:

    Console

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

      Ir al Administrador de certificados

    2. En la pestaña Issuance Configs, selecciona la casilla de verificación de la de la configuración de emisión.

    3. Haz clic en Borrar.

    4. En el cuadro de diálogo que aparece, haz clic en Borrar para confirmar.

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \
        --location=LOCATION
    

    Reemplaza lo siguiente:

    • ISSUANCE_CONFIG_NAME: Es el nombre de la configuración de emisión.
    • LOCATION: La ubicación de Google Cloud de destino
  3. Borra el grupo de AC como se describe en Borra una AC grupo.

    Ten en cuenta que, para inhabilitar la última AC que habilitaste en el grupo de AC al que se hace referencia en el recurso de configuración de emisión de certificados, o para borrar por completo el grupo de AC al que se hace referencia, primero debes borrar todos los recursos de configuración de emisión de certificados que hagan referencia a ese grupo de AC.

Soluciona problemas

Para obtener información sobre los pasos de solución de problemas, consulta Problemas relacionados con certificados emitidos por una CA Service.

¿Qué sigue?