シークレットマネージャーCLI

シークレットマネージャーでボルトシークレットへのシェルアクセス

概要

KeeperシークレットマネージャーCLI (KSM CLI) を使用すると、ターミナル、シェルスクリプト、シェルから起動できる任意のソフトウェアから、シークレットマネージャーボルトの基本的な操作をご利用になれます。

基本機能

  • Keeperボルトからシークレットを取得

  • Keeperボルトのシークレットを更新

  • サードパーティのCI/CDやその他の開発ツールとの統合

  • Keeperと外部のシークレットプロバイダ間でシークレットを同期

  • スクリプトおよびコンテナ内の環境変数をKeeperシークレットへの置換

Keeperでは2つの異なるCLI ツールがご利用になれます。シークレットマネージャーCLI はマシンベースのシークレット管理を対象とする一方、コマンダーCLIでは管理機能に重点を置いています。

アプリケーションとクライアントデバイスの設定

シークレットマネージャーCLIまたはKeeperボルトに保存されたシークレットにアクセスするための環境変数置換を使用するには、まずアプリケーションとクライアントデバイスを設定する必要があります。 クイックスタートガイドをご参照の上設定してください。

シークレットマネージャーCLIのインストール

KSM CLIは、Windows/Mac/Linux用のバイナリアプリケーションとして、またはPython環境用のpip3インストールとしてご利用になれます。

バイナリのインストール方法

最新のバイナリリリースは、GitHubリポジトリで入手できます。ご利用のオペレーティングシステムに合わせてインストーラーをダウンロードしてください。

⬇️Secrets Manager CLIバイナリのダウンロード

WindowsまたはMacOSでCLIを起動すると、CLIはシェルモードで実行されます。ksmコマンドは、コマンドラインから引き続きご利用になれます。

Linuxバイナリは単なる実行可能ファイルなので、PATHのディレクトリに移動する必要があります。

Dockerのインストール方法

KeeperのDockerイメージからのインストールとセットアップについては、Dockerコンテナのページをご参照ください。

Pip3とPython3のインストール方法

Python 3.xがインストールされていることをご確認ください。 インストールされていない場合は、OS固有のパッケージマネージャを使用してインストールします。

sudo yum install python3

pip3が最新であることを確認します。

sudo pip3 install --upgrade pip

これで、シークレットマネージャーCLIをインストールできます。

sudo pip3 install keeper-secrets-manager-cli

以下は最新バージョンにアップグレードするコマンドとなります。

sudo pip3 install -U keeper-secrets-manager-cli keeper-secrets-manager-core

この方法でCLIをシステムのPythonにインストールします。rootまたは管理者権限がない場合は、virtualenvを設定してCLIをインストールできます。virtualenvを使用しない場合は、LinuxまたはMac OSでは、モジュールとバイナリは$HOME/.localディレクトリにインストールされます。binディレクトリへのPATHを含める必要がある場合があります。

virtualenvを使用したKSMのインストール

virtualenvを使用することで、クリーンに分離された環境にKSMをインストールできます。

sudo pip3 install virtualenv
virtualenv -p python3 my_env
source my_env/bin/activate

続いて、仮想環境にksmをインストールします

pip3 install keeper-secrets-manager-cli

ソースコード

GitHubリポジトリでKeeperシークレットマネージャーCLIのソースコードを検索します。

使用方法

ksm CLIツールは、以下の目的に使用できます。

  • Github Actionsなどの統合機能で使用するための設定ファイルの初期化 (init)

  • クライアントデバイスとしてコマンドを実行するためのローカルプロファイルの作成 (profile)

  • Keeperボルトの照会とシークレットの取得 (secret)

  • 環境変数を置換するためのコマンドラインアプリケーションのラップ (exec)

ksm
Usage: ksm [OPTIONS] COMMAND [ARGS]...

  Keeper Secrets Manager CLI  Version:X.X.X

