20.5. IdM クライアントでサービスアカウントとしてコマンドを実行する CLI での sudo ルールの作成
IdM では、RunAs エイリアス を使用して、sudo ルールを設定し、別のユーザーまたはグループとして sudo コマンドを実行できます。たとえば、データベースアプリケーションをホストする IdM クライアントが存在し、そのアプリケーションに対応するローカルサービスアカウントとしてコマンドを実行する必要があるとします。
この例を使用して、run_third-party-app_report と呼ばれるコマンドラインに sudo ルールを作成し、idm_user アカウントが idmclient ホストの thirdpartyapp サービスアカウントとして /opt/third-party-app/bin/report コマンドを実行できるようにします。
前提条件
- IdM 管理者としてログインしている。
-
IdM で
idm_userのユーザーアカウントを作成し、ユーザーのパスワードを作成してそのアカウントのロックを解除している。CLI を使用して新しい IdM ユーザーを追加する方法の詳細は、コマンドラインを使用したユーザーの追加 を参照してください。 -
idmclientホストにローカルidm_userアカウントが存在しない。idm_userユーザーは、ローカルの/etc/passwdファイルには表示されません。 -
idmclientホストに、third-party-appという名前のカスタムアプリケーションがインストールされている。 -
third-party-appアプリケーションのreportコマンドが、/opt/third-party-app/bin/reportディレクトリーにインストールされている。 -
third-party-appアプリケーションにコマンドを実行するために、thirdpartyappという名前のローカルサービスアカウントを作成している。
手順
IdM の
管理者として Kerberos チケットを取得します。kinit admin
[root@idmclient ~]# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow /opt/third-party-app/bin/reportコマンドを、sudoコマンドの IdM データベースに追加します。ipa sudocmd-add /opt/third-party-app/bin/report
[root@idmclient ~]# ipa sudocmd-add /opt/third-party-app/bin/report ---------------------------------------------------- Added Sudo Command "/opt/third-party-app/bin/report" ---------------------------------------------------- Sudo Command: /opt/third-party-app/bin/reportCopy to Clipboard Copied! Toggle word wrap Toggle overflow run_third-party-app_reportという名前のsudoルールを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow --users=<user>オプションを使用して、sudorule-add-runasuserコマンドに RunAs ユーザーを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー (または
--groups=*オプションで指定したグループ) は、ローカルサービスアカウントや Active Directory ユーザーなどの IdM の外部に配置できます。グループ名には%接頭辞を追加しないでください。/opt/third-party-app/bin/reportコマンドをrun_third-party-app_reportルールに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow run_third-party-app_reportルールを IdMidmclientホストに適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow idm_userアカウントーをrun_third-party-app_reportルールに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
サーバーからクライアントへの変更の伝播には数分かかる場合があります。
検証
-
idmclientホストにidm_userアカウントとしてログインします。 新しい sudo ルールをテストします。
idm_userアカウントが実行可能なsudoルールを表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow reportコマンドをthirdpartyappサービスアカウントとして実行します。sudo -u thirdpartyapp /opt/third-party-app/bin/report
[idm_user@idmclient ~]$ sudo -u thirdpartyapp /opt/third-party-app/bin/report [sudo] password for idm_user@idm.example.com: Executing report... Report successful.Copy to Clipboard Copied! Toggle word wrap Toggle overflow