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

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

概要

本ページでは、[PAMスクリプトのみを実行する] ローテーションプロファイルを使用して、REST API経由でパスワードをローテーションする一般的な手順を取り扱います。Keeperは組み込みのローテーション処理をスキップし、ボルトに添付したポストローテーションスクリプトをゲートウェイ上で直接実行します。

本ページの最後にPythonスクリプトのサンプルを掲載しています。

要件

以下がすでに完了していることを前提としています。

  • Keeperシークレットマネージャーアプリケーションが作成済みであること

  • 関連レコードを格納する共有フォルダが作成されていること

  • PAM構成が設定済みで、ゲートウェイが稼働中であること

  • 対象サービス用のREST APIアクセストークンを取得済みであること

1. REST APIトークンの取得

  1. 対象のアプリケーションまたはサービスでAPIトークンを生成します。

  2. Keeperボルトにレコードを作成し、トークンを保存します。レコードタイプは任意ですが、本例では「ログイン」を使用します。

    • APIトークンを パスワード フィールドに保存

    • 組織のURLまたはAPIエンドポイントを ウェブサイトのアドレス フィールドに保存

  3. レコードタイトルは、スクリプト内の 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スクリプトのみを実行] でオンデマンドローテーションを実行できます。

最終更新