Implementa un certificado autoadministrado global


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

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 necesario 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 requiere 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 la clave asociada.

  2. Verifica que el certificado esté encadenado correctamente y que sea de confianza para la raíz.

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

    • El 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

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. Ingresa la Descripción del certificado (opcional). La descripción te ayuda a identificar un certificado específico más adelante.

  6. En Ubicación, elige Global.

  7. En Alcance, elige cualquiera de las siguientes opciones:

    1. Predeterminado: Elige la configuración predeterminada para el Balanceador de cargas de aplicaciones externo global, un Balanceador de cargas de aplicaciones clásico o un Balanceador de cargas de red del proxy externo global.
    2. Todas las regiones: Elige todas las regiones para un balanceador de cargas de aplicaciones interno entre regiones.
  8. En Tipo de certificado, elige Crear certificado autoadministrado.

  9. En el campo Certificado, realiza cualquiera de las siguientes acciones:

    • Haz clic en el botón Subir y selecciona el archivo de certificado con formato PEM.
    • Copia y pega el contenido de un certificado con formato PEM. El contenido debe comenzar con -----BEGIN CERTIFICATE----- y terminar con -----END CERTIFICATE-----.
  10. En el campo Certificado de clave privada, realiza cualquiera de las siguientes acciones:

    • Haz clic en el botón Subir y selecciona tu clave privada. Tu clave privada debe tener formato PEM y no debe estar protegida con una frase de contraseña.
    • Copia y pega el contenido de una clave privada con el formato PEM. Las claves privadas deben comenzar con -----BEGIN PRIVATE KEY----- y terminar con -----END PRIVATE KEY-----.
  11. Especifica una etiqueta para asociarla al certificado. Puedes agregar más de una etiqueta, si es necesario. Para agregar una etiqueta, haz clic en el botón Agregar etiqueta y especifica una key y una value para tu etiqueta.

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

gcloud

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 del proxy externo global, usa este comando:

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 del certificado de CRT
  • PRIVATE_KEY_FILE: La ruta de acceso y el nombre de archivo del archivo de claves privadas de la CLAVE

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 del certificado de CRT
  • PRIVATE_KEY_FILE: La ruta de acceso y el nombre de archivo del archivo de claves privadas de la CLAVE

Implementa el certificado autoadministrado en un balanceador de cargas

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

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

Implementa el certificado con un mapa de certificados

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

Crea un mapa de certificados

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

gcloud certificate-manager maps create CERTIFICATE_MAP_NAME

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

Crea una entrada de mapa de certificados

Crea una entrada de mapa de certificados 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 del mapa de certificados.
  • CERTIFICATE_MAP_NAME: Es el nombre del mapa de certificados al que se adjunta la entrada del mapa de certificados.
  • 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.

Cómo verificar 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 del mapa de certificados.
  • CERTIFICATE_MAP_NAME: Es el nombre del mapa de certificados al que se adjunta la entrada del mapa de certificados.

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

certificates:
createTime: '2021-09-06T10:01:56.229472109Z'
hostname: example.com
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.

Conecta el mapa de certificados al proxy de destino

Para conectar 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 algún certificado TLS (SSL) se adjunta directamente al proxy, este da prioridad a los certificados a los que hace referencia el mapa de certificados en lugar de los certificados adjuntos de forma directa.

Crear 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 desvincular el mapa de certificados.
    • Si desconectas el mapa de certificados de un proxy, este podrá reanudar el uso de certificados TLS (SSL) que se adjuntaron 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 del 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 de certificados 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?