# 動的トークン

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FWpdOVPDkiHedJQjaFNrx%2Fimage.png?alt=media&#x26;token=270d2d3d-a20c-4ff1-9acc-7815c8687d7b" alt=""><figcaption></figcaption></figure>

## 動的トークン

ボルト連携を使用する場合、特定のトークンはKeeperのレコードの対応する値に置き換えられます。

トークンには、動的トークンと静的トークンがあります。**動的トークン**は、Keeperボルトで一致するホスト名を検索して、必要なフィールドを抽出します。**静的トークン**は、特定のKeeperのレコードおよびフィールドを明示的に参照するように作成できます。

### ホスト名の照合

Keeperのレコードは、接続の「Hostname」 (ホスト名) フィールドとボルトのレコードの「ホスト名またはIPアドレス」フィールドを使用して接続に割り当てることができます。

これら2つの値が一致した場合、コネクションマネージャーが接続の他のフィールドのトークンを取得して、レコードのユーザー名、パスワード、ドメインなどの値に置き換えます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FTUoE7ELb4AOKAMaybOxb%2Fimage.png?alt=media&#x26;token=b15f6dee-e395-427d-9d5c-37681dda2f05" alt=""><figcaption><p>Linuxの接続照合の例</p></figcaption></figure>

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FdokVuliYxeEApvn7Yurx%2Fimage.png?alt=media&#x26;token=087ecc93-f33f-41c1-ac22-9633c35d9d96" alt=""><figcaption><p>SSH接続のシークレットマネージャーとの連携</p></figcaption></figure>

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FVmb1YMGeZY7sKzuRP4Oc%2Fimage.png?alt=media&#x26;token=33460787-b637-4077-a34f-d3cfa3417b38" alt=""><figcaption><p>Windowsログインの例</p></figcaption></figure>

### ユーザーのマッチング

Keeperのレコードは、接続の「Username」 (ユーザー名) フィールドとボルトのレコードの「ログイン」フィールドによって接続に割り当てます。

これら2つの値が一致した場合、コネクションマネージャーは、接続の他のフィールドのトークンを取得して、レコードのシークレットに置き換えます。

この機能は、例えば1つのSSH鍵を複数のサーバーにマッピングする場合に便利で、ホストごとに1つのレコードをボルトに保存する必要はありません。1つのKeeperボルトのレコードを使用して、接続をいくつでも認証できます。以下は、ユーザー名でマッチングするように設定された接続となります。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FlMkO4ixMGdbYrEr3Vbjh%2Fimage.png?alt=media&#x26;token=4a8c72cc-53b7-496f-b2ad-c94e5776d619" alt=""><figcaption><p>ユーザー照合による接続例</p></figcaption></figure>

対応するボルトのレコードを以下に示します。ボルトのレコードにホスト名が指定されていないため、ログインフィールドを使用して照合されます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FDe7YY3VLQIuvTM4H1dJI%2Fimage.png?alt=media&#x26;token=398ecb30-e911-43dd-81d1-08376a88bd44" alt=""><figcaption><p>ユーザーでボルトのレコードを照合</p></figcaption></figure>

{% hint style="info" %}
ユーザーベースの照合では、Keeperのレコードにホスト名/ポートがないことを確かにします。ユーザー名とパスワード (または秘密鍵) の指定するだけで問題ありません。
{% endhint %}

### ドメイン照合

Keeperのレコードは、接続の「ドメイン」フィールドとボルトのレコードの「ドメイン」という名前のカスタムフィールドによって接続に割り当てることができます。

これら2つの値が一致した場合、コネクションマネージャーは、接続の他のフィールドのトークンを取得して、レコードのユーザー名、パスワードなどの値に置き換えます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FepXZ3w0hxJtWJjFlnPws%2Fimage.png?alt=media&#x26;token=c8f8b189-baea-45a4-8628-50da0e2dc7eb" alt=""><figcaption><p>ドメイン照合</p></figcaption></figure>

