Configurer les appels de gestion du cycle de vie de l'agent pour Advanced Server Access

Les appels de cycle de vie Advanced Server Access exposent un bus d'événements sur vos serveurs qui est notifié lorsqu'un administrateur met à jour les utilisateurs en local et les configurations de groupe. Les administrateurs Advanced Server Access peuvent personnaliser ces appels de cycle de vie grâce à des scripts qui s'adapteront à toutes les tâches de routine devant être exécutées lorsque ces modifications sont apportées. Les appel exécutent des scripts pour tous les fichiers correspondants dans le répertoire des appels configurés. Vous pouvez découvrir quels objets du système d'exploitation sont affectés en fonction de l'événement et voir quels scripts sont en cours d'exécution. Voir la page dédiée aux Répertoires et scripts et aux Variables d'environnement relatives au cycle de vie.

Configuration

L'option AccountLifecycleHooksDir dans sftd.yaml spécifie le répertoire depuis lequel l'agent Advanced Server Access charge les scripts d'appel de cycle de vie. Les chemins par défaut suivants s'appliquent si cette option n'est pas définie :

Système d'exploitation Répertoire des appels par défaut
Linux et macOS /usr/lib/sftd/hooks
Windows C:\Program Files\ScaleFT\hooks

Pour remplacer les paramètres par défaut, ajoutez l'option AccountLifecycleHooksDir à sftd.yaml avec le chemin d'accès au répertoire de vos appels :

AccountLifecycleHooksDir: /path/to/your/hooks

Procédure

Les étapes suivantes vous permettront de configurer le serveur hôte pas-à-pas.

Créer un script personnalisé

  1. Depuis la ligne de commande, utilisez SSH pour vous connecter à l'un des serveurs Linux cibles.

  2. Passez en mode root en exécutant la commande sudo su.

  3. Créez un nouveau répertoire pour le script hooks en utilisant la commande suivante :

    mkdir -p /usr/lib/sftd/hooks/user-created.d

  4. À l'aide d'un éditeur de texte, créez un nouveau fichier portant le nom 01-copyfiles.sh et copiez-collez le script bash suivant :

    Remarque : l'exemple ci-dessous présente les fonctionnalités de base des appels de cycle de vie de l'agent. Si nécessaire, modifiez le script pour qu'il corresponde à votre propre intégration.

    #!/bin/bash
    SOURCE_FILES=/opt/sourcefiles
    cp $SOURCE_FILES/App?/home/"${SFT_HOOK_USERNAME}"
    if [ $? -eq 0 ]
    then
    echo "Successfully copied source files into /home/"${SFT_HOOK_USERNAME}"" >> /tmp/sourcefiles.out
    else
    echo "Error Copying source files into /home/"${SFT_HOOK_USERNAME}"" >> /tmp/sourcefiles.out
  5. Accordez au script la permission d'accéder à l'exécution :

    chmod 755 01-copyfiles.sh

  6. Exécutez la commande ls -l et vérifiez que les permissions ont bien été configurées. Le résultat doit être le suivant :

    -rwxr-xr-x 1 root root 316 Jun 30 14:54 01-copyfiles.sh

Créer des fichiers source

  1. Créez un répertoire pour les fichiers source en exécutant les commandes suivantes :

    cd /opt
    
    mkdir sourcefiles
  2. Créez ensuite les fichiers source à l'aide des commandes suivantes :

    cd sourcefiles
    touch App1 App2 App3
  3. Exécutez la commande ls et vérifiez que les fichiers App1, App2, et App3 ont bien été créés.

Créer un utilisateur Okta et l'affecter à un groupe autorisé

  1. En tant qu'administrateur Okta, accédez au Admin Dashboard du Tenant Okta qui gère votre application Advanced Server Access.

  2. Accédez à Applications et cliquez sur Okta Advanced Server Access .

  3. Cliquez sur Affectations, puis sur Groupes. Mémorisez le nom du groupe qui a été affecté à l'application.

  4. Dans Admin Console, sélectionnez Directory, Personnes puis Ajouter une personne.

  5. Créez un utilisateur et donnez-lui un nom facile à mémoriser.

  6. Dans Admin Console, accédez au Directory puis cliquez sur Groupes. Lorsque vous serez sur cette page, sélectionnez le groupe qui a été affecté à Advanced Server Access à l'étape 3.

