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を呼び出してパスワード変更を実行するローテーション関数の定義

最終更新