Okta Privileged AccessにエージェントのLifecycle Managementフックを構成する

Okta Privileged Accessのライフサイクルフック機能は、Linuxシステムのローカルユーザーとグループの構成にメンバーシップの変更が加えられた時に、通知を受信するサーバーのイベントバスを公開します。Okta Privileged Access管理者は、スクリプトを使用してライフサイクルフックをカスタマイズして、これらの変更が発生したときに実行する必要のあるルーチンタスクに適合させることができます。ローカルスクリプトもグローバルに実行され、/usr/lib/sftd/hooksディレクトリの下位にあるすべてのファイルに一致させます。発生しているイベントに応じて、影響を受けるオペレーティングシステムのオブジェクトを検出し、どのスクリプトが実行されているかを確認できます。ディレクトリとスクリプトライフサイクル関連の環境変数をご覧ください。

手順

以下の手順は、ホスト上のセットアップを実行するためのガイドとして利用してください。

カスタムスクリプトを作成する

  1. コマンドラインから、SSHを使用してターゲットLinuxサーバーの1つに接続します。

  2. sudo suを実行してrootに切り替えます

  3. 次のコマンドでフックスクリプト用のディレクトリを作成します。

    mkdir -p /usr/lib/sftd/hooks/user-created.d

  4. テキストエディターで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
  5. スクリプト実行のアクセス権限を許可する:

    chmod 755 01-copyfiles.sh

  6. ls -lコマンドを実行し、権限が正しく設定されていることを確認します。出力は次のようになります:

    -rwxr-xr-x 1 root root 316 Jun 30 14:54 01-copyfiles.sh

ソースファイルを作成する

  1. 次のコマンドを実行して、ソースファイル用のディレクトリを作成します。

    cd /opt
    mkdir sourcefiles
  2. 次に、以下のコマンドでソースファイルを作成します。

    cd sourcefiles
    touch App1 App2 App3
  3. lsコマンドを実行して、App1App2App3ファイルが作成されていることを確認します。

Oktaユーザーを作成して承認されたグループに割り当てる

  1. Okta Privileged Accessアプリケーションを管理するOktaテナントの 管理者ダッシュボード Okta管理者として移動します。
  2. アプリケーション(Applications) に移動し、 Okta Okta Privileged Access をクリックします。
  3. 割り当て(Assignments)グループ(Groups)の順にクリックします。アプリケーションが割り当てられているグループの名前を記憶してください。
  4. OktaAdmin Consoleディレクトリ(Directory)、(Directory)ユーザー(People)、(People)ユーザーを追加(Add Person)を選択します。(Add Person)
  5. 覚えやすい名前でユーザーを作成します。
  6. OktaAdmin Consoleディレクトリ(Directory)に移動し、グループ(Groups)をクリックします。手順3でOkta Privileged Accessに割り当てられたグループをここから選択します。

Linuxサーバーでのユーザーのプロビジョニングを検証する

  1. Linuxコマンドプロンプトで次のコマンドを入力してください。

    cd /home
    ls -l
  2. 新しいユーザーのホームディレクトリが作成されていることを確認します。

  3. cd <username>を実行して、新規ユーザーのホームディレクトリに切り替えます。

    lsコマンドを使用して、ユーザーのホームディレクトリにApp1App2App3ファイルが存在することを確認できます。

ここでは、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