Génération de certificats via l’intégration Cert-Manager

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • Demandez un certificat via Kubernetes cert-manager à l’aide de l’émetteur ServiceNow externe (sn-external-issuer) et enregistrez le certificat et ses informations connexes en toute sécurité dans la Kubernetes grappe en tant que secret. Dans Kubernetes, une clé secrète est un objet qui vous permet de stocker et de gérer des informations sensibles, telles que des mots de passe, des clés API et des certificats.

    Pour plus d’informations sur la création d’un émetteur externe, consultez Création et déploiement d’un émetteur externe pour Certificate Management [KB1435392].

    Exigences de déploiement

    • Déployez cert-manager dans votre Kubernetes environnement. Mettez à jour manager.yaml avec l’URL de l’instance, le groupe de propriétaires du certificat, le propriétaire du certificat, l’environnement et le suivi du renouvellement.
    • Déployez l’émetteur ServiceNow externe (sn-external-issuer) dans votre Kubernetes environnement. Créez un secret clusterissuer-servicenow-credentials avec le nom d’utilisateur Kubernetes et le mot de passe de l’instance, en veillant à ce que l’utilisateur dispose des rôles nécessaires pour demander un certificat.
    • L’émetteur ServiceNow externe prend en charge l’architecture amd64 ainsi que la dernière version de Kubernetes, 1.33.3.

    ServiceNow Émetteur externe (sn-external-issuer)

    • Les émetteurs externes étendent les fonctionnalités de gestionnaire de certificats pour émettre des certificats via des API et des services non essentiels.
    • L’émetteur ServiceNow externe est une implémentation spécifique à ServiceNow d’un émetteur externe.
    • Lorsqu’une nouvelle tâche de certification est créée, son UID de demande de certificat et son ID système de la tâche de certification sont stockés dans le cache JSON local et dans la table UID de demande de certificat vers la table Carte de tâche sur l’instance.
    • L’émetteur ServiceNow externe interroge l’instance pour surveiller l’état de la tâche de certificat.
    • Si la tâche de certificat est dans l’état Travail en cours , son UID de demande de certificat et son ID système de la tâche de certification sont ajoutés à la table Carte d’UID de l’émetteur externe sur l’instance et dans le cache JSON local. Pendant ce temps, Cert-manager tente automatiquement de demander le certificat.
    • À la réception d’une demande de certificat, le gestionnaire de certificats recherche une tâche correspondante dans le cache JSON local. Si elle est trouvée, elle interroge la même tâche ; sinon, il interroge l’instance pour obtenir des enregistrements à partir de la table Carte d’UID de l’émetteur externe et remplit le cache JSON local.
    • Une fois que la tâche est marquée comme terminée et que le certificat est généré, l’émetteur ServiceNow externe envoie une autre demande à l’instance, télécharge la pièce jointe du certificat et met à jour la ressource de certificat et le secret correspondant dans Kubernetes.

    Déploiement de l’émetteur externe ServiceNow dans Kubernetes

    Le déploiement de l’émetteur Kubernetes externe ServiceNow dans implique les étapes suivantes :
    1. À partir de la page de téléchargement de l’instance ServiceNow, procurez-vous le graphique en barres ou le package zip YAML.
    2. Personnalisez les fichiers manager.yaml ou values.yaml selon vos besoins pour votre cas d’utilisation spécifique. Ces fichiers peuvent inclure des informations essentielles telles que l’URL de l’instance et le groupe de propriétaires du certificat.
    3. Créez un Kubernetes secret nommé clusterissuer-servicenow-credentials avec le nom d’utilisateur et le mot de passe de l’instance.
      Exemple de commande :
      • Créez un Kubernetes secret nommé clusterissuer-servicenow-credentials avec le nom d’utilisateur et le mot de passe de l’instance. Exemple de commande :
        kubectl create secret generic clusterissuer-servicenow-credentials
                      --from-literal=user=<user_name> --from-literal=password=<password> -n
                    system
      • Assurez-vous que l’utilisateur dispose des rôles nécessaires pour demander des certificats.
    4. Exécutez les commandes suivantes pour le déploiement.
      kubectl create ns system
      kubectl apply -f crd
      kubectl apply -f rbac
      kubectl apply -f issuers
      kubectl apply -f manager/manager.yaml
    5. (Facultatif) Personnalisez toutes les configurations supplémentaires dans les fichiers en fonction de vos besoins spécifiques.
    6. Assurez-vous que le déploiement est réussi et que l’émetteur externe ServiceNow est opérationnel.

    Demander un nouveau flux de certificats

    Après le déploiement, soumettez une ressource de certificat avec les informations suivantes dans un fichier nommé certificate_clusterissuer.yaml.

    • issuerRef : clusterissuer-servicenow
    • Émetteur : issuer-servicenow
    • type : ClusterIssuer
    • issuerRef : servicenow-issuer.servicenow.com

    Voici un exemple de ressource de certificat :

    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
    name: certificate-by-clusterissuer
    spec:
    commonName: certificate-by-clusterissuer.servicenow.com
    secretName: certificate-by-clusterissuer
    dnsNames:
    - servicenow.com
    - foo.servicenow.com
    issuerRef:
    name: clusterissuer-servicenow
    group: servicenow-issuer.servicenow.com
    kind: ClusterIssuer

    Appliquer la ressource de certificat à l’aide de kubectl apply -f certificate_clusterissuer.yaml