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

SDKとしてのコマンダーCLI

Python開発者向けのKeeperコマンダーCLIライブラリの利用方法

インストール

以下は、Pythonの仮想環境で依存関係を分離しつつ、ソースコードからコマンダーを開発・テストする手順です。コマンダーCLIはライブラリとして利用することも、必要に応じてCLIのソースコードをカスタマイズすることも可能です。

コマンダーリポジトリをクローンする

Keeper-Security/CommanderのGitHubリポジトリをローカルマシンにクローンします。

git clone https://github.com/Keeper-Security/Commander
cd Commander

「master」ブランチは本番リリースと同期されます。「release」ブランチは今後のリリースに対応しています。任意で「release」ブランチに切り替えるには、以下を実行します。

git checkout release

Pythonをインストールする

python.orgから最新のPython3をインストールします。

仮想環境を作成して有効にする

python3 -m venv venv
source venv/bin/activate
python -m venv venv
.\venv\Scripts\activate

依存関係をインストールし、開発モードでセットアップする

オプションのメール依存関係

OAuth、SendGrid、AWS SES などのメールプロバイダーに対応するには、以下のオプション依存関係をインストールします。

セットアップ完了

コマンダーCLIを起動できるようになりました。

認証プロセスの詳細についてはログインのページをご参照ください。利用できるコマンドのページもあわせてご確認ください。


Pythonコード

認証

SDKを使ってKeeperコマンダーにサインインするには、主に2つの方法があります。

手動認証: ユーザー名を入力すると、コマンダーからログインプロンプトが表示されます。ユーザーが認証を完了すると、プログラムの処理が続行されます。

自動認証: ログイン状態維持の構成を作成した際に生成された config.json ファイルを使用します。設定ファイルが有効であれば、プログラムはコマンダーにプロンプトなしでサインインします。設定ファイルが無効または期限切れの場合は、ログインプロンプトに戻ります。


ボルト操作

Pythonスクリプト内でbash形式のCLIコマンドを直接実行するには、keepercommander ライブラリの cli パッケージをインポートし、do_command 関数を使用します。

do_command 関数は、単独のCLIコマンドを実行するときに便利です。api.login()api.sync_down() を使わずに実行することもできますが、戻り値は取得できません。Python内でオブジェクトを直接取得する用途には向きません。

戻り値を返すPython関数は、keepercommanderモジュール配下にあり、利用前に api.login()api.sync_down() の実行が必要です。api.pyパッケージにも便利な関数が多く、以下の例ではその一部を紹介します。


エンタープライズ利用

エンタープライズデータへのアクセスには、あらかじめ api.query_enterprise()params.enterprise を設定する必要があります。未設定の場合はデータは取得されません。以下のプログラムは、audit-report コマンドのJSON出力をPython内で直接取得する例です。


バルクコマンドスクリプト

コマンダースクリプトの一般的な活用事例のひとつは、フォルダ内のすべてのレコードに対してコマンドを一括実行することです。

以下のスクリプトは、共有フォルダ・個人用フォルダ・ネストされたフォルダから対象を指定し、フォルダ内の各レコードにコマンド (デフォルトは get) を一括実行します。直接の子レコードだけを対象にするか、子孫レコードまで再帰的に対象にするかを選べます。

スクリプト末尾のコマンドを置き換えて実行すると、選択したフォルダ内のすべてのレコードに対してコマンドを実行できます。


コマンダーCLIの内部クラスや関数を活用すれば、CLIの全機能を利用できます。レコードの検索、チームの作成、フォルダの共有などの例を含むスタンドアロンPythonスクリプトはこちらで確認できます。

最終更新