PAMリソースのインポート
Keeper PAMリソースの一括インポート
概要
Keeperは、KeeperコマンダーCLIを使用したPAMリソースの一括インポートに対応しています。これにより、大量のリソースを、PAM構成、ゲートウェイ、プロジェクトフォルダとともに一括でインポートすることが可能です。
本ドキュメントでは、簡易インポート方式と高度なインポート方式の2種類をご紹介します。ここで紹介する簡易方式では、Windowsホストの基本的なCSVリストをKeeperコマンダーが読み取れるJSONインポートファイルに変換します。多数のPAMマシンをオンボーディングする場合に、この方法を使用してください。
このページでは、ドメインに参加した多数のWindowsサーバーとローカル管理者アカウントを一括でインポートする手順を説明します。
ワークフローの概要
対象サーバーと認証情報を含むCSVファイルを準備します。
プロジェクト、ポリシー、ディレクトリとの関連付けを定義したJSONテンプレートを作成または編集します。
ヘルパースクリプトを実行して、CSVのデータをテンプレートにマージし、
pam_import.json
ファイルを生成します。pam project import
コマンドを使ってファイルをKeeperにインポートします。
要件
Keeperコマンダーv17.1.2以上
keeper version
で確認可能
Python 3.8以上
変換スクリプトの実行に必要
KeeperPAMライセンス
Keeper管理コンソールで有効化されている必要があります
「PAMの管理」権限を持つ管理者ロール
Keeper管理コンソールで有効化されている必要があります
1. CSVファイルの準備
Pythonスクリプトを使用して、基本的な3列構成のCSVファイルをJSONインポートファイルに変換します。このスクリプトは、デフォルトで servers_to_import.csv
という名前のカンマ区切りファイルを想定しています。各行には以下のように必ず3つのフィールドが含まれている必要があります。
hostname,username,password
srv‑01,Administrator,LocalAdminPassword123
srv‑02,Administrator,LocalAdminPassword123
srv‑03,Administrator,LocalAdminPassword123
srv‑04,Administrator,LocalAdminPassword123
srv‑05,Administrator,LocalAdminPassword123
ヒント: 1行目が上記の列名 (
hostname
,username
,password
) と一致する場合、ヘッダとして扱われます。Administrator
やLocalAdminPassword123
の部分は、各サーバーのローカル管理者のユーザー名とパスワードに置き換えてください。
2. JSONテンプレートの作成
以下のJSONテンプレートファイルをダウンロードし、ファイル名をimport_template.json
として保存してください。
「XXX:」で始まる値はすべて実際の値に置き換えてください。
「xxx:」で始まるプレースホルダはスクリプトで上書きされるため、そのまま残してください。
この例では、以下のようにXXXの値を置き換えます。
Top section:
"project": "Import Demo Project"
pam_data.resources:
"title": "My Domain Controller"
"directory_type": "active_directory"
"host": "lureydemo.local"
"port": "636"
"domain_name": "lureydemo.local"
pam_data.resources.pamDirectory.pam_settings.connection:
"port": "3389"
"security": "any"
"administrative_credentials": "My Domain Admin"
pam_data.resources.pamDirectory.users:
"title": "My Domain Admin"
"login": "administrator@lureydemo.local"
"password": "YourExistingDomainPassword"
pam_data.resources.pamMachine.users:
"administrative_credentials": "My Domain Controller.My Domain Admin"
(note: this is named to reference the directory title and directory admin)
3. インポートファイルの生成
CSVファイルは、すべてのサーバーに対応した正しい形式のJSONファイルへと変換されます。まず、スクリプトファイルpam_import_generator.py
をダウンロードし、作業ディレクトリに保存します。
この時点で、作業ディレクトリには以下の3つのファイルが存在しているはずです。
pam_import_generator.py
import_template.json
servers_to_import.csv
以下のコマンドでスクリプトを実行し、インポート用のJSONファイルを生成します。
python3 pam_import_generator.py --prefix-names
これにより、pam_import.json
というファイルが生成され、Keeperにインポートするすべてのリソースが含まれます。
4. Keeperへのリソースインポート
生成されたpam_import.json
ファイルを、KeeperコマンダーCLIを通じてKeeperにインポートします。
まだコマンダーの初期設定を行っていない場合は、セットアップ手順のページをご参照ください。
まず、コマンダーセッションを開始します。
keeper shell
次に、以下のコマンドでインポートを実行します (pam_import.json
ファイルがコマンダーの作業ディレクトリにあることを想定しています。絶対パスの指定も可能です)。
pam project import -f pam_import.json
インポートが完了すると、コマンダーの出力に以下のようなアクセストークンが含まれます。
"access_token": "XXXXXXXX...."
このaccess_token
の値 (引用符内) をメモしておいてください。次の手順でゲートウェイの初期化に使用します。
備考: インポート完了後、ボルト内のリソースが更新されます。Keeperボルトを開いた状態であれば、「完全同期」またはページの再読み込みを行うことを推奨します。
5. ゲートウェイの起動
本ページではKeeperゲートウェイのインストール手順は扱っていませんが、すでにGatewayがセットアップされているものとします。未設定の場合は、お使いの環境に応じたセットアップ手順をご参照ください。
ゲートウェイの構成ファイル内で、先ほど取得したaccess_token
をGATEWAY_CONFIG
に追加します。
Docker環境の場合:
docker-compose.yaml
ファイル内に設定Windows環境の場合:
C:\ProgramData\KeeperGateway\config\gateway-config.json
に設定
その後、ゲートウェイを再起動します。
これでゲートウェイが稼働し、インポートされたすべてのリソースと関連付けられた状態になります。 デフォルトでは、すべてのPAMプロジェクトが「PAM Environments」というフォルダに追加されます。
インポート結果例
この例に基づき、以下のようなリソースがKeeper内に作成されます。
シークレットマネージャーアプリケーション
Keeperゲートウェイ
PAM構成
PAMディレクトリ (Active Directoryサービス)
ドメイン管理者を表すPAMユーザー
PAMマシンリソース (Windowsサーバー)
各PAMマシンに対応するローカル管理者のPAMユーザー








高度なインポート形式
本ページでは、一連のWindowsサーバーをインポートする基本例を用いて、接続・トンネル・パスワードの自動ローテーションを行う方法を紹介しました。構成はシンプルな形に設定されています。
より高度なインポート方法や、完全なJSONテンプレートの活用については、GitHubのREADMEページにて詳しく記載しています。このページでは、インポート処理中に変更可能なすべての設定項目が確認できます。
インポートを再実行する必要がある場合でも、ボルト内のフォルダ、PAM構成、ゲートウェイを削除して、最初からやり直すことができます。
インポート方法について不明点がある場合は、アカウント担当者までご連絡いただくか、commander@keepersecurity.com までお問い合わせください。
関連トピック
PAMの自動化をさらに進めるためのKeeperコマンダーのオプションについてもご覧ください。
最終更新