Royal TS/TSX
Keeperボルトで保護されたシークレットによりSSH、RDP、SFTP、データベースセッションを開始

Keeperシークレットマネージャー (KSM) を Royal TS (Windows) および Royal TSX (macOS) と組み合わせると、サーバーやデータベースに接続できます。ボルトのレコードは動的認証情報として表示され、接続時にKeeperからシークレットが取得されます。
本ページでは、公式のPythonパッケージ keeper-secrets-manager-core を介してKeeperと通信する Keeper KSM (Python) ダイナミックフォルダのインストール手順と使い方を説明します。
概要
役割
KeeperボルトのサーバーおよびデータベースレコードをRoyalのダイナミックフォルダに取り込み、接続にKeeper由来の認証情報を紐付けられるようにします。
シークレットの所在
パスワードなどの機密項目はKeeper側に残ります。接続の都度、KSM経由で参照されます。
対応プラットフォーム
Royal TS v7以降 (Windows)、Royal TSX v6以降 (macOS)。
認証方式
Keeper組織のシークレットマネージャーアプリケーションに紐付くKSM構成ファイル。
本連携にはKeeperシークレットマネージャーとKSMクライアントSDKライブラリが必要です。
実行できること
サーバーレコードを使い、SSH、SFTP、RDPの接続に利用できます。Royalで接続を作成し、一致する動的認証情報を選びます。
データベースレコードでは MySQL、PostgreSQL、Microsoft SQL Server、Oracle、MongoDB、Redis のクライアントセッションを、生成された接続ツリーから開けます。Royalを実行しているマシン上のデータベースクライアント実行ファイルのパスを設定します。各レコードのデータベースサーバーはローカルでもリモートでも構いません (ホストとポートはKeeperの値を使用します)。
構成は両OSでボルトからJSONまたはBase64のファイルを使う方法に加え、macOSでは
ksm initで得た INI ファイルも利用できます。
要件
Keeperプラン
シークレットマネージャーへのアクセス (組織のプランに応じたコンシューマー、ビジネス、またはエンタープライズ)。
KSMアプリケーション
Keeper管理コンソールのシークレットマネージャーアプリケーションと、ボルトのレコードをそのアプリケーションへ共有した状態。クイックスタートガイドをご参照ください。
Royal TS (Windows)
バージョン7以降。
Royal TSX (macOS)
バージョン6以降。
Python
3.9以降 (3.13推奨)。Royal TS / Royal TSX がダイナミックフォルダのスクリプトに使う 同一 の python 実行ファイルであること。
Pythonパッケージ
そのPython環境に keeper-secrets-manager-core をインストール済みであること。
構成ファイル
ボルトからダウンロードしたJSONまたはBase64ファイル (WindowsおよびmacOS)、またはmacOSのみ ksm init で得た .ini。
任意 — Keeperのデータベースレコードのみ使う場合
インストールするもの
Royal TS または Royal TSX をインストールしたのと同一のコンピューターに、データベースクライアント (例: mysql、psql、sqlcmd、mongosh、redis-cli、sqlplus) をインストールします。データベースサーバー側には不要です。
Royalで設定する内容
ダイナミックフォルダのカスタムプロパティで、MySQL Path、PostgreSQL Path などがそれらローカルのクライアント実行ファイルを指すようにします。実際に使うエンジンごとにパスを設定します (例: MySQLのデータベースレコードだけなら MySQL Path のみ)。
データベースの実行場所
データベースサーバーはこのマシン上でもネットワーク上のどこでも構いません (クラウド、データセンター、他拠点など)。各Keeperデータベースレコードのホストとポートがそのサーバーを示し、ローカルクライアントがネットワーク経由で接続します。
サーバーレコード (SSH、RDP、SFTP) のみでデータベースレコードを使わない場合は、データベースクライアントやこれらのパスは不要です。
事前準備
KSMアプリケーションを新規作成または既存を利用し、構成ファイルを用意します。ボルトからJSONまたはBase64をダウンロードする方法 (WindowsおよびmacOS)、またはmacOSのみ
ksm initでINIを作成する方法があります。クイックスタートガイドをご参照ください。そのKSMアプリケーションにボルトのレコードを共有します。共有されていないレコードは表示されないか、接続時に認証情報の取得に失敗します。
Royal Applications Toolboxからダイナミックフォルダパッケージ
Keeper KSM (Python).rdfxをダウンロードします。
Windowsでのインストール (Royal TS)
1. Pythonのインストール
Python 3.9+ (3.13推奨) をインストールします。Royal TSがスクリプトに呼び出すビルドを選びます。
2. KSM Pythonパッケージのインストール
Royal TSは [ファイル] → [オプション] → [プラグイン] (スクリプトインタープリター) で設定したインタープリターを使います。その python.exe でパッケージをインストールします。
パスはRoyal TSに表示されているインタープリターに合わせて置き換えます。
3. ディスク上にKSM構成ファイルを置く
Keeperボルトで [シークレットマネージャー] → [デバイスを追加] → [構成ファイル] → [ダウンロード] と進み、JSONまたはBase64の構成ファイルを取得します。PC上の分かりやすい場所に保存します (例: C:\Users\YourName\keeper-config.json)。
4. Royalドキュメントの新規作成または開く
新規ドキュメントを作成し保存します (例: My Connections.rtsz)。
5. ダイナミックフォルダのインポート
[ファイル] → [開く] → [インポート] → ファイルの種類に [ダイナミックフォルダ] を選び、Keeper KSM (Python) を指定して [OK]。

