Ajouter des autorités de certification personnalisées au groupe d'approbation du système

Cette page explique comment ajouter des certificats d'autorité de certification (CA) personnalisés au bundle de confiance système dans Google Distributed Cloud (GDC) air-gapped. Un bundle de confiance est une collection d'AC de confiance que les services de votre organisation utilisent pour valider l'identité d'autres services. En ajoutant vos propres autorités de certification 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 CA 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 des administrateurs de plate-forme (tels que 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 air-gapped.

Avant de commencer

  • Autorisations requises : demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur du truststore (trust-store-admin).

  • Fichier kubeconfig : connectez-vous et générez le fichier kubeconfig pour le serveur d'API du cluster d'infrastructure si vous n'en avez pas déjà un. Vous avez besoin du chemin d'accès au fichier kubeconfig pour remplacer INFRA_CLUSTER_KUBECONFIG dans les étapes suivantes.

Ajouter des autorités de certification personnalisées au groupe d'approbation du système

Pour ajouter des CA personnalisées au bundle de confiance système trust-store-root-ext, vous devez préparer votre ressource de CA personnalisée, puis l'appliquer au cluster.

  1. Exportez les variables d'environnement suivantes :

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG
    

    Remplacez les éléments suivants :

    • CUSTOM_CA_PEM_FILE : chemin d'accès au fichier contenant vos certificats CA personnalisés, encodés au format PEM.
    • INFRA_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'infrastructure.
  2. Encodez les certificats d'autorité de certification en base64 :

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. Créez le fichier YAML secret (custom-ca.yaml) qui cible le bundle de confiance système trust-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:?}
    EOF
    

    Voici 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==
    
  4. Appliquez le secret au cluster d'infrastructure à l'aide de la commande kubectl :

     kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}
    

    Cette étape permet de rendre vos CA personnalisées disponibles pour les services GDC en mettant à jour automatiquement les groupes de confiance trust-store-root-ext et trust-store-global-root-ext.

Vérifier que les autorités de certification sont disponibles

Vérifiez que vos autorités de certification personnalisées ont été ajoutées au bundle de confiance :

  1. Téléchargez la dernière version du bundle de confiance trust-store-root-ext en suivant les étapes décrites dans Récupérer les bundles de confiance GDC.

    Si vous souhaitez récupérer les autorités de certification personnalisées à partir d'une autre zone, utilisez le bundle de confiance trust-store-global-root-ext.

  2. Ouvrez le fichier de groupe de confiance téléchargé et vérifiez que chaque certificat d'autorité de certification personnalisé spécifié par CUSTOM_CA_PEM_FILE est présent.

    Recherchez chaque certificat CA personnalisé individuellement. L'ordre dans lequel ils apparaissent peut varier. Il n'est pas garanti qu'ils figurent à la fin de la liste.

    L'exemple suivant illustre un 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-----