Obtener paquetes de confianza de GDC

Un paquete de confianza, también conocido como lista de confianza, es un grupo de anclas de confianza, como entidades, que son inherentemente de confianza y cuya confianza no se transfiere por otra entidad (terceros de confianza). Estas anclas de confianza se proporcionan como certificados de autoridad de certificación (CA). El algoritmo de creación de rutas de certificación usa estos certificados de AC para establecer una cadena entre un certificado que obtiene la validación y las anclas de confianza.

Google Distributed Cloud (GDC) con air gap tiene paquetes de confianza específicos. En esta guía se describen los pasos que deben seguir los administradores de organizaciones para obtener el paquete de confianza.

Tipos de paquetes de confianza

Distributed Cloud ofrece dos tipos de paquetes de confianza gestionados para administradores de plataformas:

  • trust-store-root-ext: contiene la AC raíz interna y la AC web-tls. El contenido varía en función de dónde se encuentre, como la raíz o la organización del arrendatario. Usa este paquete de confianza para comunicarte entre organizaciones o para acceder a servicios como el almacenamiento de objetos dentro de la organización.

  • trust-store-global-root-ext: disponible en el servidor de API global y en el espacio de nombres del servidor de API zonal platform. Cuando el servidor de la API global esté listo, el paquete rellenará todos los demás datos zonales trust-store-root-ext, incluidos los datos locales.

Obtener el paquete de confianza

Puedes obtener paquetes de confianza del endpoint de servidor conocido o del clúster mediante kubectl.

Obtener del servidor conocido

GDC proporciona una forma segura de acceder a paquetes de confianza a través de un endpoint de servidor conocido. Usa este método cuando necesites obtener el paquete trust-store-global-root-ext sin interactuar directamente con el clúster mediante kubectl.

  1. Exporta las siguientes variables de entorno:

    export STORAGE=STORAGE
    export ORG_NAME=ORG_NAME
    

    Haz los cambios siguientes:

    • STORAGE: la ruta del directorio en el que quieres almacenar el archivo del paquete de confianza.
    • ORG_NAME: el nombre de tu organización en GDC.
  2. Define la variable de entorno WELL_KNOWN_URL:

    export WELL_KNOWN_URL=https://console.${ORG_NAME:?}.google.gdch.test/.well-known/certificate-authority
    
  3. Define la variable de entorno GLOBAL_TRUST_BUNDLE_FILE. Este archivo almacena el paquete de confianza de GDC de forma local en la $STORAGE ubicación que hayas especificado.

    export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
    
  4. Obtén el trust-store-global-root-ext paquete de confianza del servidor conocido y almacénalo en el archivo creado en el paso anterior:

    Linux

    echo -n | curl ${WELL_KNOWN_URL:?} > ${GLOBAL_TRUST_BUNDLE_FILE:?}
    

    Windows

    Invoke-WebRequest -Uri "https://console.${ORG_NAME}.google.gdch.test/.well-known/certificate-authority" -OutFile ".\global-trust-bundle.crt"
    

    El archivo del paquete de confianza obtenido contiene uno o varios certificados de CA. El resultado es similar al siguiente:

    -----BEGIN CERTIFICATE-----
    MIIC8TCCAdmgAwIBAgIRAODQ/dOB39RBs8ZpN0RujIswDQYJKoZIhvcNAQELBQAw
    EjEQMA4GA1UEAxMHcm9vdC1jYTAeFw0yNTAxMDYwNzM3MzVaFw00ODEyMzEwNzM3
    MzVaMBIxEDAOBgNVBAMTB3Jvb3QtY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
    ggEKAoIBAQC41U4+3M1EAHggUBw5ki97533zTvwHukmZyORwbQ3tlQ4GQDscoCEh
    nn+KCaG767VCaGDcQhq99hl6qa/nBoc1X6WQ3a/uhv5E2ztRD40PB5NFNdSulxTH
    gsitukSmv+DAx15UJnVkJtPP/FzxEWPu0piIiFZakTxT83VUSs54QRmTahxP80FI
    R0xZ0ohsu9jzA2CAyxTccJU0/xE2kDwN8c8kiYYuG+czMdNVdnT4Jm2ToSkzIDux
    Yi9MzNmarVGG/rtW5SlqnUMYzSsxtUYSmMRlCsFDVxkSzfmICmTRw2zmNkFA/3nz
    XneVSIsUHOA2NzvMN4eoLTVRgSFcHlZRAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
    hjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEeB0EQwhc5p++GhwNymsBfN93
    WjANBgkqhkiG9w0BAQsFAAOCAQEAKBqn4AXjUWmhIUOrWQ5cetsmI76Wl+RBeSzU
    HxbqMBH8Dk1oJbGHtmQbu7EmWz1pKYge650s9N83hMgjFZD24t9GiQZ7YY+i+317
    D6HzJ8VIKPnxVtnUIQzCpkRTQoglDlb1f/7+fi2SYJoHdhnRI/3OaVQTnObjbW5T
    mBhsMxFKc0zGa3HIEm9SUH608V60xUPanl23YZ6X7W8nWAJfnzKvH+3q3Fz58u/S
    VR5t/FkbOktVtnU8AfcMKLof6KG2KhE2L7FAC+fp0ZsjV9vE2uqlZ+8mIQHyc3tM
    cbWxOx+SO/XUCenY9C1yrublln9aOEn4/s3aSURPguiSZOfDyQ==
    -----END CERTIFICATE-----
    

