REST APIを使用した認証情報のローテーション

概要
本ページでは、KeeperPAMのローテーションオプション「PAMスクリプトのみ実行」を使用して、REST APIを通じたパスワードローテーションを設定するための一般的な手順について取り扱います。この設定は、PAMユーザーレコードのローテーション設定において、メインのローテーション方法をスキップし、ボルトに添付されたスクリプト (ポストローテーションスクリプト) のみを直接実行させるものです。
本ページの最後にはPythonスクリプトのサンプルが含まれます。
要件
KSMアプリケーション: Keeperシークレットマネージャー (KSM) のアプリケーションが設定済みであること
共有フォルダ: 関連するレコードを格納するための共有フォルダが作成されていること
PAM構成: PAM構成が設定済みで、対応するゲートウェイが稼働中であること
REST APIトークン: 任意のAPIと連携するために必要なアクセストークンを取得していること
手順 1: REST APIトークンの取得
対象のアプリケーションまたはサービスで、APIトークンを生成します
Keeperボルトにレコードを作成し、このトークンを保存します
レコードタイプは「ログイン」を使用 (任意のタイプでも可)
APIトークンは「パスワード」欄に保存
組織のURLは「ウェブサイトアドレス」欄に入力
レコード名は 「API Access Details」 に設定 (スクリプト内で参照します)
手順 2: ローテーション対象ユーザーのPAMユーザーレコード作成
新たにPAMユーザーレコードを作成し、対象ユーザーの情報を保存します
ユーザー名にはログインIDを入力
パスワード欄には現在のパスワードを設定 (エンドポイント仕様による)
手順 3: PAMスクリプトの追加
以下のPythonスクリプトをレコードに添付します (スクリプト内には各行の解説付き)
スクリプト内で使用する「認証情報レコード」として、手順 1で作成した「API Access Details」レコードを指定
PAMユーザーレコードにカスタムテキストフィールド「NOOP」を追加し、値を
Trueに設定 (NOOP=スクリプトのみ実行)
手順 4: パスワードローテーション設定
ローテーションタイプ: 「オンデマンド」を選択 (例として)
パスワードの複雑さ: 特に要件がなければデフォルトのまま
ローテーション設定: 先に作成したPAM構成を指定
管理者認証情報レコード: 空欄のままでOK
手順 5: Python実行環境の準備
Keeperゲートウェイが動作している環境で、Python環境と依存パッケージがインストールされていることを確認
仮想環境を使用する場合は、スクリプト冒頭にshebang行を追加
注意: shebang行にスペースがあると動作しないため、スペースなしのシンボリックリンクを作成してください。以下はLinuxでのシンボリックリンク作成の例です。
Pythonスクリプトについて
このPythonスクリプトは、ベストプラクティスに従って作成されており、以下の処理を行います。
必要なモジュールのインポート
変数の初期化
任意のREST APIを呼び出してパスワード変更を実行するローテーション関数の定義
最終更新