6. カスタムプロパティの設定
Keeper Secrets Manager (Python) を右クリック → [プロパティ] → [カスタムプロパティ]。
KSM Config Path (Windows) — KSM構成ファイル (
.jsonまたは.base64) のフルパス。例:C:\Users\YourName\keeper-config.json。

データベースクライアントのパス (データベースレコードを使う場合のみ): 各パスはこのWindows PC上のクライアントツールを指します。接続先データベースのホストとポートはここには入力せず、各Keeperデータベースレコードから取得します。実際に使うエンジンの行だけ設定します。
MySQL Path (Windows)
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe
PostgreSQL Path (Windows)
C:\Program Files\PostgreSQL\16\bin\psql.exe
MSSQL Path (Windows)
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.EXE
Oracle Path (Windows)
C:\oracle\instantclient\sqlplus.exe
MongoDB Path (Windows)
C:\Program Files\MongoDB\mongosh.exe
Redis Path (Windows)
C:\Program Files\Redis\redis-cli.exe または C:\Program Files\Memurai\memurai-cli.exe
7. フォルダの再読み込み
ダイナミックフォルダを右クリック → [再読み込み]。ツリーを展開し、認証情報が表示されることを確認します。
任意: データベースクライアントのインストール (Windows)
Royal がデータベースクライアントを起動できるよう、お使いのPC上にインストールします。接続先は各Keeperレコードのホストに従い、ローカルまたはリモートのデータベースになります。ベンダー公式のWindows用インストーラーまたはパッケージで、必要なクライアントだけをインストールしてください。
MySQL
MySQL Installer (クライアントツール / シェル) または単体のMySQL Shellビルド。インストール後の mysql.exe のパスをカスタムプロパティに指定します。
PostgreSQL
Windows用インストーラ。psql.exe を含みます (多くの場合 C:\Program Files\PostgreSQL\<version>\bin\)。
Microsoft SQL Server
Microsoftの sqlcmdおよびODBCツール (多くの場合 ...\Microsoft SQL Server\Client SDK\ODBC\...\Binn\。インストール済みバージョンに合わせる)。
MongoDB
Windows用 mongosh。
Redis
redis-cliまたはMemuraiの memurai-cli.exe (同一の -h / -p / -a / --user フラグ)。Redis Pathを実際の redis-cli.exe または memurai-cli.exe に合わせます。
Oracle
Oracle Instant Client (またはフルクライアント)。sqlplus.exe のパスはインストール先に依存します。
インストール後はカスタムプロパティを実際の .exe パスに合わせます (手順6の例を参照)。
macOSでのインストール (Royal TSX)
1. Pythonのインストール
Python 3.9+ (3.13推奨) をインストールします。
2. KSM Pythonパッケージのインストール
Royal TSXは [設定] → [プラグイン] → [Python] (または [設定] → [Python]) でPythonを選び、多くの場合バージョンメニューから指定します。そのインタープリターに keeper-secrets-manager-core をインストールします。ターミナルで which python3 の結果がRoyal TSXの選択と一致する場合は、同じ python3 で問題ありません。
確認用:
HomebrewのPythonで externally-managed-environment が出る場合は、実際のPythonパスで以下のようにインストールします。
または仮想環境を用意し、Royal TSXがそのPythonを指せる構成にします。
3. ディスク上にKSM構成ファイルを置く
構成ファイルの取得方法は2通りあります。いずれか一方だけ使います。
オプションA — ボルトの構成ファイル (JSONまたはBase64) — ボルト → [シークレットマネージャー] → [デバイスを追加] → [構成ファイル] → [ダウンロード]。(macOSではJSONを推奨します。)
オプションB — Keeper CLIのINIファイル — トークン取得後に
ksm init default --token YOUR_TOKENを実行します (クイックスタートガイド)。keeper.iniなどの.iniが生成されます。
4. Royalドキュメントの新規作成または開く
[ファイル] → [新規ドキュメント] → [ファイル] → [保存]。
5. ダイナミックフォルダのインポート
[ファイル] → [インポート] → [ダイナミックフォルダ] → Keeper KSM (Python) → [インポート]。