Ajouter le groupe à votre projet

  1. Dans Admin Console, cliquez sur Mes applications, puis sélectionnez Okta Advanced Server Access .

  2. Cliquez sur Projets.

  3. Cliquez sur le projet auquel vous souhaitez ajouter le groupe.

  4. Cliquez sur l'onglet Groupes, puis cliquez sur Ajouter un groupe à un projet.

  5. Dans le champ Groupe, indiquez le nom du groupe à ajouter. Sélectionnez le groupe, puis cliquez sur Créer un groupe.

  6. Assurez-vous que l'utilisateur a bien été ajouté au projet. Cliquez sur l'onglet Utilisateurs du projet et recherchez l'utilisateur.

Valider l'approvisionnement des utilisateurs sur votre serveur Linux

  1. Depuis l'invite de commande Linux, saisissez les commandes suivantes :

    cd /home
    ls -l
  2. Vérifiez que le répertoire personnel de votre nouvel utilisateur a bien été créé.

  3. Basculez vers le répertoire personnel du nouvel utilisateur en exécutant cd <username>.

    Vous pouvez vérifier que les fichiers App1, App2 et App3 existent bien dans le répertoire personnel de l'utilisateur à l'aide de la commande ls.

Ces étapes vous permettront d'utiliser l'agent des appels de cycle de vie de Advanced Server Access pour que vos utilisateurs et groupes puissent intégrer des automatisations, systèmes ou répertoires d'utilisateur externe en hôte local dans Okta.

Informations liées

Répertoires et scripts

Les répertoires et scripts suivants sont appelés en fonction de l'événement utilisateur ou de groupe survenu. Les chemins affichés utilisent le répertoire de base par défaut de Linux et macOS. Si AccountLifecycleHooksDir est défini dans sftd.yaml, le répertoire de base diffère en conséquence. Le type d'événement est contenu dans la variable SFT_HOOK_EVENT. Consultez Variables d'environnement relatives au cycle de vie.

Utilisateur

  • user-created

    Lorsqu'un utilisateur est créé, les scripts sont exécutés dans le répertoire suivant : /usr/lib/sftd/hooks/user-created.d/*.sh.

  • user-updated

    Lorsqu'un utilisateur est mis à jour, les scripts sont exécutés dans le répertoire suivant : /usr/lib/sftd/hooks/user-updated.d/*.sh.

  • user-deleted

    Lorsqu'un utilisateur est supprimé, les scripts sont exécutés dans le répertoire suivant : /usr/lib/sftd/hooks/user-deleted.d/*.sh.

Groupe

  • group-created

    Lorsqu'un groupe est créé, les scripts dans /usr/lib/sftd/hooks/group-created.d/*.sh sont exécutés.

  • group-updated

    Lorsqu'un groupe est mis à jour, les scripts dans /usr/lib/sftd/hooks/group-updated.d/*.sh sont exécutés.

  • group-deleted

    Lorsque l'approvisionnement d'un groupe est annulé, les scripts dans /usr/lib/sftd/hooks/group-deleted.d/*.sh sont exécutés.

Variables d'environnement relatives au cycle de vie

Utilisateur

Hook Variable d'environnement Contenus
user-created SFT_HOOK_EVENT user-created
user-created SFT_HOOK_USERNAME alice.smith
user-updated SFT_HOOK_EVENT user-updated
user-updated SFT_HOOK_USERNAME alice.smith
user-deleted SFT_HOOK_EVENT user-deleted
user-deleted SFT_HOOK_USERNAME alice.smith

Groupe

Hook Variable d'environnement Contenus
group-created SFT_HOOK_EVENT group-created
group-created SFT_HOOK_GROUPNAME Tout le monde
group-updated SFT_HOOK_EVENT group-updated
group-updated SFT_HOOK_GROUPNAME AWS-fr
group-deleted SFT_HOOK_EVENT group-deleted
group-deleted SFT_HOOK_GROUPNAME t1-support