Recupera paquetes de confianza de GDC

Un paquete de confianza, también conocido como lista de confianza, es un grupo de anclajes de confianza, como entidades, que son inherentemente confiables y cuya confianza no se transfiere a otra entidad (terceros de confianza). Estas entidades de confianza se entregan como certificados de autoridad certificadora (CA). El algoritmo de compilación de rutas de certificación usa estos certificados de CA para establecer una cadena entre una validación de obtención de certificados y las anclas de confianza.

Google Distributed Cloud (GDC) aislado tiene paquetes de confianza dedicados. En esta guía, se describen los pasos para recuperar el paquete de confianza para los administradores de la organización.

Tipos de paquetes de confianza

Distributed Cloud proporciona dos tipos de paquetes de confianza administrados para los administradores de la plataforma:

  • trust-store-root-ext: Contiene la CA raíz interna y la CA de TLS web. El contenido es diferente según dónde se encuentre, como la organización raíz o la organización del arrendatario. Usa este paquete de confianza para comunicarte entre los límites de la organización o acceder a servicios como el almacenamiento de objetos dentro de la organización.

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

Recupera el paquete de confianza

Puedes recuperar paquetes de confianza del extremo del servidor conocido o del clúster con kubectl.

Recuperar desde el servidor conocido

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

  1. Exporta las siguientes variables de entorno:

    export STORAGE=STORAGE
    export ORG_NAME=ORG_NAME
    

    Reemplaza lo siguiente:

    • STORAGE: Es la ruta de acceso al directorio en el que deseas almacenar el archivo del paquete de confianza.
    • ORG_NAME: Es el nombre de tu organización en GDC.
  2. Establece la variable de entorno WELL_KNOWN_URL:

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

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

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

    El archivo del paquete de confianza recuperado contiene uno o más 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-----
    

Recupera datos del clúster con kubectl

Puedes recuperar paquetes de confianza directamente desde el clúster de GDC con 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 recuperar los paquetes de confianza trust-store-root-ext o trust-store-global-root-ext.

Antes de completar los pasos de esta sección, debes obtener lo siguiente:

  • Permisos requeridos: Pídele al administrador de IAM de tu organización que te otorgue el rol de Visualizador de la tienda de confianza (trust-store-viewer).
  • Archivo kubeconfig: Accede y genera el archivo kubeconfig para el servidor de la API de Management si aún no tienes uno. Necesitas la ruta de acceso al archivo kubeconfig para reemplazar MANAGEMENT_API_SERVER_KUBECONFIG en los siguientes pasos.

Recupera 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
    

    Reemplaza lo siguiente:

    • MANAGEMENT_API_SERVER_KUBECONFIG: Es la ruta de acceso al archivo kubeconfig del servidor de la API de administración.
    • STORAGE: Es la ruta de acceso al directorio en el que deseas almacenar el archivo del paquete de confianza.
    • ZONE: Es el nombre de tu zona de GDC.
  2. Configura la variable de entorno TRUST_BUNDLE_FILE. Este archivo almacena el paquete de confianza de GDC de forma local en la ubicación $STORAGE que especificaste para tu $ZONE de GDC:

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

    export NS=platform
    
  4. Obtén las autoridades certificadoras (CA) y almacénalas 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 recuperado contiene uno o más 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-----