6. カスタムプロパティの設定
Keeper Secrets Manager (Python) を右クリック → [プロパティ] → [カスタムプロパティ]。
KSM Config Path (macOS) — 1つのファイルのフルパス:
.json、.base64、または.ini。例:/Users/yourname/keeper-config.jsonまたは/Users/yourname/keeper.ini。

データベースクライアントのパス (データベースレコードを使う場合のみ): 各パスはこのMac上のクライアントツールです。データベースのホストとポートは各Keeperデータベースレコードで定義し、カスタムプロパティには含めません。実際に使うエンジンの行だけ設定します。
MySQL Path (macOS)
/opt/homebrew/opt/mysql-client/bin/mysql
PostgreSQL Path (macOS)
/opt/homebrew/opt/libpq/bin/psql
MSSQL Path (macOS)
/opt/homebrew/opt/mssql-tools18/bin/sqlcmd
Oracle Path (macOS)
/usr/local/bin/sqlplus
MongoDB Path (macOS)
/opt/homebrew/bin/mongosh
Redis Path (macOS)
/opt/homebrew/bin/redis-cli
7. フォルダの再読み込み
ダイナミックフォルダを右クリック → [再読み込み] (または Cmd+R)。
任意: データベースクライアントのインストール (macOS)
Royalがデータベースクライアントを起動できるよう、お使いのMac上にインストールします。接続先は各Keeperレコードのホストに従い、ローカルまたはリモートのデータベースになります。多くのユーザーは HomebrewでCLIをインストールします。例:
Oracle Instant Clientのパスはインストール方法に依存します。
サーバーレコードの利用 (SSH、SFTP、RDP)
サーバーレコードには、ホスト、ポート、ログイン、パスワードが含まれます。Royalで接続オブジェクト (ターミナル、ファイル転送、リモートデスクトップ) を作成し、そのレコードに対応する動的認証情報に紐付けます。
SSHでは、ダイナミックフォルダが公開するサーバー認証情報グループから認証情報を選びます (SSH鍵のみの項目は、運用ガイドに別記がない限り使わないでください)。
例: SSH
Keeper — サーバーレコード
タイトル
Production web
ログイン
deploy
パスワード
(ボルト内)
ホスト
203.0.113.10
ポート
22
Royal TS / Royal TSX
ダイナミックフォルダを再読み込みします。
[追加] → [ターミナル] を選択します。
接続の種類をSSH接続にし、コンピューター名に
203.0.113.10、ポートに22を設定します。[認証情報] で認証情報名を指定を選び、一致するKeeperの動的認証情報を選択します。
保存して接続します。
例: SFTP
SSHと同じサーバーレコード構造を使います。ファイル転送プラグイン ([設定] → [プラグイン]) をインストールします。[追加] → [ファイル転送] → SFTP でホストとポートを設定し、同様の動的認証情報を付けます。
例: RDP
Keeper — サーバーレコード
タイトル
Finance workstation
ログイン
CORP\jdoe
パスワード
(ボルト内)
ホスト
192.168.50.100
ポート
3389
リモートデスクトッププラグインをインストールします。[追加] → [リモートデスクトップ] でホストとポートを入力し、認証情報を付けます。
接続先のWindowsエディションは、受信リモートデスクトップを許可する必要があります (Pro、Enterprise、Education、または Windows Server)。Windows 11/10 Home にはRDPサーバー機能がありません。
データベースレコードの利用
データベースレコードは、ダイナミックフォルダ内のdatabaseCredentials配下に自動で接続エントリを生成します。データベースCLIのパスを設定して再読み込みしたら、エンジン用のサブフォルダ (例: MySQL Connections) を開き、エントリをダブルクリックします。Royalはワークステーション上のクライアントを起動し、そのクライアントがKeeperレコードに保存されたホストとポートへ接続します (同一マシンでもリモートでも可。VPNやファイアウォールなど、ネットワーク経路で到達できる必要があります)。
Keeperでデータベース種別を設定する
ボルトでデータベースレコードを作成または編集するとき、種別フィールドを設定します (標準のKeeperデータベーステンプレートでは、エンジン識別に使われるフィールドです)。連携はその値を読み取り、対応するフォルダ (MySQL Connections、PostgreSQL Connections など) にレコードを配置します。
種別には以下の文字列のいずれかを使います (大文字小文字は無視)。よく使う別名も受け付けます。
使いたいDB
有効な種別の例
MySQL
MySQL, MariaDB
PostgreSQL
PostgreSQL, Postgres, PG
Microsoft SQL Server
MSSQL, SQL Server, Microsoft SQL Server
Oracle
Oracle, OracleDB
MongoDB
MongoDB, Mongo
Redis
Redis
種別が空、または対応値に一致しない場合、連携はレコードをMySQLとして扱います。MySQL以外では種別を必ず明示してください。
各例は同じKeeperデータベースレコード構造を使います。ホストとポートは、データベースが待ち受ける場所 (ローカルまたはリモート) に合わせます。カスタムプロパティに該当クライアントのパスを入れたうえでダイナミックフォルダを再読み込みし、databaseCredentials → そのエンジンのフォルダ (例: MySQL Connections、PostgreSQL Connections) を開きます。Windowsでは多くの場合、データベースクライアントが外部アプリケーション経由で起動します。macOSではヘルパースクリプトがターミナルセッションでクライアントを実行します。
例: MySQL
レコード種別
Database
種別
MySQL
タイトル
Staging MySQL
ログイン
appuser
パスワード
(ボルト内)
ホスト
127.0.0.1
ポート
3306
OSに合わせてMySQL Pathをカスタムプロパティに設定し、ダイナミックフォルダを再読み込みしてからdatabaseCredentials → MySQL Connectionsを開きます。
例: PostgreSQL
レコード種別
Database
種別
PostgreSQL
タイトル
Staging Postgres
ログイン
postgres (またはDBユーザー)
パスワード
(ボルト内)
ホスト
127.0.0.1
ポート
5432
OSに合わせてPostgreSQL Pathをカスタムプロパティに設定し、ダイナミックフォルダを再読み込みしてから databaseCredentials → PostgreSQL Connectionsを開きます。Windowsではpsqlが cmd /k 経由で実行され、コンソールが開いたままになります。
例: Microsoft SQL Server
レコード種別
Database
種別
MSSQL
タイトル
Local SQL
ログイン
sa (またはSQLログイン)
パスワード
(ボルト内)
ホスト
127.0.0.1
ポート
1433 (またはTCPポート。下記ヒント参照)
OSに合わせてMSSQL Pathをカスタムプロパティに設定し、ダイナミックフォルダを再読み込みしてから databaseCredentials → MSSQL Connections を開きます。
接続がタイムアウトする場合は localhost ではなく 127.0.0.1 を使います (IPv6解決の問題)。SQL Express は既定以外のポートを使うことが多いです。SQL Server構成マネージャー → TCP/IP → IPAllのTCP PortまたはTCP Dynamic Portを確認し、その値をポートに入れます。現在の sqlcmd (ODBC Driver 18) は既定で暗号化します。本連携では -C -No を渡します (サーバー証明書を信頼し、暗号化は任意)。SSMS のサーバー証明書を信頼に近い挙動です。SQLログインを使う場合、サーバーは混合モード (SQL + Windows認証) である必要があります。
例: Oracle
レコード種別
Database
種別
Oracle
タイトル
Local XE
ログイン
system (またはアプリユーザー)
パスワード
(ボルト内)
ホスト
127.0.0.1 (またはリモートリスナーのホスト)
ポート
1521
カスタムプロパティのOracle Pathを sqlplus (またはインストール済みパス) に設定し、ダイナミックフォルダを再読み込みしてから databaseCredentials → Oracle Connectionsを開きます。連携は既定でEasy Connectの …/XEPDB1 を使います (Oracle 21c XE PDB)。別の SERVICE_NAME (XE、ORCL など) ではダイナミックフォルダスクリプトの編集が必要になる場合があります。Windowsではsqlplusが cmd /k 経由で実行されます。
例: MongoDB
レコード種別
Database
種別
MongoDB
タイトル
Dev Mongo
ログイン
(認証なしの場合は空) またはユーザー
パスワード
(ボルト内)、またはサーバーに認証がない場合は空
ホスト
127.0.0.1
ポート
27017
カスタムプロパティのMongoDB Pathを mongosh に設定し、ダイナミックフォルダを再読み込みしてから databaseCredentials → MongoDB Connectionsを開きます。Windowsではmongoshが cmd /k 経由で実行されます。
例: Redis
レコード種別
Database
種別
Redis
タイトル
Local Memurai
ログイン
(認証なしの場合は空) またはACLユーザー名
パスワード
(認証なしの場合は空) または (ボルト内)
ホスト
127.0.0.1
ポート
6379
カスタムプロパティのRedis Pathを redis-cli.exe または memurai-cli.exe に設定し、ダイナミックフォルダを再読み込みします (ログイン / パスワード を変えた場合はスクリプトが認証を検出できるよう再読み込みしてください)。その後databaseCredentials → Redis Connectionsを開きます。認証なし: ログインとパスワードを空にします。requirepass: パスワードのみ設定します。ACL: ログインとパスワードを設定します。Windowsではクライアントが cmd /k 経由で実行されます。
機能のまとめ
SSH / SFTP / RDP
手動の接続 + 動的認証情報
同様
データベースCLI
接続の自動一覧、ダブルクリック
同様
トラブルシューティング
Pythonとダイナミックフォルダ
ImportError または pip install keeper-secrets-manager-core の促し
Royalが使うPythonと異なる環境にパッケージを入れている
Royalの設定にあるその python.exe または python3 でインストールします。確認: python3 -c "import keeper_secrets_manager_core" (macOS)、または [ファイル] → [オプション] → [プラグイン] のWindowsパス。
externally-managed-environment (macOS)
システムPythonへのPEP 668制限
そのインタープリターで --break-system-packages を使うか、Royal TSXが使えるvenvを利用します。
KSM構成とボルトへのアクセス
KSM Config Path is not configured
カスタムプロパティ未設定
**KSM Config Path (Windows)またはKSM Config Path (macOS)**を設定します。
Config file not found
パス誤りまたは権限
ファイルパスと、ユーザーが読み取れることを確認します。
Record not found
KSMアプリケーションにレコード未共有
Keeperで、構成ファイルに紐付くシークレットマネージャーアプリケーションにレコードを共有します。
データベースクライアント
No such file or directory
実行ファイルのパスが未設定または誤り
カスタムプロパティのMySQL / PostgreSQL / … Pathを正しく設定し、再読み込みします。
Connection refused
サービス停止またはネットワーク
Keeperレコードのホスト/ポートでデータベースが待ち受け、到達できることを確認します。
MSSQL login timeout / server not found
ホスト/ポート誤りまたはTCP無効
127.0.0.1 を使います。ExpressではTCP/IPを有効にし、ポートを構成マネージャー → TCP/IP → IPAllの値に合わせます (多くの場合 1433 ではありません)。
MSSQL certificate / SSL errors
ODBC 18 + 自己署名証明書
最新のダイナミックフォルダを再読み込み (-C -No)。手動の sqlcmd: -C -No を付与。SSMS: オプション → サーバー証明書を信頼。
MSSQL Login failed (SQLユーザー)
Windows認証のみ、またはログイン無効
SSMS → サーバーのプロパティ → セキュリティで混合モードを有効にし、SQL Serverを再起動します。ログインが存在し有効であることを確認します。
Oracleリスナーなし / タイムアウト
リスナーのホスト誤りまたはサービス停止
リスナーに合うホストを使います (ローカルでは多くの場合 127.0.0.1)。OracleのリスナーとDBサービスを起動します。LAN専用IPから変えた場合は LOCAL_LISTENER とlistener.oraを揃えます。
Oracle ORA-12514
サービス未登録
SYSDBA で ALTER SYSTEM REGISTER を実行します。lsnrctl status に xepdb1 / XE が出ることを確認します。
Redis AUTHエラー
サーバーにパスワードがないのにパスワードを設定している
Keeperレコードのパスワードをクリアします。
macOSでのSSH (ローカル検証)
Connection closed またはこのMacへの繰り返し認証失敗
リモートログイン制限
システム設定 → 共有 → リモートログイン → オプション で、ユーザーを許可するかすべてのユーザーを選びます。
リモートデスクトップ
HomeエディションのPCへRDPできない
RDPサーバーなし
Pro以上、Windows Server、または別の接続先を使います。
セキュリティとコンプライアンス
シークレットはKeeperの管理下に残り、解決された動的認証情報がRoyalドキュメントに保存されたパスワードとして書き込まれることはありません。
KSM構成ファイルは、ボルトへのアクセス権を持つシークレットと同様に保護します。組織の方針に従い、ファイル権限とデバイスのアクセスを制限します。
データベースのパスワードの渡し方
macOSでは、クライアントが対応する場合、パスワードをコマンドライン引数ではなく環境変数またはアクセス権を限定した一時ファイルで渡すヘルパースクリプトを使います。
MySQL
環境変数 MYSQL_PWD
PostgreSQL
環境変数 PGPASSWORD
Microsoft SQL Server
環境変数 SQLCMDPASSWORD
Oracle
モード0600の一時SQLファイルで sqlplus -L /nolog @file、終了時に削除
MongoDB
引数としてURIを渡す (mongosh には環境変数でのパスワード指定がない)
Redis
環境変数 REDISCLI_AUTH
Windowsではデータベース接続に外部アプリケーションとRoyalの認証情報トークン ($$EffectivePassword$$) を使います。Royalが起動時にコマンドラインへ値を展開します。以下の点に注意してください。
解決されたシークレットがプロセス一覧に見える場合があります。外部アプリケーション方式に内在する挙動です。
パスワードに
&、%、"、!が含まれると、コマンドライン解釈を壊し認証に失敗することがあります。該当する場合は、外部アプリケーション経由で起動するデータベース接続では、Keeperレコードのパスワードからこれらの文字を避けることを検討してください。
macOSヘルパーファイルの安全性
~/.config/royal-keeper/以下のランチャーおよびヘルパースクリプトは、原子的書き込み (一時ファイル → chmod → 置換) で書き込み、ディレクトリ権限は0700に設定します。ランチャースクリプトに埋め込む引数はすべて
shlex.quote()でエスケープし、パスに含まれる引用符やメタ文字からのシェルインジェクションを防ぎます。
Base64構成のクリーンアップ
.base64のKSM構成ファイルを使う場合、デコード結果をモード0600の一時ファイルに書き、KSMセッションに使用し、スクリプト終了時にfinallyで削除します。
最終更新

