56.6. IdM クライアントでサービスアカウントとしてコマンドを実行する IdM WebUI での sudo ルールの作成
IdM では、RunAs エイリアス を使用して、sudo ルールを設定し、別のユーザーまたはグループとして sudo コマンドを実行できます。たとえば、データベースアプリケーションをホストする IdM クライアントが存在し、そのアプリケーションに対応するローカルサービスアカウントとしてコマンドを実行する必要があるとします。
この例を使用して、run_third-party-app_report という IdM WebUI に 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という名前のローカルサービスアカウントを作成している。
手順
/opt/third-party-app/bin/reportコマンドを、sudoコマンドの IdM データベースに追加します。- Policy>Sudo>Sudo Commands に移動します。
- 右上にある Add をクリックして、Add sudo command ダイアログボックスを開きます。
-
コマンド
/opt/third-party-app/bin/reportを入力します。 - Add をクリックします。
新しい
sudoコマンドエントリーを使用して、新しいsudoルールを作成します。-
Policy
Sudo Sudo ルールに移動します。 - 右上にある Add をクリックして、Add sudo rule ダイアログボックスを開きます。
-
sudoルールの名前 run_third-party-app_report を入力します。 - Add and Edit をクリックします。
ユーザーを指定します。
- Who セクションで、Specified Users and Groups のラジオボタンを選択します。
- User セクションで Add をクリックし、Add users into sudo rule "run_third-party-app_report" ダイアログボックスを開きます。
- Available 列で、idm_user チェックボックスをオンにして、Prospective 列に移動します。
- Add をクリックします。
ホストを指定します。
- Access this host セクションで、Specified Hosts and Groups ラジオボタンを確認します。
- Hosts セクションで Add をクリックし、Add hosts into sudo rule "run_third-party-app_report" ダイアログボックスを開きます。
- Available 列で、idmclient.idm.example.com チェックボックスをオンにして、Prospective 列に移動します。
- Add をクリックします。
コマンドを指定します。
- Run Commands セクションで、Specified Commands and Groups ラジオボタンをオンにします。
- Sudo Allow Commands セクションで、Add をクリックして、Add allow sudo commands into sudo rule "run_third-party-app_report" ダイアログボックスを開きます。
-
Available 列で、
/opt/third-party-app/bin/reportチェックボックスをオンにして、Prospective 列に移動します。 - Add をクリックして、run_third-party-app_report のページに戻ります。
RunAs ユーザーを指定します。
- As Whom で、指定したユーザーとグループ のラジオボタンを確認します。
- RunAs Users セクションで Add をクリックし、Add RunAs users into sudo rule "run_third-party-app_report" ダイアログボックスを開きます。
-
External ボックスに
thirdpartyappサービスアカウントを入力し、Prospective 列に移動します。 - Add をクリックして、run_third-party-app_report のページに戻ります。
- 左上隅にある Save をクリックします。
-
Policy
新しいルールはデフォルトで有効になります。
サーバーからクライアントへの変更の伝播には数分かかる場合があります。
検証
-
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