Implementa un certificado autoadministrado global


En este instructivo, se describe cómo usar el Administrador de certificados para implementar un certificado autoadministrado global.

Los siguientes balanceadores de cargas admiten certificados autoadministrados globales:

  • Balanceador de cargas de aplicaciones externo global
  • Balanceador de cargas de aplicaciones clásico
  • Balanceador de cargas de red del proxy externo global
  • Balanceador de cargas de aplicaciones interno entre regiones

Para implementar un certificado autoadministrado en un balanceador de cargas de aplicaciones externo regional o en un balanceador de cargas de aplicaciones interno regional, consulta Implementa un certificado autoadministrado regional.

Objetivos

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

  • Subir un certificado autoadministrado al Administrador de certificados
  • Implementar el certificado en un balanceador de cargas compatible mediante 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. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  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 los recursos del Administrador de certificados.
    • Administrador del balanceador de cargas de Compute o Administrador de la red de Compute: Se necesita para crear y administrar el proxy de destino HTTPS.

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

Crea el balanceador de cargas

Crea el balanceador de cargas en el que deseas implementar el certificado.

En el resto de este instructivo, se supone que ya configuraste los backends, la verificación de estado, el servicio de backend y el mapa de URL del balanceador de cargas. Anota el nombre del mapa de URL porque lo necesitarás más adelante en este instructivo.

Crea una clave privada y un certificado

Para crear una clave privada y un certificado, haz lo siguiente:

  1. Usa una autoridad certificadora (AC) de terceros de confianza para emitir el certificado junto con su clave asociada.

  2. Verifica que el certificado esté encadenado de forma correcta y sea de confianza.

  3. Prepara los siguientes archivos con codificación PEM:

    • Archivo de certificado (CRT)
    • El archivo de clave privada correspondiente (KEY)

Para obtener información sobre cómo solicitar y validar un certificado, consulta Crea una clave privada y un certificado.

Subir un certificado autoadministrado al Administrador de certificados

Para subir el certificado al Administrador de certificados, haz lo siguiente:

Para un balanceador de cargas de aplicaciones externo global, un balanceador de cargas de aplicaciones clásico o un balanceador de cargas de red de proxy externo global:

Ejecuta el siguiente comando:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE"

Reemplaza lo siguiente:

  • CERTIFICATE_NAME: Es el nombre único del certificado.
  • CERTIFICATE_FILE: La ruta de acceso y el nombre de archivo del archivo de certificado de CRT
  • PRIVATE_KEY_FILE: La ruta de acceso y el nombre de archivo del archivo de claves privadas KEY

Para un balanceador de cargas de aplicaciones interno entre regiones, haz lo siguiente:

Ejecuta el siguiente comando:

gcloud certificate-manager certificates create CERTIFICATE_NAME \
    --certificate-file="CERTIFICATE_FILE" \
    --private-key-file="PRIVATE_KEY_FILE" \
    --scope=all-regions

Reemplaza lo siguiente:

  • CERTIFICATE_NAME: Es el nombre único del certificado.
  • CERTIFICATE_FILE: La ruta de acceso y el nombre de archivo del archivo de certificado de CRT
  • PRIVATE_KEY_FILE: La ruta de acceso y el nombre de archivo del archivo de claves privadas KEY

Implementa el certificado autoadministrado en un balanceador de cargas

En las siguientes secciones, se describe cómo implementar el certificado autoadministrado que subiste al Administrador de certificados en un balanceador de cargas.

Según el tipo de balanceador de cargas, puedes implementar certificados de la siguiente manera:

Implementa el certificado mediante un mapa de certificados

En esta sección, se describen los pasos para implementar un certificado mediante un mapa de certificados.

Crea un mapa de certificados

Crea un mapa de certificados que haga referencia a la entrada de mapa de certificado asociada con tu certificado:

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

Reemplaza CERTIFICATE_MAP_NAME por el nombre del mapa del certificado de destino.

Crea una entrada de mapa de certificado

Crea una entrada de mapa de certificado y asóciala con tu certificado autoadministrado y tu mapa de certificados:

gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME" \
    --hostname="HOSTNAME"

