Agrega CAs personalizadas al paquete de confianza del sistema

En esta página, se explica cómo agregar certificados de autoridad certificadora (CA) personalizados al paquete de confianza del sistema en Google Distributed Cloud (GDC) aislado. Un paquete de confianza es una colección de AC de confianza que los servicios de tu organización usan para verificar la identidad de otros servicios. Si agregas tus propias AC personalizadas, puedes controlar en qué certificados confía tu organización, lo que permite conexiones seguras a tus recursos internos y otros extremos de confianza.

En esta página, se explica cómo agregar AC personalizadas al paquete de confianza del sistema de trust-store-root-ext. Cuando modificas el paquete de confianza trust-store-root-ext, los cambios se propagan automáticamente al paquete trust-store-global-root-ext, lo que hace que tus AC personalizadas estén disponibles en todas las zonas.

Esta página está dirigida a públicos dentro del grupo de administradores de la plataforma (como los administradores de TI) que necesitan administrar y proteger los recursos de su organización dentro de GDC. Para obtener más información, consulta Públicos de la documentación de GDC aislado.

Antes de comenzar

Para agregar certificados de AC personalizados al paquete de confianza del sistema, debes solicitar los permisos necesarios y preparar tu entorno.

Solicita roles de IAM

Para crear, leer, actualizar y borrar secretos, comunícate con el administrador de la organización de IAM y solicita el rol de administrador del almacén de confianza (trust-store-admin).

Prepara el entorno

Genera un archivo kubeconfig

Completa los siguientes pasos para generar el archivo kubeconfig del clúster de infraestructura de la organización y establecerlo como la variable KUBECONFIG que se usará más adelante.

  1. Visualiza todas las zonas disponibles:

    gdcloud zones list
    

    Anota el nombre de la zona que aloja tu recurso personalizado.

  2. Establece la variable de entorno ZONE en la zona que aloja el clúster de infraestructura de la organización:

    export ZONE="ZONE"
    

    Reemplaza ZONE por el nombre de la zona.

  3. Establece la variable de entorno ORG_INFRA_CLUSTER:

    export ORG_INFRA_CLUSTER="ORG_NAME-infra"
    

    Reemplaza ORG_NAME por el nombre de tu organización, como org-1.

  4. Genera el archivo kubeconfig del clúster de infraestructura de la organización para la zona de destino y valida las credenciales:

    export KUBECONFIG=${HOME}/${ORG_INFRA_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${ORG_INFRA_CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${ORG_INFRA_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    El comando rm ${KUBECONFIG:?} quita el archivo kubeconfig existente en el directorio principal. Cuando generas un archivo kubeconfig nuevo, se reemplaza el existente. Si no quieres reemplazar ni quitar el archivo existente, crea una copia de seguridad en otra ubicación segura.

Agrega ACs personalizadas al paquete de confianza del sistema

Para agregar AC personalizadas al paquete de confianza del sistema de trust-store-root-ext, debes preparar tu recurso de AC personalizada y, luego, aplicarlo al clúster de infraestructura de la organización.

  1. Establece la variable de entorno para tu archivo PEM de CA personalizado:

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    

    Reemplaza CUSTOM_CA_PEM_FILE por la ruta de acceso al archivo que contiene tus certificados de la AC personalizados, codificados en formato PEM.

  2. Codifica los certificados de la AC con base64:

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. Crea el archivo YAML del Secret (custom-ca.yaml) que se orienta al paquete de confianza del sistema trust-store-root-ext:

    cat > custom-ca.yaml <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
      ca.crt: ${ENCODED_CA:?}
    EOF
    

    El siguiente es un ejemplo de un archivo custom-ca.yaml:

    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
       ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSU...LQWZRSUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    
  4. Aplica el Secret al clúster de infraestructura de la organización con el comando kubectl:

     kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}
    

    Este paso hace que tus AC personalizadas estén disponibles para los servicios de GDC actualizando automáticamente los paquetes de confianza trust-store-root-ext y trust-store-global-root-ext.

Verifica que las AC estén disponibles

Confirma que tus AC personalizadas se hayan agregado al paquete de confianza:

  1. Descarga la versión más reciente del paquete de confianza de trust-store-root-ext siguiendo los pasos que se indican en Recupera los paquetes de confianza de GDC.

    Si deseas recuperar las AC personalizadas de una zona diferente, usa el paquete de confianza trust-store-global-root-ext.

  2. Abre el archivo de paquete de confianza descargado y confirma que cada certificado de la AC personalizado especificado por CUSTOM_CA_PEM_FILE esté presente.

    Busca cada certificado de la AC personalizado de forma individual. El orden en el que aparecen puede variar; no se garantiza que aparezcan al final de la lista.

    A continuación, se muestra un ejemplo de trust-store-root-ext:

    -----BEGIN CERTIFICATE-----
    MIIC8DCCAdigAwIBAgIQPLOPa...
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
       < Imported CA data>
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
    MIIDAzCCAeugAwIBAgIRAIV2...
    -----END CERTIFICATE-----