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

概要
本ページでは、[PAMスクリプトのみを実行する] ローテーションプロファイルを使用して、REST API経由でパスワードをローテーションする一般的な手順を取り扱います。Keeperは組み込みのローテーション処理をスキップし、ボルトに添付したポストローテーションスクリプトをゲートウェイ上で直接実行します。
本ページの最後にPythonスクリプトのサンプルを掲載しています。
要件
以下がすでに完了していることを前提としています。
Keeperシークレットマネージャーアプリケーションが作成済みであること
関連レコードを格納する共有フォルダが作成されていること
PAM構成が設定済みで、ゲートウェイが稼働中であること
対象サービス用のREST APIアクセストークンを取得済みであること
1. REST APIトークンの取得
対象のアプリケーションまたはサービスでAPIトークンを生成します。
Keeperボルトにレコードを作成し、トークンを保存します。レコードタイプは任意ですが、本例では「ログイン」を使用します。
APIトークンを パスワード フィールドに保存
組織のURLまたはAPIエンドポイントを ウェブサイトのアドレス フィールドに保存
レコードタイトルは、スクリプト内の
api_access_token_titleと一致させます (本例ではRecord with Access Token)。
2. ローテーション対象ユーザーのPAMユーザーレコード作成
ローテーション対象ユーザー用にPAMユーザーレコードを作成します。
ログイン にユーザーIDまたはメールアドレスを設定
パスワード に現在のパスワードを設定 (API仕様に応じて)
3. ローテーション設定の構成
[ローテーション設定] で [セットアップ] を開き、以下を設定します。
[ローテーションプロファイル]: [PAMスクリプトのみを実行する]
[ローテーションタイプ]: 本例では オンデマンド
[PAMリソース]: ゲートウェイに対応するPAM構成
[管理者認証情報レコード]: 空欄のまま
[アップデート] で保存
4. ポストローテーションスクリプトのアップロード
[PAMスクリプト] で [PAMスクリプトを追加] をクリックし、以下のスクリプトを添付します。
[ローテーションクレデンシャル] に、手順1で作成したAPIアクセスレコードを指定
Pythonスクリプト
以下は、任意のREST APIでパスワード変更を行うためのサンプルです。実際のAPIに合わせてエンドポイントとペイロードを変更してください。
5. Python実行環境の準備
Keeperゲートウェイが動作している環境で、Pythonと依存パッケージがインストールされていることを確認します。仮想環境を使用する場合は、スクリプト先頭のシバン行を設定します。
シバン行のパスにスペースを含めないでください。スペースがある場合は、スペースを含まないシンボリックリンクを作成します。
Linuxでの例:
sudo ln -s "/Users/john/PAM Rotation Example/.venv/bin/python3" /usr/local/bin/pam_rotation_venv_python3
[追加認証情報] で手順1のAPIアクセスレコードを選択し、[コマンドプレフィックス付きで実行] を有効にしてPython実行ファイルのフルパスを指定します。Docker経由のゲートウェイでは通常 /usr/local/bin/python3 です。
6. 構成の保存とローテーションの実行
PAMユーザーレコードで [保存] をクリックします。設定後、[PAMスクリプトのみを実行] でオンデマンドローテーションを実行できます。
最終更新

