Okta Privileged AccessにエージェントのLifecycle Managementフックを構成する
Okta Privileged Accessライフサイクルフックは、管理者がローカルユーザーとグループの構成を更新したときに通知を受信するサーバー上のイベントバスを公開します。Okta Privileged Access管理者は、スクリプトを使用してこれらのライフサイクルフックをカスタマイズして、これらの変更が行われたときに実行する必要のあるルーチンタスクに適合させることができます。フックは、構成されたフックディレクトリ内の、一致するすべてのファイルに対してスクリプトを実行します。イベントに応じて影響を受けるオペレーティングシステムのオブジェクトを検出し、どのスクリプトが実行されているかを確認できます。ディレクトリとスクリプトとライフサイクル関連の環境変数をご覧ください。
構成オプション
sftd.yaml内のAccountLifecycleHooksDirオプションは、Okta Privileged Accessエージェントがライフサイクルフックのスクリプトを読み込むディレクトリを指定します。このオプションが設定されていない場合は、次のデフォルトパスが適用されます。
| オペレーティングシステム | デフォルトのフックディレクトリ |
|---|---|
| LinuxとmacOS | /usr/lib/sftd/hooks |
| Windows | C:\Program Files\ScaleFT\hooks |
デフォルト設定を上書きするには、AccountLifecycleHooksDirオプションをsftd.yamlに追加し、フックディレクトリへのパスを指定します。
AccountLifecycleHooksDir: /path/to/your/hooks
sftdが標準以外の場所にインストールされていると、エージェントはフックディレクトリを自動的に決定できません。ライフサイクルフックがアップグレード後も引き続き実行されるように、アップグレード前にsftd.yamlで明示的にAccountLifecycleHooksDirを設定します。
手順
以下の手順は、ホスト上のセットアップを実行するためのガイドとして利用してください。
開始する前に、Okta Privileged Accessのアクティブセッションが開いていること、ターゲットLinuxサーバーに対する管理者権限を所有していることを確認してください。
カスタムスクリプトを作成する
-
コマンドラインから、SSHを使用してターゲットLinuxサーバーの1つに接続します。
-
sudo suを実行してrootに切り替えます -
次のコマンドでフックスクリプト用のディレクトリを作成します。
mkdir -p /usr/lib/sftd/hooks/user-created.d -
テキストエディターで
01-copyfiles.shという名前のファイルを作成し、次のbashスクリプトをコピーして貼り付けます。注: 次の例では、エージェントライフサイクルフックの基本的な機能を示します。必要に応じて、特定の統合に適合するよう、スクリプトを変更します。
#!/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 -
スクリプト実行のアクセス権限を許可する:
chmod 755 01-copyfiles.sh -
ls -lコマンドを実行し、権限が正しく設定されていることを確認します。出力は次のようになります:-rwxr-xr-x 1 root root 316 Jun 30 14:54 01-copyfiles.sh
ソースファイルを作成する
-
次のコマンドを実行して、ソースファイル用のディレクトリを作成します。
cd /opt mkdir sourcefiles -
次に、以下のコマンドでソースファイルを作成します。
cd sourcefiles touch App1 App2 App3 -
lsコマンドを実行して、App1、App2、App3ファイルが作成されていることを確認します。
Oktaユーザーを作成して承認されたグループに割り当てる
- Okta Privileged Accessアプリケーションを管理するOktaテナントの 管理者ダッシュボード にOkta管理者として移動します。
- アプリケーション(Applications) に移動し、 Okta Okta Privileged Access をクリックします。
- 割り当て(Assignments)、グループ(Groups)の順にクリックします。アプリケーションが割り当てられているグループの名前を記憶してください。
- OktaAdmin Consoleディレクトリ(Directory)、(Directory)ユーザー(People)、(People)ユーザーを追加(Add Person)を選択します。(Add Person)
- 覚えやすい名前でユーザーを作成します。
- OktaAdmin Consoleでディレクトリ(Directory)に移動し、グループ(Groups)をクリックします。手順3でOkta Privileged Accessに割り当てられたグループをここから選択します。
Linuxサーバーでのユーザーのプロビジョニングを検証する
-
Linuxコマンドプロンプトで次のコマンドを入力してください。
cd /home ls -l -
新しいユーザーのホームディレクトリが作成されていることを確認します。
-
cd <username>を実行して、新規ユーザーのホームディレクトリに切り替えます。lsコマンドを使用して、ユーザーのホームディレクトリにApp1、App2、App3ファイルが存在することを確認できます。
ここでは、Okta Privileged Accessエージェントのライフサイクルフックを使用して、ホスト-ローカル自動化、システム、外部ユーザーディレクトリをOktaのユーザーとグループに統合する方法を示します。
関連情報
ディレクトリとスクリプト
以下のディレクトリとスクリプトが、発生したユーザーイベントに応じて呼び出されます。示されるパスでは、デフォルトのLinuxおよびmacOSベースディレクトリが使用されます。AccountLifecycleHooksDirがsftd.yamlで設定されていると、ベースディレクトリはそれに応じて異なります。イベントタイプはSFT_HOOK_EVENT変数にキャプチャされます。ライフサイクル関連の環境変数をご覧ください。
-
user-createdユーザーが作成されると、
/usr/lib/sftd/hooks/user-created.d/*.sh内のスクリプトが実行されます。 -
user-updatedユーザーが更新されると、
/usr/lib/sftd/hooks/user-updated.d/*.sh内のスクリプトが実行されます。 -
user-deletedユーザーが削除されると、
/usr/lib/sftd/hooks/user-deleted.d/*.sh内のスクリプトが実行されます。
ライフサイクル関連の環境変数
| フック | 環境変数 | 内容 |
|---|---|---|
| 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 |