シークレットマネージャーの構成

Keeperシークレットマネージャーの構成ファイルに関する情報

概要

KeeperシークレットマネージャーSDKおよび各種インテグレーションでは、「構成」を使用して、接続トークン、暗号化キー、識別子、ドメイン情報などを保持します。これらの情報は、KeeperシークレットマネージャーAPIとの認証およびデータ復号に使用されます。

シークレットマネージャーの構成はワンタイムアクセストークンから作成され、各クライアントデバイスと1対1の関係にあります。

構成フォーマットの統一性

すべてのKeeperシークレットマネージャーSDKおよびインテグレーションは、共通の構成フォーマットを使用します。構成の実体はJSON形式ですが、一部のインテグレーションではbase64形式でも受け付けられます。

シークレットマネージャー構成の作成

Keeperボルトで作成する場合

Keeperボルトで新しいシークレットマネージャーデバイスを作成する際に、シークレットマネージャー構成を作成できます。

まず、シークレットマネージャータブに移動し、一覧からアプリケーションを選択します。

次に、右側のアプリケーションペインにある [デバイス] タブを選択し、[編集] をクリックして編集モードに入ります。

編集ビューから [デバイスの追加] をクリックすると、そのアプリケーションに新しいシークレットマネージャーデバイスを作成できます。

[デバイスの追加] メニューが表示されるので、このデバイスの名前を入力し、方法のドロップダウンから [構成ファイル] を選択します。

「構成ファイル」を選択すると、構成の受け取り方法を選択できます。Base64形式またはJSON形式で構成を生成し、ファイルとしてダウンロードするか、クリップボードにコピーするかを選択できます。

ほとんどのシークレットマネージャー統合機能ではBase64文字列が使用されますが、状況によってはJSONファイルが必要になる場合もあります。

準備ができたら、[ダウンロード] または [コピー] ボタンをクリックして構成を取得します。なお、初回にこの操作を行った時点でデバイスが作成されます。構成は複数回ダウンロードまたはコピーすることができます。

SDK・インテグレーションの使用

多くのKeeperシークレットマネージャーSDKおよびインテグレーションでは、構成ファイルを自動的に作成する機能がサポートされています。 ワンタイムアクセス・トークンを渡すことで、構成が自動的に生成されます。

SDKの例

以下は、Python SDKを使用して構成ファイルを作成する例です。シークレットマネージャーは、ワンタイムアクセス・トークンを使用して初期化されると、そのタイミングで構成が作成されます。

from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage

secrets_manager = SecretsManager(
    token='<One Time Access Token>',
    config=FileKeyValueStorage('config.json')
)

この例では、構成は「config.json」という名前のファイルに保存されています。

SDKを使用して構成ファイルを作成する場合、初期化と構成ファイルの作成は一度だけで構いません。構成ファイルが作成された後は、そのファイルを使用してSDKを初期化できるようになり、ワンタイムアクセストークンは削除しても問題ありません。

統合の例

以下は、KeeperシークレットマネージャーのJenkinsプラグインを使用する例です。

Jenkinsプラグインは、ワンタイムアクセストークンを使用して初期化され、構成ファイルが自動的にバックグラウンドで作成されます。この例では、フォームにワンタイムアクセストークンを入力し、[OK] をクリックするだけで完了します。

CLIツールを使用

シークレットマネージャーの構成は、シークレットマネージャーCLIやコマンダーCLIツールを使用して、ワンタイムアクセストークンから初期化することも可能です。一部のKeeperシークレットマネージャー統合機能では、事前に初期化された構成が必要となるため、そのような場合にはCLIツールを使用して構成を作成する必要があります。

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

シークレットマネージャーCLI (KSM)initコマンドを実行することで、ワンタイムアクセストークンを初期化して、構成を作成できます。

# 構成をJSON形式で初期化して表示
$ ksm init default <One Time Access Token>

# 構成をk8s形式で初期化して表示
$ ksm init k8s <One Time Access Token>

# JSON構成を初期化してファイルに保存
$ ksm init default --plain <One Time Access Token> > <FILENAME>

コマンダーCLI

コマンダーCLIを使用すると、ワンタイムアクセス・トークンを初期化してシークレットマネージャーの構成を作成できます。

構成を作成するには、secrets-manager client addコマンドに--config-initオプションを付けて実行します。構成はJSON形式またはBase64形式で作成できるほか、一部の統合機能では専用形式にも対応しています (各統合機能で使用できる形式については、統合機能のページをご参照ください)。

My vault> secrets-manager client add --app <APP NAME> --config-init <FORMAT>

コマンダーで構成を初期化する際は、通常--unlock-ipオプションをコマンドに含める必要があります。このオプションを指定しない場合、クライアントデバイスはコマンダー実行時のIPアドレスに固定されてしまいます。

最終更新