Obtener 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 de confianza y cuya confianza no se transfiere a otra entidad (terceros de confianza). Estos anclajes de confianza se entregan como certificados de autoridad de certificación (CA). El algoritmo de creación de rutas de certificación utiliza estos certificados de CA para establecer una cadena entre un certificado que obtiene la validación y los anclajes de confianza.

Este documento está dirigido a los usuarios del grupo de administradores de la plataforma, como los administradores de TI o los ingenieros de seguridad, que quieran obtener paquetes de confianza de GDC. Para obtener más información, consulta el artículo Audiencias para la documentación de GDC en entornos aislados.

Antes de empezar

Antes de obtener paquetes de confianza de GDC, debes establecer la confianza inicial para las nuevas organizaciones. Este paso es obligatorio tanto para el método del servidor conocido como para el método kubectl, pero solo si te conectas a una nueva organización por primera vez.

En el método del servidor conocido, no se requieren otros requisitos previos. En el método kubectl, también debes cumplir los requisitos previos de permisos y herramientas.

Establecer la confianza inicial para las nuevas organizaciones

Si te conectas a una nueva organización de GDC por primera vez, debes establecer la confianza inicial. Este proceso único garantiza una conexión segura al confiar en la autoridad de certificación (CA) de la organización en tu máquina cliente.

  1. Ponte en contacto con un miembro de tu grupo de operadores de infraestructura (IO) para solicitar el paquete de confianza inicial de la nueva organización. El IO tiene el acceso necesario para obtener este paquete, que normalmente procede del secreto trust-store-root-ext del clúster de infraestructura de la organización.

  2. Obtén el archivo del paquete de confianza inicial de tu IO a través de un canal seguro fuera de GDC, tal como definen las políticas de seguridad de tu organización.

  3. Instala el paquete de confianza en el almacén de confianza de tu máquina cliente siguiendo los procedimientos estándar de tu sistema para confiar en los certificados de CA raíz.

Si necesitas acceder a ServiceNow, obtén e instala el paquete de confianza de la organización gdchservices mediante el mismo proceso.

Solicitar roles de gestión de identidades y accesos

Para obtener el paquete de confianza con kubectl, necesitas permiso para ver los secretos. Ponte en contacto con el administrador de gestión de identidades y accesos de tu organización para solicitar el rol Visor del almacén de confianza (trust-store-viewer).

Preparar tu entorno

Para usar el método kubectl, prepara tu entorno local:

Tipos de paquetes de confianza

Distributed Cloud ofrece dos tipos de paquetes de confianza gestionados para los administradores de la plataforma:

  • trust-store-root-ext: contiene la CA raíz interna y la CA web-tls. El contenido varía en función de dónde resida, como la organización raíz o la organización de inquilino. Utiliza este paquete de confianza para comunicarte entre los límites de la organización 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 la API global y en el espacio de nombres platform del servidor de la API zonal. Cuando el servidor de la API global esté listo, el paquete rellenará todos los demás datos trust-store-root-ext zonales, incluidos los datos locales.

Obtener el paquete de confianza

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

Obtener del servidor conocido

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

Asegúrate de haber establecido la confianza inicial con las CA específicas de tu organización antes de seguir los pasos de esta sección.

Linux

  1. Exporta las siguientes variables de entorno:

    export STORAGE=STORAGE
    export ORG_NAME=ORG_NAME
    export DNS_SUFFIX=DNS_SUFFIX
    

    Haz los cambios siguientes:

    • STORAGE: la ruta del directorio donde quieras almacenar el archivo del paquete de confianza.
    • ORG_NAME: el nombre de tu organización en GDC.
    • DNS_SUFFIX: tu sufijo de DNS. Por ejemplo, si uno de tus dominios es org-1.zone1.google.gdch.test, tu sufijo de DNS es zone1.google.gdch.test.
  2. Define la variable de entorno WELL_KNOWN_URL:

    export WELL_KNOWN_URL="https://console.${ORG_NAME:?}.${DNS_SUFFIX:?}/.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 ubicación $STORAGE especificada.

    export GLOBAL_TRUST_BUNDLE_FILE="${STORAGE:?}/global/ca-bundles/global-trust-bundle"
    
  4. Crea el directorio para el archivo del paquete de confianza:

    mkdir -p "$(dirname "${GLOBAL_TRUST_BUNDLE_FILE:?}")"
    
  5. Obtén el paquete de confianza trust-store-global-root-ext del servidor conocido y almacénalo en el archivo especificado por la variable de entorno GLOBAL_TRUST_BUNDLE_FILE:

    curl "${WELL_KNOWN_URL:?}" | sed '$a\' > "${GLOBAL_TRUST_BUNDLE_FILE:?}"
    

Windows

  1. Define las siguientes variables de PowerShell:

    $STORAGE = "STORAGE"
    $ORG_NAME = "ORG_NAME"
    $DNS_SUFFIX = "DNS_SUFFIX"
    

    Haz los cambios siguientes:

    • STORAGE: la ruta del directorio donde quieras almacenar el archivo del paquete de confianza, como C:\Users\username\bundles.
    • ORG_NAME: el nombre de tu organización en GDC.
    • DNS_SUFFIX: tu sufijo de DNS. Por ejemplo, si uno de tus dominios es org-1.zone1.google.gdch.test, tu sufijo de DNS es zone1.google.gdch.test.
  2. Crea el directorio para el archivo del paquete de confianza:

    New-Item -ItemType Directory -Force -Path (Split-Path -Path "STORAGE\global\ca-bundles\global-trust-bundle")
    
  3. Obtén el paquete de confianza trust-store-global-root-ext del servidor conocido y almacénalo en el archivo del paquete de confianza:

    Invoke-WebRequest -Uri "https://console.ORG_NAME.DNS_SUFFIX/.well-known/certificate-authority" -OutFile "STORAGE\global\ca-bundles\global-trust-bundle"
    

El archivo del paquete de confianza obtenido contiene uno o varios certificados de CA. El resultado debería ser 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 del clúster mediante kubectl

Puedes obtener paquetes de confianza directamente del clúster de GDC mediante la herramienta de línea de comandos kubectl. Utiliza 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.

Asegúrate de haber establecido la confianza inicial con las CA específicas de tu organización antes de seguir los pasos de esta sección.

Obtén el paquete de confianza del clúster mediante 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 kubeconfig del servidor de la API de gestión.
    • STORAGE: la ruta del directorio donde quieras 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 ubicación $STORAGE especificada 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. Define la variable de entorno del espacio de nombres NS para el espacio de nombres:

    export NS=platform
    
  4. Crea los directorios para los archivos del paquete de confianza:

    mkdir -p "$(dirname "${TRUST_BUNDLE_FILE:?}")"
    mkdir -p "$(dirname "${GLOBAL_TRUST_BUNDLE_FILE:?}")"
    
  5. Obtén las autoridades de certificación (CA) y almacénalas en los archivos especificados por las variables de entorno TRUST_BUNDLE_FILE y GLOBAL_TRUST_BUNDLE_FILE:

    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 debería ser 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-----