Les SystemLink Enterprise secrets peuvent devoir être modifiés ou modifiés en fonction des changements apportés à votre environnement, aux politiques de sécurité de votre organisation ou à d'autres exigences opérationnelles. Différents secrets nécessitent différentes procédures pour assurer le bon fonctionnement après modification.

Pour obtenir des informations détaillées sur les types de secrets, les formats et les approches de gestion, reportez-vous à Secrets requis.
Remarque Ce document fournit des conseils pour faire pivoter manuellement les secrets gérés par Helm. Si vous utilisez des outils de gestion de secrets externes (tels que HashiCorp Vault, AWS Secrets Manager, Azure Key Vault), reportez-vous à la documentation de votre système de gestion de secrets pour consulter les procédures de rotation. Les gestionnaires secrets externes peuvent gérer la rotation et la synchronisation automatiques différemment des procédures manuelles décrites ici.

Procédures courantes de rotation secrète

  • Application de modifications secrètes :

    Après avoir modifié les secrets dans les fichiers de valeurs Helm, appliquez les modifications en utilisant la commande Helm upgrade :

    helm upgrade <release> oci://downloads.artifacts.ni.com/ni-docker/ni/helm-charts/systemlink --install --version <version> --namespace <namespace> --values systemlink-values.yaml --values systemlink-secrets.yaml
    Tableau 95. Paramètres de mise à niveau
    Paramètre Description
    finale Nom de version Helm de l'installation initiale.
    espace de noms L'espace de noms du déploiement SystemLink Enterprise.
    version La version SystemLink Enterprise.
  • Redémarrage des déploiements :

    Certains secrets nécessitent un redémarrage manuel du déploiement pour garantir que les services captent les nouvelles valeurs. Utilisez la commande kubectl rollout restart :

    kubectl rollout restart deployment/<release>-<service-name> -n <namespace>

    Pour redémarrer tous les déploiements en même temps :

    kubectl rollout restart deployment -n <namespace>
  • Redémarrage de StatefulSets :

    Pour redémarrer les services à états, utilisez la commande :

    kubectl rollout restart statefulset/<release>-<service-name> -n <namespace>

    Pour redémarrer tous les statefulsets en même temps, utilisez la commande :

    kubectl rollout restart statefulset -n <namespace>
  • Surveiller l'état des dosettes

    Après avoir permuté les secrets et redémarré les services, vérifiez que tous les pods reviennent à un état sain :

    kubectl rollout status deployment/<release>-<service-name> -n <namespace> --timeout=10m
    kubectl rollout status statefulset/<release>-<service-name> -n <namespace> --timeout=20m
    kubectl get pods -n <namespace>
    kubectl logs -l app.kubernetes.io/name=<service-name> -n <namespace> --tail=50

Processus général de rotation

La plupart des rotations secrètes suivent ce modèle :

  1. Modifiez les valeurs secrètes dans le fichier de valeurs Helm approprié.
  2. Appliquez les modifications en utilisant la commande Helm upgrade. Voir Procédures courantes ci-dessus.
  3. Redémarrez les déploiements ou statefulsets affectés si nécessaire. Voir les procédures secrètes individuelles ci-dessous.
  4. Surveillez les dosettes pour vous assurer qu'elles reviennent à un état sain.

Certains secrets ont des exigences spécifiques ou des étapes supplémentaires telles que décrites dans les procédures ci-dessous. Les secrets qui utilisent des variables d'environnement nécessitent généralement un redémarrage manuel des pods, tandis que les secrets montés en volume peuvent être récupérés automatiquement en fonction de la configuration de l'application.