Obtener datos del clúster con kubectl

Puedes obtener paquetes de confianza directamente del clúster de GDC mediante la herramienta de línea de comandos kubectl. Usa este método si tienes acceso directo al clúster y a su configuración, y necesitas obtener los paquetes de confianza trust-store-root-ext o trust-store-global-root-ext.

Debes obtener lo siguiente para poder completar los pasos de esta sección:

  • Permisos necesarios: pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Lector de almacén de confianza (trust-store-viewer).
  • Archivo kubeconfig: inicia sesión y genera el archivo kubeconfig del servidor de la API Management si aún no tienes uno. Necesitas la ruta al archivo kubeconfig para sustituir MANAGEMENT_API_SERVER_KUBECONFIG en los pasos siguientes.

Obtén el paquete de confianza del clúster con kubectl:

  1. Exporta las siguientes variables de entorno:

    export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG
    export STORAGE=STORAGE
    export ZONE=ZONE
    

    Haz los cambios siguientes:

    • MANAGEMENT_API_SERVER_KUBECONFIG: la ruta al archivo kubeconfig del servidor de la API Management.
    • STORAGE: la ruta del directorio en el que quieres almacenar el archivo del paquete de confianza.
    • ZONE: el nombre de tu zona de GDC.
  2. Define la variable de entorno TRUST_BUNDLE_FILE. Este archivo almacena el paquete de confianza de GDC de forma local en la $STORAGE ubicación especificada para tu GDC $ZONE:

    export TRUST_BUNDLE_FILE="$STORAGE/$ZONE/ca-bundles/trust-bundle"
    export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
    
  3. Define la variable de entorno del espacio de nombres NS para el espacio de nombres:

    export NS=platform
    
  4. Obtén las autoridades de certificación (AC) y guárdalas en el archivo creado en el paso 2:

    Para trust-store-root-ext:

    kubectl --kubeconfig ${KUBECONFIG} get secret trust-store-root-ext -n ${NS} -o go-template='{{ index .data "ca.crt" }}' | base64 -d | sed '$a\' > ${TRUST_BUNDLE_FILE}
    

    Para trust-store-global-root-ext:

    kubectl --kubeconfig ${KUBECONFIG} get secret trust-store-global-root-ext -n ${NS} -o go-template='{{ index .data "ca.crt" }}' | base64 -d | sed '$a\' > ${GLOBAL_TRUST_BUNDLE_FILE}
    

    El archivo del paquete de confianza obtenido contiene uno o varios certificados de CA. El resultado es similar al siguiente:

    -----BEGIN CERTIFICATE-----
    MIIC8TCCAdmgAwIBAgIRAODQ/dOB39RBs8ZpN0RujIswDQYJKoZIhvcNAQELBQAw
    EjEQMA4GA1UEAxMHcm9vdC1jYTAeFw0yNTAxMDYwNzM3MzVaFw00ODEyMzEwNzM3
    MzVaMBIxEDAOBgNVBAMTB3Jvb3QtY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
    ggEKAoIBAQC41U4+3M1EAHggUBw5ki97533zTvwHukmZyORwbQ3tlQ4GQDscoCEh
    nn+KCaG767VCaGDcQhq99hl6qa/nBoc1X6WQ3a/uhv5E2ztRD40PB5NFNdSulxTH
    gsitukSmv+DAx15UJnVkJtPP/FzxEWPu0piIiFZakTxT83VUSs54QRmTahxP80FI
    R0xZ0ohsu9jzA2CAyxTccJU0/xE2kDwN8c8kiYYuG+czMdNVdnT4Jm2ToSkzIDux
    Yi9MzNmarVGG/rtW5SlqnUMYzSsxtUYSmMRlCsFDVxkSzfmICmTRw2zmNkFA/3nz
    XneVSIsUHOA2NzvMN4eoLTVRgSFcHlZRAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
    hjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEeB0EQwhc5p++GhwNymsBfN93
    WjANBgkqhkiG9w0BAQsFAAOCAQEAKBqn4AXjUWmhIUOrWQ5cetsmI76Wl+RBeSzU
    HxbqMBH8Dk1oJbGHtmQbu7EmWz1pKYge650s9N83hMgjFZD24t9GiQZ7YY+i+317
    D6HzJ8VIKPnxVtnUIQzCpkRTQoglDlb1f/7+fi2SYJoHdhnRI/3OaVQTnObjbW5T
    mBhsMxFKc0zGa3HIEm9SUH608V60xUPanl23YZ6X7W8nWAJfnzKvH+3q3Fz58u/S
    VR5t/FkbOktVtnU8AfcMKLof6KG2KhE2L7FAC+fp0ZsjV9vE2uqlZ+8mIQHyc3tM
    cbWxOx+SO/XUCenY9C1yrublln9aOEn4/s3aSURPguiSZOfDyQ==
    -----END CERTIFICATE-----