> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/secrets-manager/about/one-time-token.md).

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

## 概要 <a href="#overview" id="overview"></a>

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

ワンタイムアクセストークンは、[Keeperコマンダー](#using-commander-to-generate-a-token)または[Keeperボルト](#using-the-keeper-vault-to-generate-a-token)を使用して生成できます。\
ワンタイムアクセストークンは、クライアントデバイスの作成時に生成されます。

ワンタイムアクセストークンの目的は、[構成](/keeperpam/jp/secrets-manager/about/secrets-manager-configuration.md)を生成することです。構成は複数の暗号化キーおよび識別子からなり、デバイスのセキュアストレージ (macOS Keychainなど) にローカル保存されるか、対象のCI/CDプラットフォームのシークレット保管に保存されます。

## コマンダーを使用したトークンの生成 <a href="#using-commander-to-generate-a-token" id="using-commander-to-generate-a-token"></a>

[KeeperコマンダーCLI](/keeperpam/jp/commander-cli/overview.md) では、`secrets-manager` コマンドでKSMアプリケーション、デバイス、権限を管理できます。

#### 1. アプリケーションを作成する <a href="#id-1-create-an-application" id="id-1-create-an-application"></a>

{% hint style="info" icon="pencil-line" %}
使用したいアプリケーションが既にある場合は、手順3に進みます。
{% endhint %}

`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. アプリケーションを共有フォルダまたはレコードに関連付ける <a href="#id-2-associate-the-application-to-shared-folders-or-records" id="id-2-associate-the-application-to-shared-folders-or-records"></a>

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

コマンダーでは、以下のコマンドでアプリケーションに割り当てます。

{% code overflow="wrap" %}

```
secrets-manager share add --app <APPLICATION NAME> --secret <FOLDER OR RECORD UID>
```

{% endcode %}

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

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

```
My Vault> secrets-manager share add --app DevOps --secret XXX --editable

Successfully added secrets to app uid=XXX, editable=True:
        RpdmKFgF5lpsaID3TcHu8A Shared Folder
```

{% hint style="info" icon="pencil-line" %}
レコードUIDやフォルダUIDを確認するには、`ls -l` コマンドを使用します。このコマンドを実行すると、対応するUIDとともにレコードやフォルダの一覧が表示されます。
{% endhint %}

#### 3. クライアントデバイスを作成する <a href="#id-3-create-a-client-device" id="id-3-create-a-client-device"></a>

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

新しいクライアントデバイスを作成するには、`secrets-manager client add --app <APPLICATION NAME>` コマンドを使用します。

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

```
My Vault> secrets-manager client add --app DevOps --name server1

Successfully generated Client Device
====================================

One-Time Access Token: US:19-V--cbg8P-o9OVDzMl_hWnrt-QE1eAMQHgSkQMUi0
Name: server1
IP Lock: Enabled
Token Expires On: 2021-10-01 11:14:18
App Access Expires on: Never
```

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

出力結果からワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKまたは各種インテグレーションを使用してデバイスを初期化してください。このトークンは、対象デバイスで一度使用すると再利用できません。アプリケーションに関連付けられたレコードへアクセスするために、必要な数だけクライアントデバイスを生成できます。

## Keeperボルトを使用したトークンの生成 <a href="#using-the-keeper-vault-to-generate-a-token" id="using-the-keeper-vault-to-generate-a-token"></a>

#### 1. シークレットマネージャーに移動する <a href="#id-1-navigate-to-secrets-manager" id="id-1-navigate-to-secrets-manager"></a>

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

<figure><img src="/files/tLLveThhtncypsvtqwiE" alt=""><figcaption></figcaption></figure>

#### 2. 新しいアプリケーションを作成する、または既存のアプリケーションを使用する <a href="#id-2-create-a-new-application-or-use-existing-app" id="id-2-create-a-new-application-or-use-existing-app"></a>

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

<figure><img src="/files/KPxUiHde831gRABksQOx" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/All1XmSy12QWVkTv80vE" alt=""><figcaption></figcaption></figure>

{% hint style="info" icon="pencil-line" %}
アプリケーションの作成後に、フォルダやレコードを追加できます。
{% endhint %}

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

#### 3. ワンタイムアクセストークンを生成する <a href="#id-3-generate-a-one-time-access-token" id="id-3-generate-a-one-time-access-token"></a>

アプリケーションが作成されたら、**\[アクセストークンを生成]** をクリックして、最初のクライアントデバイスを作成し、ワンタイムトークンを取得します。

<figure><img src="/files/KMGG4jokYgYgiQWu63lC" alt=""><figcaption></figcaption></figure>

出力結果からワンタイムアクセストークンをコピーし、KeeperシークレットマネージャーSDKまたは各種インテグレーションを使用してデバイスを初期化します。このトークンは、対象デバイスで一度使用すると再利用できません。アプリケーションに関連付けられたレコードへアクセスするために、必要な数だけクライアントデバイスを生成できます。

### 追加のデバイストークンの作成 <a href="#creating-additional-device-tokens" id="creating-additional-device-tokens"></a>

デバイスは、**\[シークレットマネージャー]** > **\[アプリケーション]** > **\[デバイス]** タブで管理します。新しいクライアントデバイスを作成するには、**\[デバイスの追加]** をクリックします。この画面では、デバイスを初期化する以下の3つの方法から選べます。

* ワンタイムアクセストークン
* Base64構成
* JSON構成

ワンタイムアクセストークンを選択した場合、対象のSDKまたはインテグレーションでは、このトークンを使って以降のAPI呼び出し用のローカル構成を生成する必要があります。代わりに、Base64またはJSON形式であらかじめ用意された構成を選択することもできます。

<figure><img src="/files/nOLqBtoYoF7islK5NlSQ" alt=""><figcaption></figcaption></figure>

## 構成の生成 <a href="#generating-configurations" id="generating-configurations"></a>

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

シークレットマネージャー構成の作成方法については、[こちらのページ](/keeperpam/jp/secrets-manager/about/secrets-manager-configuration.md)で取り扱います。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/secrets-manager/about/one-time-token.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