Procédures secrètes de rotation

  • Secrets Image Pull :

    Modifiez le secret de tirage d'image dans systemlink-secrets.yaml et appliquez les modifications en exécutant la commande de mise à niveau Helm.

    Redémarrez tous les déploiements et statefulsets. Reportez-vous à Redémarrage des déploiements et Redémarrage des StatefulSets pour obtenir des instructions. Reportez-vous à la section Surveiller l'état des dosettes pour vérifier que toutes les dosettes reviennent à un état sain.

  • Secrets d'authentification :

    Modifiez le secret d'authentification dans systemlink-secrets.yaml et appliquez les changements en exécutant la commande de mise à niveau Helm. Redémarrez le déploiement du serveur Web. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

  • Informations d'identification du serveur proxy :

    Modifiez le secret du serveur proxy dans systemlink-secrets.yaml et appliquez les changements en exécutant la commande de mise à niveau Helm. Redémarrez le déploiement du serveur Web. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

  • Clés API et hachages whitelistés :

    Modifiez les clés API et les hachages secrets dans systemlink-secrets.yaml et appliquez les modifications en exécutant la commande de mise à niveau Helm. Redémarrez le déploiement du service associé à la clé API pivotée. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

    Reportez-vous à Required Secrets pour obtenir des informations sur les clés API et leurs services associés.

  • Clés de cryptage :
    Mise en garde Les clés de chiffrement utilisées pour chiffrer les données au repos ne peuvent pas pivoter sans migrer ou rechiffrer les données existantes. Changer ces clés peut entraîner une perte permanente d'accès aux données cryptées. Contactez le support technique de NI avant de faire pivoter les clés de chiffrement pour déterminer quelles clés peuvent être pivotées en toute sécurité.
    Pour les clés de chiffrement qui peuvent être pivotées en toute sécurité, modifiez les clés de chiffrement secrètes dans systemlink-secrets.yaml et appliquez les modifications en utilisant la commande de mise à niveau Helm. Redémarrez le déploiement associé à la clé de chiffrement spécifique. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.
  • Identifiants Dremio :

    Modifiez le secret d'identification Dremio dans systemlink-secrets.yaml et appliquez les modifications en utilisant la commande de mise à niveau Helm. Cela inclut les informations d'authentification Dremio et le jeton porteur Nessie. Redémarrez les déploiements dataframeservice et dataframeservice-nessie. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

    Réinitialisez Dremio après avoir changé les informations d'identification. Reportez-vous à Réinitialisation de Dremio pour obtenir des instructions.

  • Informations d'identification Elasticsearch :
    Remarque Cette procédure ne s'applique que si Elasticsearch est déployé dans le cadre de votre installation SystemLink Enterprise.

    Modifiez les informations d'identification Elasticsearch dans elasticsearch-secrets.yaml et systemlink-secrets.yaml. Mettez d'abord à niveau le graphe déroulant Elasticsearch pour mettre à jour les informations d'identification utilisateur, puis mettez à niveau le graphe déroulant SystemLink principal.

    Redémarrez les déploiements fileingestioncdc et fileingestion. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

  • Identifiants PostgreSQL :

    Modifiez le secret d'identification PostgreSQL dans systemlink-secrets.yaml et appliquez les modifications en utilisant la commande de mise à niveau Helm. Redémarrez les déploiements testmonitorservice, dynamicformfields et dashboardhost. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

  • Identifiants MongoDB :

    Modifiez le secret d'identification MongoDB dans systemlink-secrets.yaml et appliquez les modifications en utilisant la commande de mise à niveau Helm. Redémarrez tous les déploiements qui utilisent MongoDB. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.

    Reportez-vous à Required Secrets pour obtenir des informations sur les services qui utilisent MongoDB.

  • Identifiants RabbitMQ :

    Modifiez le secret d'identification de RabbitMQ dans systemlink-secrets.yaml. Avant d'appliquer les modifications, supprimez le jeu d'états RabbitMQ pour arrêter tous les pods RabbitMQ :

    kubectl delete statefulset <release>-rabbitmq -n <namespace>

    Vérifiez que tous les pods RabbitMQ se sont arrêtés :

    kubectl get pods -n <namespace> --selector=app.kubernetes.io/name=rabbitmq

    Après avoir arrêté tous les pods, répertoriez et supprimez toutes les allégations de volume persistant RabbitMQ :

    kubectl get pvc -n <namespace> --selector=app.kubernetes.io/name=rabbitmq
    kubectl delete pvc -n <namespace> --selector=app.kubernetes.io/name=rabbitmq

    Appliquez les modifications en utilisant la commande Helm upgrade. Voir Procédures courantes pour redéployer le jeu d'états RabbitMQ avec les nouvelles informations d'identification.

    Remarque En général, le système supprime automatiquement les volumes persistants lorsque leurs demandes sont supprimées. Si vous ne configurez pas le cluster pour une suppression automatique, vous pouvez supprimer manuellement les volumes persistants orphelins pour récupérer les ressources.
  • Identifiants Redis :

    Modifiez le secret d'identification de Redis dans systemlink-secrets.yaml. Supprimer l'ensemble d'états Redis :

    kubectl delete statefulset <release>-webserver-redis -n <namespace>

    Répertorier et supprimer toutes les demandes de volume persistantes Redis :

    kubectl get pvc -n <namespace> --selector=app.kubernetes.io/name=webserver-redis
    kubectl delete pvc -n <namespace> --selector=app.kubernetes.io/name=webserver-redis

    Appliquez les modifications en utilisant la commande Helm upgrade. Voir Procédures courantes pour redéployer l'état Redis avec les nouvelles informations d'identification.

  • Identifiants de stockage d'objets :
    • Flux, ingestion de fichiers et exécution de notebook :

      Modifiez les flux, l'ingestion de fichiers et les secrets d'exécution du notebook dans systemlink-secrets.yaml. Appliquez les modifications en utilisant la commande Helm upgrade. Redémarrez les déploiements de feedservice, file, nbexec-execution-service et nbexec-notebook-service. reportez-vous à Restarting Deployments pour obtenir des instructions.

      Remarque Cette procédure ne s'applique que si vous stockez des informations d'identification comme symbole d'accès sur le cluster. Reportez-vous à Stockage d'objets pour en savoir plus sur les options de stockage des informations d'identification.
    • DFS et Dremio :

      Modifiez les secrets DFS et Dremio dans systemlink-secrets.yaml. Appliquez les modifications en utilisant la commande Helm upgrade. Réinitialiser Dremio. Reportez-vous à Réinitialisation de Dremio pour plus de détails.

      Remarque Si vous n'utilisez pas le modèle SystemLink Enterprisesecret, modifiez en outre la configuration de stockage distribué Dremio. Reportez-vous à aws-secrets.yaml ou azure-secrets.yaml pour la configuration de stockage.
  • Identifiants SMTP :

    Modifiez le secret d'identification SMTP dans systemlink-secrets.yaml et appliquez les modifications en utilisant la commande de mise à niveau Helm. Redémarrez le déploiement SMTP. Reportez-vous à Redémarrage des déploiements pour obtenir des instructions.