Cette page explique comment ajouter des certificats d'autorité de certification (CA) personnalisés au bundle de confiance du système dans Google Distributed Cloud (GDC) sous air gap. Un bundle de confiance est un ensemble d'autorités de certification de confiance que les services de votre organisation utilisent pour vérifier l'identité d'autres services. En ajoutant vos propres CA personnalisées, vous pouvez contrôler les certificats auxquels votre organisation fait confiance, ce qui permet d'établir des connexions sécurisées à vos ressources internes et à d'autres points de terminaison de confiance.
Cette page explique comment ajouter des autorités de certification personnalisées au bundle de confiance du système trust-store-root-ext. Lorsque vous modifiez le bundle de confiance trust-store-root-ext, les modifications sont automatiquement propagées au bundle trust-store-global-root-ext, ce qui rend vos CA personnalisées disponibles dans toutes les zones.
Cette page s'adresse aux audiences du groupe d'administrateurs de plate-forme (comme les administrateurs informatiques) qui doivent gérer et sécuriser les ressources de leur organisation dans GDC. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.
Avant de commencer
Pour ajouter des certificats CA personnalisés au groupe d'approbations du système, vous devez demander les autorisations nécessaires et préparer votre environnement.
Demander des rôles IAM
Pour créer, lire, mettre à jour et supprimer des secrets, contactez votre administrateur d'organisation IAM pour demander le rôle Administrateur du magasin de confiance (trust-store-admin).
Préparer votre environnement
Téléchargez et installez la CLI gdcloud, si ce n'est pas déjà fait.
Connectez-vous à la CLI gdcloud.
Générer un fichier kubeconfig
Procédez comme suit pour générer votre fichier kubeconfig pour le cluster d'infrastructure de l'organisation et le définir comme variable KUBECONFIG à utiliser ultérieurement.
Affichez toutes les zones disponibles :
gdcloud zones listNotez le nom de la zone qui héberge votre ressource personnalisée.
Définissez la variable d'environnement
ZONEsur la zone qui héberge le cluster d'infrastructure de l'organisation :export ZONE="ZONE"Remplacez
ZONEpar le nom de la zone.Définissez la variable d'environnement
ORG_INFRA_CLUSTER:export ORG_INFRA_CLUSTER="ORG_NAME-infra"Remplacez
ORG_NAMEpar le nom de votre organisation, par exempleorg-1.Générez le fichier kubeconfig du cluster d'infrastructure de l'organisation pour la zone ciblée, puis validez les identifiants :
export KUBECONFIG=${HOME}/${ORG_INFRA_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${ORG_INFRA_CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${ORG_INFRA_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"La commande
rm ${KUBECONFIG:?}supprime le fichier kubeconfig existant dans le répertoire d'accueil. Lorsque vous générez un nouveau fichier kubeconfig, il écrase le fichier existant. Si vous ne souhaitez pas écraser ou supprimer le fichier existant, sauvegardez-le dans un autre emplacement sécurisé.
Ajouter des autorités de certification personnalisées au bundle de confiance du système
Pour ajouter des autorités de certification personnalisées au groupe d'autorités de certification de confiance du système trust-store-root-ext, vous devez préparer votre ressource d'autorité de certification personnalisée, puis l'appliquer au cluster d'infrastructure de l'organisation.
Définissez la variable d'environnement pour votre fichier PEM d'autorité de certification personnalisé :
export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILERemplacez
CUSTOM_CA_PEM_FILEpar le chemin d'accès au fichier contenant vos certificats CA personnalisés, encodés au format PEM.Encodez les certificats CA en base64 :
export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)Créez le fichier YAML du secret (
custom-ca.yaml) qui cible le bundle de confiance du systèmetrust-store-root-ext:cat > custom-ca.yaml <<EOF apiVersion: v1 kind: Secret metadata: annotations: security.private.gdc.goog/bundles: trust-store-root-ext name: custom-ca namespace: cert-manager data: ca.crt: ${ENCODED_CA:?} EOFVoici un exemple de fichier
custom-ca.yaml:apiVersion: v1 kind: Secret metadata: annotations: security.private.gdc.goog/bundles: trust-store-root-ext name: custom-ca namespace: cert-manager data: ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSU...LQWZRSUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==Appliquez le secret au cluster d'infrastructure de l'organisation à l'aide de la commande
kubectl:kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}Cette étape permet de mettre vos CA personnalisées à la disposition des services GDC en mettant automatiquement à jour les bundles de confiance
trust-store-root-extettrust-store-global-root-ext.
Vérifier que les CA sont disponibles
Vérifiez que vos autorités de certification personnalisées ont été ajoutées au bundle de confiance :
Téléchargez la dernière version du bundle de confiance
trust-store-root-exten suivant les étapes de la section Récupérer les bundles de confiance GDC.Si vous souhaitez récupérer les autorités de certification personnalisées d'une autre zone, utilisez le bundle de confiance
trust-store-global-root-ext.Ouvrez le fichier de bundle de confiance téléchargé et vérifiez que chaque certificat d'autorité de certification personnalisé spécifié par
CUSTOM_CA_PEM_FILEest présent.Recherchez chaque certificat CA personnalisé individuellement. L'ordre dans lequel ils apparaissent peut varier. Il n'est pas garanti qu'ils apparaissent à la fin de la liste.
Voici un exemple de
trust-store-root-ext:-----BEGIN CERTIFICATE----- MIIC8DCCAdigAwIBAgIQPLOPa... -----END CERTIFICATE----- ... other CAs ... -----BEGIN CERTIFICATE----- < Imported CA data> -----END CERTIFICATE----- ... other CAs ... -----BEGIN CERTIFICATE----- MIIDAzCCAeugAwIBAgIRAIV2... -----END CERTIFICATE-----