github編集

ワンタイムアクセストークン

Keeperへの接続に使用するワンタイムアクセストークンについて

概説

Keeperシークレットマネージャーは、「ワンタイムアクセストークン」を使用して鍵交換を行い、シークレットマネージャーAPIにアクセスする新しいクライアントデバイスを初期化します。各クライアントデバイスは、それぞれ専用のワンタイムアクセストークンを使用して初期化する必要があります。

ワンタイムアクセストークンは、KeeperコマンダーまたはKeeperボルトを使用して生成できます。これらのトークンは、クライアントデバイスを作成する際に生成されます。

ワンタイムアクセストークンの目的は、「構成」を作成することにあります。構成は、複数の暗号化キーおよび識別子で構成されており、クライアントデバイス上にローカル保存されるか、対象となるCI/CDプラットフォーム内に保存されます。

コマンダーを使用したトークンの生成

1. アプリケーションを作成する

circle-info

使用したいアプリケーションが既に存在する場合は、手順3に進みます。

secrets-manager app create を使用して新しいシークレットマネージャーアプリケーションを作成します

My Vault> secrets-manager app create DevOps
Application was successfully added

secrets-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_QwL3FsCJziotpLQ

2. アプリケーションを共有フォルダまたはレコードに関連付ける

アプリケーションにボルト内のレコードへのアクセスを許可するには、共有フォルダまたはレコードをアプリケーションに割り当てる必要があります。

コマンダーから、以下のコマンドを使用してアプリケーションと共有します。

secrets-manager share add --app <アプリケーション名> --secret <フォルダまたはレコードUID>

--editableフラグを指定すると、アプリケーションに編集権限を付与できます。

以下の例では、「XXX」の部分をレコードまたは共有フォルダのUIDに置き換えてください。

circle-info

レコードUIDやフォルダUIDを確認するには、ls -l コマンドを使用します。このコマンドを実行すると、対応するUIDとともに、レコードやフォルダの一覧が表示されます。

3. クライアントデバイスを作成する

アプリケーションは、1つ以上のクライアントデバイスで構成されます。ボルト内のレコードにアクセスするには、少なくとも1つのクライアントデバイスが必要です。

新しいクライアントデバイスを作成するには、secrets-manager client add --app <アプリケーション名> コマンドを使用します。

オプションとして、--name <名前> を指定するとクライアントデバイス名を設定できます。また、--unlock-ip を指定すると、認証された任意のデバイスからの接続を許可できます。デフォルトでは、クライアントデバイスの外部IPアドレスに基づいてアクセスが制限されます。

クライアントデバイスの作成時に、ワンタイムアクセストークンが表示されます。

出力結果からワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKまたは各種インテグレーションを使用してデバイスを初期化してください。このトークンは、対象デバイスで一度使用すると再利用できません。

アプリケーションに関連付けられたレコードへアクセスするために、必要な数だけクライアントデバイスを生成できます。

Keeperボルトを使用したトークンの生成

新しいアプリケーションを使用する場合

1. シークレットマネージャーに移動します

Keeperボルトのナビゲーションメニューからシークレットマネージャーを選択します。

2. 新しいアプリケーションを作成します

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

[アプリケーションを作成] ボタンは、ページ右上に表示されます。アプリケーションがまだ作成されていない場合は、ページ中央に表示されます。

アプリケーションがまだ存在しない場合のシークレットマネージャータブ

「アプリケーションの追加」ウィンドウで、新しいアプリケーションの名前を入力します。

アプリケーションの追加フォーム

ドロップダウンメニューから、アプリケーションにアクセスを許可する共有フォルダを選択します。複数のフォルダを選択できます。

アプリケーションにレコードへのアクセスを許可する共有フォルダを選択
circle-info

アプリケーションを作成後、さらにフォルダとレコードを追加できます。

ドロップダウンメニューを使用して、このアプリケーションに読み取り権限や編集権限を与えることもできます。

アクセス権限オプションとIPロックオプションの選択

必要に応じて、[初回リクエスト時にデバイスの外部WAN IPアドレスをロックする] にチェックを入れることで、アプリケーションの最初のクライアントデバイスを、最初に接続したIPアドレスに制限できます。

3. ワンタイムアクセストークンを生成する

アプリケーションの設定が完了した後、[アクセストークンを生成] をクリックすると、最初のクライアントデバイスが作成され、ワンタイムアクセストークンを取得できます。

出力結果からワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKまたは各種インテグレーションを使用してデバイスを初期化します。このトークンは、対象デバイスで一度使用すると再利用できません。

アプリケーションに関連付けられたレコードへアクセスするために、必要な数だけクライアントデバイスを生成できます。

既存のアプリケーションを使用

1. シークレットマネージャーに移動します

Keeperボルトのナビゲーションメニューからシークレットマネージャーを選択します。

2. 既存のアプリケーションに新しいクライアントデバイスを作成する

既存のシークレットマネージャーアプリケーションで新しいクライアントデバイスを作成し、新しいワンタイムアクセストークンを生成するには、まずシークレットマネージャーのタブに表示されている一覧から使用するアプリケーションを選択します。

アプリケーションがすでに存在する場合のシークレットマネージャータブ

アプリケーションを選択すると詳細画面が開き、このアプリケーションがアクセスできるフォルダやレコードが表示されます。

アプリケーションがアクセスできる共有フォルダとレコードの一覧

新しいクライアントデバイスを作成するには、まず [デバイス] タブに移動し、[編集] をクリックした後、[+ デバイス] ボタンをクリックします。

このアプリケーションに関連付けられたすべてのデバイスが表示されたデバイスタブ

[デバイスを追加] フォームで、新しいデバイスの名前を選択します。必要に応じて [初回リクエスト時にデバイスの外部WAN IPアドレスをロックする] にチェックを入れることで、クライアントデバイスを最初に接続したIPアドレスに制限できます。

デバイスの追加フォーム

3. ワンタイムアクセストークンを生成する

[アクセストークンを生成] をクリックすると、クライアントデバイスが作成され、ワンタイムアクセストークンが表示されます。

この画面に表示されるワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKや各種インテグレーションで使用します。このトークンは後から再表示できないため、必ずこの時点で控えてください (追加のクライアントデバイスを作成することで、新たなトークンを生成することは可能です)。

構成を生成

一部のサードパーティ製Keeperシークレットマネージャー連携では、ワンタイムアクセストークンから構成を作成するのではなく、あらかじめ用意された構成を使用する必要があります。

次のページでは、シークレットマネージャーの構成を作成する方法について取り扱います。

最終更新