Okta Privileged AccessにエージェントのLifecycle Managementフックを構成する
Okta Privileged Accessのライフサイクルフック機能は、Linuxシステムのローカルユーザーとグループの構成にメンバーシップの変更が加えられた時に、通知を受信するサーバーのイベントバスを公開します。Okta Privileged Access管理者は、スクリプトを使用してライフサイクルフックをカスタマイズして、これらの変更が発生したときに実行する必要のあるルーチンタスクに適合させることができます。ローカルスクリプトもグローバルに実行され、/usr/lib/sftd/hooksディレクトリの下位にあるすべてのファイルに一致させます。発生しているイベントに応じて、影響を受けるオペレーティングシステムのオブジェクトを検出し、どのスクリプトが実行されているかを確認できます。ディレクトリとスクリプトとライフサイクル関連の環境変数をご覧ください。
手順
以下の手順は、ホスト上のセットアップを実行するためのガイドとして利用してください。
開始する前に、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のユーザーとグループに統合する方法を示します。
関連情報
ディレクトリとスクリプト
次のセクションでは、発生したユーザーイベントに応じて呼び出されるディレクトリとスクリプトについて詳しく説明します。イベントタイプは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 |