Options:
  --ini-file TEXT                INI config file.
  -p、--profile-name TEXT        Config profile
  -o、--output TEXT              Output [stdout|stderr|filename]
  -c、--color / -nc、--no-color  Use color in table views, where applicable.
  --cache / --no-cache           Enable/disable record caching.
  --help                         Show this message and exit.

Commands:
  config   Configure the command line tool
  exec     Wrap an application and replace env variables
  init     Initialize a configuration file for integrations
  profile  Manage local client device profiles
  quit     Quit shell mode
  secret   Query the Keeper vault and retrieve secrets
  shell    Run KSM in a shell
  version  Get module versions and information.

ローカルクライアントデバイスの作成

CLIは、ksm profile initコマンドでワンタイムアクセストークンを渡すことによって、クライアントデバイスとして初期化されます。初期化後、CLIを使用してシークレットを取得できます。 以下の例では、「XX:XXXX」をクライアントデバイスのワンタイムアクセストークンに置き換えます。

ksm profile init XX:XXXX
ksm secret list

自動起動を使用してコンテナ内でCLIを利用できるようにしている場合、またはprofile initを実行したくない場合は、以下のようにKSM_TOKENを設定するとプロファイルを自動作成できます。

KSM_TOKEN="XX:XXXX" ksm secret list

環境変数を設定して、コマンドラインのフラグを減らすことができます。

環境変数名
説明

KSM_TOKEN

クライアントデバイスの初期化に使用されるワンタイムアクセストークン

KSM_HOSTNAME

Keeper環境のホスト。US、EU、AU、JP、CA、US_GOV、または完全なURLのいずれか。トークンにはホスト名が含まれるため、この変数はほとんどの場合使用されません。

KSM_INI_DIR

CLIのINI設定ファイルが格納されているディレクトリ。

KSM_INI_FILE

CLIのINI設定ファイルの名前。

KSM_CLI_PROFILE

CLIの有効なプロファイル。

KSM_CONFIG

Base64設定文字列。CLIはこれをデフォルトプロファイルに使用します。

コマンドの実行

Keeperシークレットマネージャーのコマンドは、コマンドラインからksmプログラムを使用して実行されます。

ksm <コマンド> <サブコマンド> <オプション>

特定のコマンドのヘルプを表示するには、以下のコマンドを実行します。

ksm <コマンド> --help

サブコマンドのヘルプを表示するには、以下のコマンドを実行します。

ksm <コマンド> <サブコマンド> --help

コマンド
説明

secret

ボルトからシークレットを取得します

folder

フォルダを管理します

profile

ローカル設定プロファイルを管理します

init

ワンタイムアクセストークンを初期化します

exec

環境変数を置換してスクリプトを実行します

config

CLI設定を管理します

version

CLIのバージョン情報を表示します

shell

CLIを対話型シェルモードで起動します

quit

シェルモードを終了します

オプション

--ini-file </path/to/keeper.ini>

keeper.ini設定ファイルを設定します。設定されていない場合、CLIは_keeper.ini_ファイルがないか以下のディレクトリを調べます。

  • 環境変数KSM_INI_DIRで定義されたパス

  • カレントディレクトリ

  • ユーザーのホームディレクトリ

    • ${HOME}

    • ${HOME}/.config/ksm

    • $env:USERPROFILE

  • 様々なシステムディレクトリ

    • /etc

    • /etc/ksm

    • /etc/keeper

    • $env:APPDATA/Keeper

    • $env:ProgamData/Keeper

    • $env:ProgramFiles/Keeper

-p、--profile-name <名前> 指定した設定プロファイルを使用します

-o、--output <{stdout, stderr, filename}> 出力先を設定します

  • stdout - 標準出力に出力します (デフォルト)

  • stderr - 標準エラーに出力します

  • <filename> - 指定したテキストファイルに出力を送信します

--color/--no-color、-c/-nc 出力インスタンスの色を有効化または無効化します

--cache/--no-cache このコマンドインスタンスの記録のキャッシュの使用を有効化または無効化します。

最終更新