Reemplaza lo siguiente:

  • CERTIFICATE_MAP_ENTRY_NAME: Es un nombre único de la entrada de mapa del certificado.
  • CERTIFICATE_MAP_NAME: Es el nombre del mapa de certificado al que se adjunta la entrada de mapa de certificado.
  • CERTIFICATE_NAME: Es el nombre del certificado que deseas asociar con la entrada del mapa de certificados.
  • HOSTNAME: Es el nombre de host que deseas asociar con la entrada del mapa de certificados.

Verifica que la entrada del mapa de certificados esté activa

Antes de adjuntar el mapa de certificados al proxy de destino, ejecuta el siguiente comando para verificar si la entrada del mapa de certificados está activa:

gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

Reemplaza lo siguiente:

  • CERTIFICATE_MAP_ENTRY_NAME: Es un nombre único de la entrada de mapa del certificado.
  • CERTIFICATE_MAP_NAME: Es el nombre del mapa de certificado al que se adjunta la entrada de mapa de certificado.

Si la entrada de mapa de certificados está activa, Google Cloud CLI mostrará un resultado similar al siguiente:

createTime: '2021-09-06T10:01:56.229472109Z'
name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry
state: ACTIVE
updateTime: '2021-09-06T10:01:58.277031787Z'

Crea el proxy de destino HTTPS

Para crear un proxy de destino HTTPS, consulta Crea un proxy de destino.

Adjunta el mapa de certificados al proxy de destino

Para adjuntar el mapa de certificados configurado al proxy de destino, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Proxies de destino.

    Ir a Proxies de destino

  2. Anota el nombre del proxy de destino.

  3. Para adjuntar el mapa de certificados al proxy de destino, ejecuta el siguiente comando:

    gcloud compute target-https-proxies update PROXY_NAME \
       --certificate-map="CERTIFICATE_MAP_NAME"
    

    Reemplaza lo siguiente:

    • PROXY_NAME: Es el nombre del proxy de destino.
    • CERTIFICATE_MAP_NAME: Es el nombre del mapa de certificados que hace referencia a tu entrada de mapa de certificados y al certificado asociado.

Si se adjunta algún certificado TLS (SSL) de forma directa al proxy, el proxy da prioridad a los certificados a los que hace referencia el mapa de certificados en lugar de los certificados conectados directamente.

Cree una regla de reenvío.

Configura una regla de reenvío y termina de configurar el balanceador de cargas. Para obtener más información, consulta Usa reglas de reenvío.

Adjunta el certificado directamente al proxy de destino

Para adjuntar el certificado directamente al proxy, ejecuta el siguiente comando:

gcloud compute target-https-proxies update PROXY_NAME \
    --url-map=URL_MAP \
    --global \
    --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.
  • CERTIFICATE_NAME: Es el nombre del certificado.

Limpia

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

  1. Desconecta el mapa de certificados del proxy:

    gcloud compute target-https-proxies update PROXY_NAME \
       --clear-certificate-map
    

    Reemplaza PROXY_NAME por el nombre del proxy de destino.

    Antes de desvincular el mapa de certificados del proxy, ten en cuenta lo siguiente:

    • Asegúrate de que al menos un certificado TLS (SSL) esté conectado directamente al proxy. Si no hay certificados adjuntos al proxy, no puedes desconectar el mapa de certificados.
    • Si desvinculas el mapa de certificados de un proxy, este podrá reanudar el uso de certificados TLS (SSL) conectados directamente al proxy.
  2. Borra la entrada del mapa de certificados del mapa de certificados:

    gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
       --map="CERTIFICATE_MAP_NAME"
    

    Reemplaza lo siguiente:

    • CERTIFICATE_MAP_ENTRY_NAME: Es el nombre de la entrada de mapa de certificados de destino.
    • CERTIFICATE_MAP_NAME: Es el nombre del mapa de certificados de destino.
  3. Borra el mapa de certificados:

    gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
    

    Reemplaza CERTIFICATE_MAP_NAME por el nombre del mapa del certificado de destino.

  4. Borra el certificado que subiste:

    gcloud certificate-manager certificates delete CERTIFICATE_NAME
    

    Reemplaza CERTIFICATE_NAME por el nombre del certificado de destino.

¿Qué sigue?