ドメインをユーザー名フィールドの一部 (LUREY\Administratorなど) として保存したい場合は、[keeper/guacamole](https://docs.keeper.io/jp/keeper-connection-manager/installation/docker-compose-install/keeper-guacamole)イメージのDockerコンテナ環境変数の`KSM_STRIP_WINDOWS_DOMAINS`フラグを「True」に切り替えて有効にします。

別の例として、Active Directoryの認証情報を使用してLinuxマシンにSSH接続を行う場合、`username@domain`形式の値をログインフィールドに保存することができます。

### リンクされたレコードへの対応

Keeperシークレットマネージャーとの連携により、リンクされたレコードを含むシークレットも読み取れるようになりました。具体的には、ボルト内のKeeperPAMレコードに関連付けられている「admin」および「launch」の認証情報が対象です。従来の `${KEEPER_SERVER_}` や `${KEEPER_GATEWAY_}`トークンと同様に、リンクされたレコードからシークレットを取得できる追加の動的トークンを利用できます。

### **使用可能なトークン**

内臓のトークンはそれぞれがレコードのフィールドに対応しています。以下は、各トークンとそれに対応するレコードのフィールドの一覧示します。これらのトークンは、すべての接続タイプに適用できます。

| パラメータトークン                      | 説明                                                                                                                                                               |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `${KEEPER_SERVER_USERNAME}`    | <p><strong>取得:</strong> 一致した個々のレコードの「Login」フィールド<br></p><p><strong>一致:</strong> 「hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード</p>                                   |
| `${KEEPER_SERVER_KEY}`         | <p><strong>取得:</strong> 一致した個々のレコードの「Private Key」フィールド (または個々の.pemファイル添付)<br></p><p><strong>一致:</strong> 「hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード</p>          |
| `${KEEPER_SERVER_PASSPHRASE}`  | <p><strong>取得:</strong> 一致した個々のレコードの「Passphrase」フィールド (Passphraseがない場合は「Password」)<br></p><p><strong>一致:</strong> 「hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード</p> |
| `${KEEPER_SERVER_PASSWORD}`    | <p><strong>取得:</strong> 一致した個々のレコードの「Password」フィールド<br></p><p><strong>一致:</strong> 「hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード</p>                                |
| `${KEEPER_SERVER_DOMAIN}`      | <p><strong>取得:</strong> 一致した個々のレコードの「Domain」カスタムフィールド<br></p><p><strong>一致:</strong> 「hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード</p>                              |
| `${KEEPER_SERVER_TOTP_SECRET}` | レコードに関連付けられたTOTPシークレットを取得します                                                                                                                                     |
| `${KEEPER_USER_KEY}`           | <p><strong>取得:</strong> 一致した個々のレコードの「Private Key」フィールド (または個々の.pemファイル添付)<br></p><p><strong>一致:</strong> 「username」接続パラメータに一致するログインを持つレコード</p>                   |
| `${KEEPER_USER_PASSPHRASE}`    | <p><strong>取得:</strong> 一致した個々のレコードの「Passphrase」フィールド (Passphraseがない場合はPassword)<br></p><p><strong>一致:</strong> 「username」接続パラメータに一致するログインを持つレコード</p>            |
| `${KEEPER_USER_PASSWORD}`      | <p><strong>取得:</strong> 一致した個々のレコードの「Password」フィールド<br></p><p><strong>一致:</strong> 「username」接続パラメータに一致するログインを持つレコード</p>                                         |
| `${KEEPER_USER_DOMAIN}`        | <p><strong>取得:</strong> 一致した個々のレコードの「Domain」カスタムフィールド<br></p><p><strong>一致:</strong> 「username」接続パラメータに一致するログインを持つレコード</p>                                       |
| $`{KEEPER_USER_TOTP_SECRET}`   | <p><strong>取得</strong>: レコードに関連付けられたTOTPシークレット</p><p><strong>一致</strong>: 「username」接続パラメータと一致するログインのレコード</p>                                                    |
| `${KEEPER_DOMAIN_USERNAME}`    | <p><strong>取得:</strong> 一致した個々のレコードの「Login」フィールド</p><p><br><strong>一致:</strong> 「domain」接続パラメータの値と一致するカスタム「Domain」フィールドを持つレコード</p>                               |
| `${KEEPER_DOMAIN_PASSWORD}`    | <p><strong>取得:</strong> 一致した個々のレコードの「Password」フィールド</p><p><br><strong>一致:</strong> 「domain」接続パラメータに一致するログインを持つレコード</p>                                           |
| `${KEEPER_SERVER_ADMIN_*}`     | リモートデスクトップサーバーのホスト名に一致するKeeperレコードにリンクされた**管理者**認証情報(例: `${KEEPER_SERVER_ADMIN_PASSWORD}`) が取得されます。一致の判定は、`${KEEPER_SERVER_*}` トークンと同じ仕組みで行われます。                 |
| `${KEEPER_SERVER_LAUNCH_*}`    | リモートデスクトップサーバーのホスト名に一致するKeeperレコードにリンクされた起動用の認証情報 (例: `${KEEPER_SERVER_LAUNCH_PASSWORD}`) が取得されます。一致の判定は、`${KEEPER_SERVER_*}` トークンと同じ仕組みで行われます。                  |

#### ゲートウェイトークン <a href="#gateway-based-dynamic-secrets" id="gateway-based-dynamic-secrets"></a>

以下のトークンは、ゲートウェイサポート (RDP) が利用できる接続タイプにのみ適用されます。

| パラメータトークン                           | 説明                                                                                                                                                                                                                                                               |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `${KEEPER_GATEWAY_USERNAME}`        | <p><strong>取得:</strong> 一致した個々のレコードの「Login」フィールド<br></p><p><strong>一致:</strong> 「gateway-hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード。</p>                                                                                                                          |
| `${KEEPER_GATEWAY_KEY}`             | <p><strong>取得:</strong> 一致した個々のレコードの「Private Key」フィールド (または個々の.pemファイル添付)<br></p><p><strong>一致:</strong> 「gateway-hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード。</p>                                                                                                 |
| `${KEEPER_GATEWAY_PASSPHRASE}`      | <p><strong>取得:</strong> 一致した個々のレコードの「Passphrase」フィールド (パスフレーズがない場合は「Password」）<br></p><p><strong>一致:</strong> 「gateway-hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード。</p>                                                                                            |
| `${KEEPER_GATEWAY_PASSWORD}`        | <p><strong>取得:</strong> 一致した個々のレコードの「Password」フィールド</p><p><br><strong>一致:</strong> 「gateway-hostname」接続パラメータの値と一致するホスト名/IPアドレスを持つレコード。</p>                                                                                                                       |
| `${KEEPER_GATEWAY_USER_KEY}`        | <p><strong>取得:</strong> 一致した個々のレコードの「Private Key」フィールド (または個々の.pemファイル添付)</p><p><br><strong>一致:</strong> 「gateway-username」接続パラメータに一致するログインを持つレコード。</p>                                                                                                          |
| `${KEEPER_GATEWAY_USER_PASSPHRASE}` | <p><strong>取得:</strong> 一致した個々のレコードの「Passphrase」フィールド (Passphraseがない場合は「Password」)</p><p><br><strong>一致:</strong> 「gateway-username」接続パラメータに一致するログインを持つレコード</p>                                                                                                  |
| `${KEEPER_GATEWAY_USER_PASSWORD}`   | <p><strong>取得:</strong> 一致した個々のレコードの「Password」フィールド</p><p><br><strong>一致:</strong> 「gateway-username」接続パラメータに一致するログインを持つレコード</p>                                                                                                                                 |
| `${KEEPER_GATEWAY_ADMIN_*}`         | Microsoft RD Gatewayを使用するRDP接続において、リモートデスクトップサーバーの「gateway-hostname」パラメーターに一致するKeeperレコードにリンクされた**管理者**認証情報(例: `${KEEPER_GATEWAY_ADMIN_PASSWORD}`) が取得されます。一致の判定は、`${KEEPER_GATEWAY_*}` トークンと同じ仕組みで行われます。この機能はMicrosoft RD Gatewayを利用する場合に固有のもので、RDP接続にのみ適用されます。 |
| `${KEEPER_GATEWAY_LAUNCH_*}`        | Microsoft RD Gatewayを使用するRDP接続において、リモートデスクトップサーバーの「gateway-hostname」パラメーターに一致するKeeperレコードにリンクされた起動用の認証情報 (例: `${KEEPER_GATEWAY_LAUNCH_PASSWORD`}) が取得されます。一致の判定は、`${KEEPER_GATEWAY_*}` トークンと同じ仕組みで行われます。この機能はMicrosoft RD Gatewayを利用する場合に固有のもので、RDP接続にのみ適用されます。  |

以下のトークンは定義されてはいますが、現在はRDPではTOTPコード生成が必要ないため実際的な用途がなく、使用されません。

<table><thead><tr><th width="395">パラメータトークン</th><th>説明</th></tr></thead><tbody><tr><td><code>${KEEPER_GATEWAY_TOTP_SECRET}</code></td><td><p><strong>取得</strong>: レコードに関連付けられたTOTPシークレット</p><p><strong>一致</strong>: 「gateway-hostname」接続パラメータの値と一致するホスト名またはIPアドレスのレコード</p></td></tr><tr><td><code>${KEEPER_GATEWAY_USER_TOTP_SECRET}</code></td><td><p><strong>取得</strong>: レコードに関連付けられたTOTPシークレット</p><p><strong>一致</strong>: 「gateway-username」接続パラメータと一致するログイン情報を持つレコード</p></td></tr></tbody></table>

### Active Directoryユーザー名/ドメインの解析

KCMは、対応する名前のフィールドがある限り、以下のようにKeeperボルトのレコードからドメイン、ユーザー名、パスワードの各フィールドを識別します。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FBxFwtuYzVPn8ygfDi2nD%2Fimage.png?alt=media&#x26;token=477e488e-b765-4f2f-9804-fbdcbb31cedf" alt=""><figcaption><p>カスタムフィールドでのドメイン照合</p></figcaption></figure>

### ログインフィールドからドメインを自動解析

Keeperボルトのログインフィールドの値が`DOMAIN\Username`または`Username@Domain`の形式で供給されている場合、Active Directoryの「ドメイン」フィールドおよび「ユーザー名」フィールドを解析できます。

自動解析を有効にするには、環境変数`KSM_STRIP_WINDOWS_DOMAINS`をDocker Configファイルに追加する必要があります。これにより、ユーザー名がドメインと結合されている場合に照合が機能するようになります。

`KSM_MATCH_DOMAINS_FOR_USERS`と呼ばれる別のプロパティは、ユーザー名とドメインの両方が正確に一致する場合にのみ、マッチングを強制します。

以下は例です。

{% code title="docker-compose.yml" %}

```
            ....
            MYSQL_DATABASE: "guacamole_db"
            MYSQL_USERNAME: "guacamole_user"
            KSM_CONFIG:"XXX"
            ....
            ....
            KSM_STRIP_WINDOWS_DOMAINS: "true"
            ....

```

{% endcode %}

これで、レコードの「ログイン」フィールドに以下のように指定できます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2Fv1iMTOfwqBUwoM0tutxz%2Fimage.png?alt=media&#x26;token=2defbab4-6b89-4fea-98ac-7c55ec6ad598" alt=""><figcaption><p>ログインフィールドからドメインを自動解析</p></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://docs.keeper.io/jp/keeper-connection-manager/vault-integration/dynamic-tokens.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
