Recupera i bundle di attendibilità GDC

Un bundle di attendibilità, noto anche come elenco di attendibilità, è un gruppo di ancore di attendibilità, ad esempio entità, intrinsecamente attendibili e la cui attendibilità non viene trasferita da un'altra entità (terze parti attendibili). Questi trust anchor vengono forniti come certificati dell'autorità di certificazione (CA). L'algoritmo di creazione del percorso di certificazione utilizza questi certificati CA per stabilire una catena tra un certificato che ottiene la convalida e i trust anchor.

Google Distributed Cloud (GDC) con air gap dispone di bundle di attendibilità dedicati. Questa guida descrive i passaggi per recuperare il bundle di attendibilità per gli amministratori dell'organizzazione.

Tipi di bundle di attendibilità

Distributed Cloud fornisce due tipi di bundle di attendibilità gestiti per gli amministratori della piattaforma:

  • trust-store-root-ext: contiene la CA radice interna e la CA web-tls. I contenuti variano a seconda della posizione in cui si trovano, ad esempio la radice o l'organizzazione tenant. Utilizza questo bundle di attendibilità per comunicare oltre i confini dell'organizzazione o per accedere a servizi come l'archiviazione di oggetti all'interno dell'organizzazione.

  • trust-store-global-root-ext: disponibile nello spazio dei nomi del server API globale e del server API di zona platform. Quando il server API globale è pronto, il bundle compila tutti gli altri dati trust-store-root-ext zonali, inclusi i dati locali.

Recupera il bundle di attendibilità

Puoi recuperare i bundle di attendibilità dall'endpoint server noto o dal cluster utilizzando kubectl.

Recupero dal server noto

GDC fornisce un modo sicuro per accedere ai bundle di attendibilità tramite un endpoint server noto. Utilizza questo metodo quando devi recuperare il bundle trust-store-global-root-ext senza interagire direttamente con il cluster utilizzando kubectl.

  1. Esporta le seguenti variabili di ambiente:

    export STORAGE=STORAGE
    export ORG_NAME=ORG_NAME
    

    Sostituisci quanto segue:

    • STORAGE: il percorso della directory in cui vuoi archiviare il file del bundle di attendibilità.
    • ORG_NAME: il nome della tua organizzazione in GDC.
  2. Imposta la variabile di ambiente WELL_KNOWN_URL:

    export WELL_KNOWN_URL=https://console.${ORG_NAME:?}.zone1.google.gdch.test/.well-known/certificate-authority
    
  3. Imposta la variabile di ambiente GLOBAL_TRUST_BUNDLE_FILE. Questo file archivia il bundle di attendibilità GDC localmente nella posizione $STORAGE specificata.

    export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
    
  4. Ottieni il trust-store-global-root-ext trust bundle dal server noto e archivialo nel file creato nel passaggio precedente:

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

    Il file del bundle di attendibilità recuperato contiene uno o più certificati CA. L'output è simile al seguente:

    -----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 dal cluster utilizzando kubectl

Puoi recuperare i bundle di attendibilità direttamente dal cluster GDC utilizzando lo strumento a riga di comando kubectl. Utilizza questo metodo se hai accesso diretto al cluster e alla sua configurazione e devi recuperare i bundle di attendibilità trust-store-root-ext o trust-store-global-root-ext.

Prima di poter completare i passaggi di questa sezione, devi ottenere quanto segue:

  • Autorizzazioni richieste: chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Visualizzatore trust store (trust-store-viewer).
  • File kubeconfig: accedi e genera il file kubeconfig per il server API Management se non ne hai già uno. Per sostituire MANAGEMENT_API_SERVER_KUBECONFIG nei passaggi seguenti, devi avere il percorso del file kubeconfig.

Recupera il bundle di attendibilità dal cluster utilizzando kubectl:

  1. Esporta le seguenti variabili di ambiente:

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

    Sostituisci quanto segue:

    • MANAGEMENT_API_SERVER_KUBECONFIG: il percorso del file kubeconfig del server dell'API Management.
    • STORAGE: il percorso della directory in cui vuoi archiviare il file del bundle di attendibilità.
    • ZONE: il nome della zona GDC.
  2. Imposta la variabile di ambiente TRUST_BUNDLE_FILE. Questo file archivia il bundle di attendibilità GDC localmente nella posizione $STORAGE specificata per il tuo 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. Imposta la variabile di ambiente dello spazio dei nomi NS per lo spazio dei nomi:

    export NS=platform
    
  4. Ottieni le autorità di certificazione (CA) e archiviale nel file creato nel passaggio 2:

    Per 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}
    

    Per 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}
    

    Il file del bundle di attendibilità recuperato contiene uno o più certificati CA. L'output è simile al seguente:

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