For the complete documentation index, see llms.txt. This page is also available as Markdown.

Oktaユーザー

Okta APIを使用したOktaユーザーアカウントのローテーション

概要

本ページでは、Okta APIとKeeperゲートウェイのポストローテーションスクリプトを使用して、Oktaユーザーアカウントのパスワードをローテーションする手順を取り扱います。

組み込みのSaaSローテーションを利用する場合は、SaaSプラグインをご参照ください。

要件

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

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

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

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

  • Python環境に okta パッケージがインストールされていること (pip install okta)

1. Okta APIトークンの取得

  1. Oktaの公式ドキュメントの手順に従ってAPIトークンを生成します。

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

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

    • 組織のURLをウェブサイトアドレスフィールドに保存

  3. レコードタイトルは、スクリプト内の okta_api_access_details_title と一致させます (本例では ROT5: Okta API Access Details)。

2. ローテーション対象ユーザーのPAMユーザーレコード作成

ローテーション対象のOktaユーザー用にPAMユーザーレコードを作成します。

  • ログインにOktaユーザーのメールアドレスを設定

  • パスワードに現在のパスワードを設定

Okta SDKでは、現在のパスワードが有効な場合にのみパスワードをローテーションできます。パスワードが誤っている場合、ローテーションは失敗します。

3. ローテーション設定の構成

[ローテーション設定][セットアップ] を開き、以下を設定します。

  • [ローテーションプロファイル]: [PAMスクリプトのみを実行する]

  • [ローテーションタイプ]: 本例ではオンデマンド

  • [PAMリソース]: ゲートウェイに対応するPAM構成

  • [管理者認証情報レコード]: 空欄のまま

  • [アップデート] で保存

4. ポストローテーションスクリプトのアップロード

[PAMスクリプト][PAMスクリプトを追加] をクリックし、以下のスクリプトを添付します。

  • [ローテーションクレデンシャル] に、手順1で作成したOkta APIレコードを指定

Pythonスクリプト

以下は、OktaユーザーのパスワードをローテーションするPAMスクリプトです。各行にコメントを付けています。

5. Python実行環境の準備

Keeperゲートウェイが動作している環境で、Pythonと依存パッケージがインストールされていることを確認します。仮想環境を使用する場合は、スクリプト先頭のシバン行を設定します。

シバン行のパスにスペースを含めないでください。スペースがある場合は、スペースを含まないシンボリックリンクを作成します。

Linuxでの例:

sudo ln -s "/Users/john/PAM Rotation Example/.venv/bin/python3" /usr/local/bin/pam_rotation_venv_python3

[追加認証情報] で手順1のOkta APIレコードを選択し、[コマンドプレフィックス付きで実行] を有効にしてPython実行ファイルのフルパスを指定します。Docker経由のゲートウェイでは通常 /usr/local/bin/python3 です。

6. 構成の保存とローテーションの実行

PAMユーザーレコードで [保存] をクリックします。設定後、[PAMスクリプトのみを実行] でオンデマンドローテーションを実行できます。

Bashスクリプト版

以下のBashスクリプトは、Okta REST APIを直接呼び出す代替例です。jq が必要です。

最終更新