ワンタイムアクセストークン
デバイスの初期化に使用するKeeperシークレットマネージャーのワンタイムアクセストークン
概要
Keeperシークレットマネージャーは、「ワンタイムアクセストークン」を使用して鍵交換を行い、シークレットマネージャーAPIにアクセスする新しいクライアントデバイスを初期化します。各クライアントデバイスは、それぞれ専用のワンタイムアクセストークンを使用して初期化する必要があります。
ワンタイムアクセストークンは、KeeperコマンダーまたはKeeperボルトを使用して生成できます。 ワンタイムアクセストークンは、クライアントデバイスの作成時に生成されます。
ワンタイムアクセストークンの目的は、構成を生成することです。構成は複数の暗号化キーおよび識別子からなり、デバイスのセキュアストレージ (macOS Keychainなど) にローカル保存されるか、対象のCI/CDプラットフォームのシークレット保管に保存されます。
コマンダーを使用したトークンの生成
KeeperコマンダーCLI では、secrets-manager コマンドでKSMアプリケーション、デバイス、権限を管理できます。
1. アプリケーションを作成する
secrets-manager app create を使用して、新しいシークレットマネージャーアプリケーションを作成します。
My Vault> secrets-manager app create DevOps
Application was successfully addedsecrets-manager app list を使用すると、利用可能なアプリケーションの一覧を表示できます。
My Vault> secrets-manager app list
List all Secrets Manager Applications
Title UID
----------------- ----------------------
DevOps fe6mv_ZBLqca35dBUTdNeQ
Examples Xym5lhpSidvtk9VlmV_3dQ
Github Actions L5FqK5DUJhxeCXp50nSkuw
Jenkind R2jMVW_QwL3FsCJziotpLQ2. アプリケーションを共有フォルダまたはレコードに関連付ける
アプリケーションにボルト内のレコードへのアクセスを許可するには、共有フォルダまたはレコードをアプリケーションに割り当てる必要があります。
コマンダーでは、以下のコマンドでアプリケーションに割り当てます。
必要に応じて --editable フラグを指定すると、アプリケーションに編集権限を付与できます。
以下の例では、「XXX」の部分をレコードまたは共有フォルダのUIDに置き換えます。
3. クライアントデバイスを作成する
アプリケーションは、1つ以上のクライアントデバイスで構成されます。ボルト内のレコードにアクセスするには、少なくとも1つのクライアントデバイスが必要です。
新しいクライアントデバイスを作成するには、secrets-manager client add --app <APPLICATION NAME> コマンドを使用します。
オプションとして、--name <NAME> を指定するとクライアントデバイス名を設定できます。また、--unlock-ip を指定すると、認証された任意のデバイスからの接続を許可できます。デフォルトでは、クライアントデバイスの外部IPアドレスに基づいてアクセスが制限されます。
クライアントデバイスの作成時に、ワンタイムアクセストークンが表示されます。
出力結果からワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKまたは各種インテグレーションを使用してデバイスを初期化してください。このトークンは、対象デバイスで一度使用すると再利用できません。アプリケーションに関連付けられたレコードへアクセスするために、必要な数だけクライアントデバイスを生成できます。
Keeperボルトを使用したトークンの生成
1. シークレットマネージャーに移動する
Keeperボルトのナビゲーションメニューから [シークレットマネージャー] を選択します。

2. 新しいアプリケーションを作成する、または既存のアプリケーションを使用する
新しいシークレットマネージャーアプリケーションを作成してワンタイムトークンを生成するには、まずシークレットマネージャータブから [アプリケーションを作成] を選択します。

新しいアプリケーションの名前 (例: 「Github Action」) を付け、アプリケーションがアクセスできるフォルダを選択します。複数のフォルダを選択できます。

このアプリケーションに読み取り専用または編集権限を付与できます。必要に応じて [デバイスの外部WAN IPアドレス用初期リクエストをロック] にチェックを入れると、アプリケーションの最初のクライアントデバイスを、最初に接続したIPアドレスに制限できます。
3. ワンタイムアクセストークンを生成する
アプリケーションが作成されたら、[アクセストークンを生成] をクリックして、最初のクライアントデバイスを作成し、ワンタイムトークンを取得します。

出力結果からワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKまたは各種インテグレーションを使用してデバイスを初期化します。このトークンは、対象デバイスで一度使用すると再利用できません。アプリケーションに関連付けられたレコードへアクセスするために、必要な数だけクライアントデバイスを生成できます。
追加のデバイストークンの作成
デバイスは、[シークレットマネージャー] > [アプリケーション] > [デバイス] タブで管理します。新しいクライアントデバイスを作成するには、[デバイスの追加] をクリックします。この画面では、デバイスを初期化する以下の3つの方法から選べます。
ワンタイムアクセストークン
Base64構成
JSON構成
ワンタイムアクセストークンを選択した場合、対象のSDKまたはインテグレーションでは、このトークンを使って以降のAPI呼び出し用のローカル構成を生成する必要があります。代わりに、Base64またはJSON形式であらかじめ用意された構成を選択することもできます。

構成の生成
一部のサードパーティ製Keeperシークレットマネージャーインテグレーションでは、ワンタイムアクセストークンから構成を作成するのではなく、あらかじめ用意された構成が必要です。
シークレットマネージャー構成の作成方法については、こちらのページで取り扱います。
最終更新

