Recourir aux utilisateurs de service pour un déploiement continu

Une infrastructure qui utilise un déploiement continu automatisé nécessite souvent SSH pour le déploiement d'un logiciel ou l'exécution de tâches. De façon générale, ce type d'automatisation exécute SSH avec un compte utilisateur local sur un serveur d'intégration continue/de déploiement continu (CI/CD) dédié. Par exemple, les tâches Jenkins automatisées sont susceptibles d'être exécutées via l'utilisateur « Jenkins » sur un serveur Linux. Avec Advanced Server Access, vous pouvez créer des utilisateurs de service afin d'automatiser le déploiement vers vos serveurs cibles.

Avant de commencer

  • Vous devez installer le client Advanced Server Access sur l'hôte dont l'utilisateur non géré est lié à l'utilisateur de service.
  • Accorder à un groupe l'accès à l'hôte contenant le compte de l'utilisateur de service.

Créer un utilisateur de service pour un déploiement continu

  1. Depuis le tableau de bord Advanced Server Access, cliquez sur Utilisateurs.
  2. Sélectionnez l'onglet Utilisateurs de service.
  3. Cliquez sur Créer l'utilisateur de service. La page Créer l'utilisateur de service apparaît.
  4. Saisissez un nom d'utilisateur pour l'utilisateur de service. Le système crée automatiquement des noms d'utilisateur Linux et Windows correspondants. Cliquez sur Créer l'utilisateur de service afin de finaliser la création de l'utilisateur de service.
  5. Cliquez sur Créer une clé API. La page Secret de clé API apparaît.
  6. Copiez et stockez l'ID de la clé d'API et le secret de clé d'API depuis cette page. Remarque : une fois la fenêtre fermée, vous ne pourrez plus récupérer cette information. Si vous la perdez, vous devrez générer un nouvel ID d'API et une nouvelle clé.

Créer un service pour un projet

  1. Cliquez sur Projets dans le tableau de bord Advanced Server Access de votre équipe. La page Projets s'affiche.
  2. Cliquez sur le projet qui comprend le serveur exécutant le service à assigner à l'utilisateur de service.
  3. Sélectionnez l'onglet Serveurs.
  4. Choisissez le serveur sur lequel vous souhaitez utiliser l'utilisateur de service.
  5. Sélectionnez l'onglet Services. Cliquez sur Ajouter un service.
  6. Sélectionnez l'utilisateur de service que vous avez créé dans le menu déroulant Utilisateur de service. Saisissez l'identifiant unique (UID) d'un utilisateur non géré dans le champ UID.

Ajouter l'utilisateur de service au groupe

  1. Cliquez sur Groupes dans le tableau de bord Advanced Server Access.
  2. Sélectionnez un groupe qui appartient au projet comportant le serveur sur lequel l'utilisateur de service sera déployé.
  3. Sélectionnez l'onglet Utilisateurs.
  4. Saisissez le nom d'utilisateur de l'utilisateur de service que vous avez créé. Cliquez sur Ajouter un utilisateur.

Activer l'authentification d'utilisateurs de service

Assurez-vous d'installer le client Advanced Server Access sur le serveur lié à l'utilisateur du service que vous créez. En installant le client et en activant l'authentification pour les utilisateurs de service, vous pouvez utiliser les identifiants d'un utilisateur de service pour exécuter des tâches. L'agent serveur Advanced Server Access doit être installé et exécuté sur le serveur.

  1. Se connecter au serveur de l'utilisateur de service :

    ssh <target-server>

  2. Passez à l'utilisateur racine :

    sudo su -

  3. Passer à l'utilisateur non géré lié à l'utilisateur de service Advanced Server Access :

    su - <unmanaged-user>

  4. Activer l'authentification d'utilisateurs de service :

    sft config service_auth.enable true

  5. Mettre à jour votre configuration SSH :

    sft ssh-config >> ~/.ssh/config