Rechercher

8.6. Création d'une règle sudo dans l'interface Web IdM qui exécute une commande en tant que compte de service sur un client IdM

download PDF

Dans IdM, vous pouvez configurer une règle sudo avec une règle RunAs alias pour exécuter une commande sudo en tant qu'autre utilisateur ou groupe. Par exemple, vous pouvez avoir un client IdM qui héberge une application de base de données et vous devez exécuter des commandes en tant que compte de service local correspondant à cette application.

Utilisez cet exemple pour créer une règle sudo dans l'IdM WebUI appelée run_third-party-app_report pour permettre au compte idm_user d'exécuter la commande /opt/third-party-app/bin/report en tant que compte de service thirdpartyapp sur l'hôte idmclient.

Conditions préalables

  • Vous êtes connecté en tant qu'administrateur IdM.
  • Vous avez créé un compte utilisateur pour idm_user dans IdM et déverrouillé le compte en créant un mot de passe pour l'utilisateur. Pour plus d'informations sur l'ajout d'un nouvel utilisateur IdM à l'aide de la ligne de commande, voir Ajouter des utilisateurs à l'aide de la ligne de commande.
  • Aucun compte local idm_user n'est présent sur l'hôte idmclient. L'utilisateur idm_user n'est pas répertorié dans le fichier local /etc/passwd.
  • Vous avez une application personnalisée nommée third-party-app installée sur l'hôte idmclient.
  • La commande report pour l'application third-party-app est installée dans le répertoire /opt/third-party-app/bin/report.
  • Vous avez créé un compte de service local nommé thirdpartyapp pour exécuter les commandes de l'application third-party-app.

Procédure

  1. Ajouter la commande /opt/third-party-app/bin/report à la base de données IdM des commandes sudo:

    1. Naviguez vers Policy Sudo Sudo Commands.
    2. Cliquez sur Add dans le coin supérieur droit pour ouvrir la boîte de dialogue Add sudo command.
    3. Entrez la commande : /opt/third-party-app/bin/report.

      A screenshot of a pop-up window labeled "Add sudo command." There is a required field labeled "Sudo command" with contents "/opt/third-party-app/bin/report". A "Description" field is empty. The lower-right of the window has four buttons: "Add" - "Add and Add Another" - "Add and Edit" - "Cancel".
    4. Cliquez sur Add.
  2. Utilisez l'entrée de commande new sudo pour créer la nouvelle règle sudo:

    1. Naviguez vers Policy Sudo Sudo rules.
    2. Cliquez sur Add dans le coin supérieur droit pour ouvrir la boîte de dialogue Add sudo rule.
    3. Saisissez le nom de la règle sudo: run_third-party-app_report.

      A screenshot of a pop-up window labeled "Add sudo rule." There is a required field labeled "Rule name" with contents "run_third-party-app_report". The lower-right of the window has four buttons: "Add" - "Add and Add Another" - "Add and Edit" - "Cancel".
    4. Cliquez sur Add and Edit.
    5. Spécifiez l'utilisateur :

      1. Dans la section Who, cochez le bouton radio Specified Users and Groups.
      2. Dans la sous-section User category the rule applies to, cliquez sur Add pour ouvrir la boîte de dialogue Add users into sudo rule "run_third-party-app_report".
      3. Dans la boîte de dialogue Add users into sudo rule "run_third-party-app_report", dans la colonne Available, cochez la case idm_user et déplacez-la dans la colonne Prospective.

        A screenshot of a pop-up window labeled "Add users into sudo rule." You can select users from an Available list on the left and move them to a Prospective column on the right. The lower-right of the window has two buttons: "Add" - "Cancel".
      4. Cliquez sur Add.
    6. Spécifiez l'hôte :

      1. Dans la section Access this host, cochez le bouton radio Specified Hosts and Groups.
      2. Dans la sous-section Host category this rule applies to, cliquez sur Add pour ouvrir la boîte de dialogue Add hosts into sudo rule "run_third-party-app_report".
      3. Dans la boîte de dialogue Add hosts into sudo rule "run_third-party-app_report", dans la colonne Available, cochez la case idmclient.idm.example.com et déplacez-la dans la colonne Prospective.

        A screenshot of a pop-up window labeled "Add hosts into sudo rule." You can select hosts from an Available list on the left and move them to a Prospective column on the right. The lower-right of the window has two buttons: "Add" - "Cancel".
      4. Cliquez sur Add.
    7. Spécifiez les commandes :

      1. Dans la sous-section Command category the rule applies to de la section Run Commands, cochez le bouton radio Specified Commands and Groups.
      2. Dans la sous-section Sudo Allow Commands, cliquez sur Add pour ouvrir la boîte de dialogue Add allow sudo commands into sudo rule "run_third-party-app_report".
      3. Dans la boîte de dialogue Add allow sudo commands into sudo rule "run_third-party-app_report", dans la colonne Available, cochez la case /opt/third-party-app/bin/report et déplacez-la dans la colonne Prospective.

        A screenshot of a pop-up window labeled "Add allow sudo commands into sudo rule." You can select sudo commands from an Available list on the left and move them to a Prospective column on the right. The lower-right of the window has two buttons: "Add" - "Cancel".
      4. Cliquez sur Add pour revenir à la page run_third-party-app_report.
    8. Spécifiez l'utilisateur RunAs :

      1. Dans la section As Whom, cochez le bouton radio Specified Users and Groups.
      2. Dans la sous-section RunAs Users, cliquez sur Add pour ouvrir la boîte de dialogue Add RunAs users into sudo rule "run_third-party-app_report".
      3. Dans la boîte de dialogue Add RunAs users into sudo rule "run_third-party-app_report", saisissez le compte de service thirdpartyapp dans la case External et déplacez-le dans la colonne Prospective.

        A screenshot of a dialog box where you can specify the "thirdpartyapp" service account as an external user.
      4. Cliquez sur Add pour revenir à la page run_third-party-app_report.
    9. Cliquez sur Save dans le coin supérieur gauche.

La nouvelle règle est activée par défaut.

Figure 8.3. Détails de la règle sudo

A screenshot of an overview of the sudo rule that was added. The "Who" section has an entry for "idm_user." The "Access this host" section has "idmclient.idm.example.com." The "Run Commands" section has the "/opt/third-party-app/bin/report" command. The "As Whom" section lists the "thirdpartyapp" account.
Note

La propagation des changements du serveur au client peut prendre quelques minutes.

Verification steps

  1. Connectez-vous à l'hôte idmclient en tant que compte idm_user.
  2. Testez la nouvelle règle sudo :

    1. Affiche les règles sudo que le compte idm_user est autorisé à appliquer.

      [idm_user@idmclient ~]$ sudo -l
      Matching Defaults entries for idm_user@idm.example.com on idmclient:
          !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
          env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
          env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
          env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
          env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
          env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY KRB5CCNAME",
          secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
      
      User idm_user@idm.example.com may run the following commands on idmclient:
          (thirdpartyapp) /opt/third-party-app/bin/report
    2. Exécutez la commande report en tant que compte de service thirdpartyapp.

      [idm_user@idmclient ~]$ sudo -u thirdpartyapp /opt/third-party-app/bin/report
      [sudo] password for idm_user@idm.example.com:
      Executing report...
      Report successful.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.