Un bundle d'approbations, également appelé liste d'approbations, est un groupe d'ancres de confiance, telles que des entités, qui sont intrinsèquement fiables et dont la fiabilité n'est pas transférée par une autre entité (tiers de confiance). Ces ancres de confiance sont fournies sous forme de certificats d'autorité de certification (CA). L'algorithme de création du chemin de certification utilise ces certificats d'autorité de certification pour établir une chaîne entre un certificat obtenant la validation et les ancres de confiance.
Google Distributed Cloud (GDC) sous air gap dispose de groupes de confiance dédiés. Ce guide explique comment récupérer le bundle de confiance pour les administrateurs d'organisation.
Types de groupes de confiance
Distributed Cloud propose deux types de groupes de confiance gérés pour les administrateurs de plate-forme :
trust-store-root-ext
: contient l'autorité de certification racine interne et l'autorité de certification Web-TLS. Le contenu est différent selon son emplacement, par exemple la racine ou l'organisation locataire. Utilisez ce bundle de confiance pour communiquer au-delà des limites de l'organisation ou pour accéder à des services tels que le stockage d'objets au sein de l'organisation.trust-store-global-root-ext
: disponible dans l'espace de noms du serveur d'API global et du serveur d'API zonalplatform
. Lorsque le serveur d'API global est prêt, le bundle remplit toutes les autres donnéestrust-store-root-ext
zonales, y compris les données locales.
Récupérer le groupe de confiance
Vous pouvez récupérer des groupes de confiance à partir du point de terminaison du serveur connu ou du cluster à l'aide de kubectl
.
Extraire du serveur connu
GDC fournit un moyen sécurisé d'accéder aux groupes de confiance via un point de terminaison de serveur bien connu. Utilisez cette méthode lorsque vous devez récupérer le bundle trust-store-global-root-ext
sans interagir directement avec le cluster à l'aide de kubectl
.
Exportez les variables d'environnement suivantes :
export STORAGE=STORAGE export ORG_NAME=ORG_NAME
Remplacez les éléments suivants :
STORAGE
: chemin d'accès au répertoire dans lequel vous souhaitez stocker le fichier du groupe de confiance.ORG_NAME
: nom de votre organisation dans GDC.
Définissez la variable d'environnement
WELL_KNOWN_URL
:export WELL_KNOWN_URL=https://console.${ORG_NAME:?}.zone1.google.gdch.test/.well-known/certificate-authority
Définissez la variable d'environnement
GLOBAL_TRUST_BUNDLE_FILE
. Ce fichier stocke le bundle de confiance GDC en local à l'emplacement$STORAGE
que vous avez spécifié.export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
Obtenez le bundle de confiance
trust-store-global-root-ext
à partir du serveur connu et stockez-le dans le fichier créé à l'étape précédente :echo -n | curl ${WELL_KNOWN_URL:?} > ${GLOBAL_TRUST_BUNDLE_FILE:?}
Le fichier de groupe de confiance récupéré contient un ou plusieurs certificats d'autorité de certification. Le résultat ressemble à ce qui suit :
-----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-----
Récupérer des informations depuis le cluster à l'aide de kubectl
Vous pouvez récupérer les groupes de confiance directement à partir du cluster GDC à l'aide de l'outil de ligne de commande kubectl
. Utilisez cette méthode si vous avez un accès direct au cluster et à sa configuration, et que vous devez récupérer les faisceaux de confiance trust-store-root-ext
ou trust-store-global-root-ext
.
Avant de pouvoir suivre la procédure décrite dans cette section, vous devez obtenir les éléments suivants :
- Autorisations requises : demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Lecteur du magasin de confiance (
trust-store-viewer
). - Fichier kubeconfig : connectez-vous et générez le fichier kubeconfig pour le serveur de l'API Management si vous n'en avez pas déjà un. Vous aurez besoin du chemin d'accès au fichier kubeconfig pour remplacer
MANAGEMENT_API_SERVER_KUBECONFIG
lors des étapes suivantes.
Récupérez le groupe de confiance à partir du cluster à l'aide de kubectl
:
Exportez les variables d'environnement suivantes :
export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG export STORAGE=STORAGE export ZONE=ZONE
Remplacez les éléments suivants :
MANAGEMENT_API_SERVER_KUBECONFIG
: chemin d'accès au fichier kubeconfig du serveur de l'API Management.STORAGE
: chemin d'accès au répertoire dans lequel vous souhaitez stocker le fichier du groupe de confiance.ZONE
: nom de votre zone GDC.
Définissez la variable d'environnement
TRUST_BUNDLE_FILE
. Ce fichier stocke le bundle de confiance GDC en local à l'emplacement$STORAGE
que vous avez spécifié pour votre$ZONE
GDC :export TRUST_BUNDLE_FILE="$STORAGE/$ZONE/ca-bundles/trust-bundle" export GLOBAL_TRUST_BUNDLE_FILE="$STORAGE/global/ca-bundles/global-trust-bundle"
Définissez la variable d'environnement de l'espace de noms
NS
pour l'espace de noms :export NS=platform
Obtenez les autorités de certification (CA) et stockez-les dans le fichier créé à l'étape 2 :
Pour
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}
Pour
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}
Le fichier de groupe de confiance récupéré contient un ou plusieurs certificats d'autorité de certification. Le résultat ressemble à ce qui suit :
-----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-----