# KCMをボルトに接続

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FmZJPvCbIsHknBK80Bdib%2Fimage.png?alt=media&#x26;token=aa789ad4-8c6a-412a-bbbc-da93194dc165" alt=""><figcaption></figcaption></figure>

KCMをボルトに接続するには、Keeperシークレットマネージャー (KSM) を使用します。 最初に、管理コンソールで、属しているロールのロールポリシー強制設定で、KSMを有効にする必要があります。KSMを有効にすると、左側のメニューに「シークレットマネージャー」というタブが表示されます。

## ネットワークの設定

この統合では、KCM サーバーが、Keeper テナントがホストされているTLS ポート443を介してKeeperシークレットマネージャー (KSM) エンドポイントと通信を行える必要があります。

**US**: keepersecurity.com\
**EU**: keepersecurity.eu\
**AU**: keepersecurity.com.au\
**CA**: keepersecurity.ca\
**JP**: keepersecurity.jp\
**US\_GOV**: govcloud.keepersecurity.us

## ボルトのセットアップ

接続を確立するための認証情報は、Keeperの共有フォルダに保存されます。Keeperシークレットマネージャーアプリケーションが作成され、共有フォルダに関連付けられます。その後、base64デバイス設定が作成され、[Keeperコネクションマネージャーサーバーに追加](/keeper-connection-manager/jp/installation/auto-docker-install.md)されます。

{% hint style="warning" %}
この連携機能は、ログイン情報、SSHキー、データベース、サーバーなど、最新の「タイプ付き」ボルトレコードに対応しています。従来のKeeperの「一般」レコードタイプは、KeeperシークレットマネージャーやKeeperコネクションマネージャーとの連携には対応していません。レコードタイプの詳細については、[こちらのページ](/enterprise-guide/jp/record-types.md)をご覧ください。
{% endhint %}

### 設定手順

1. ボルトで共有フォルダを作成し、この共有フォルダにクレデンシャルレコードを格納します。 共有フォルダはこの時点で作成する必要がありますが、クレデンシャルは後で追加できます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2Fynyv8laUvBm58W1Tkt5o%2Fimage.png?alt=media&#x26;token=b1a1ef90-c98a-4a08-943f-276b4ebd3854" alt=""><figcaption></figcaption></figure>

2. シークレットマネージャータブから、シークレットマネージャーアプリケーションを作成し、共有フォルダを選択します。次に、\[デバイス] > \[編集] > \[デバイスの追加] > メソッドに「設定ファイル」、設定タイプに「Base64」を選択し、base64トークンをコピーするかダウンロードします。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FjwjmXodPWNlMxbj7edrM%2Fimage.png?alt=media&#x26;token=c3243eec-2a40-4228-b3ec-bc4b7174a7a7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FhAkbD5KrixYrZZq9MrtI%2Fimage.png?alt=media&#x26;token=675e7ecf-4cd6-4505-9734-59160a5f30da" alt=""><figcaption></figcaption></figure>

3. KCMを初めてインストールして以来、Docker Composeに手動で変更を加えていない場合は、recondfigureコマンドを実行してBase64形式の設定を入力します。

```sh
sudo ./kcm-setup.run reconfigure
```

{% hint style="warning" %}
「recondfigure」を実行すると、Docker Composeファイルに加えた変更はすべて失われます。
{% endhint %}

最初のインストール以降にDocker Composeを変更した場合は、手動で以下のように`/etc/kcm-setup/docker-compose.yml`を編集し、Base64設定を「environment」セクションに追加します。

```
guacamole:
    image: keeper/guacamole:2
    restart: unless-stopped
    volumes:
        - common-storage:/var/lib/guacamole
    environment:
        ACCEPT_EULA: "Y"
        GUACD_HOSTNAME: "guacd"
        MYSQL_HOSTNAME: "db"
        MYSQL_DATABASE: "guacamole_db"
        MYSQL_USERNAME: "guacamole_user"
        MYSQL_PASSWORD: "xxxxxxx"
        KSM_CONFIG: "paste Base64 here"        
```

4. ファイルを保存し、upgradeコマンドを実行して変更を反映します。

```bash
sudo ./kcm-setup.run apply
```

5. Keeperコネクションマネージャーインターフェースから新しい接続を作成します。これで、KCMのホスト名/IPと、このKSMアプリケーションに関連付けられた共有フォルダ内のレコードのホスト名/IPとを照合することで、動的トークンを使用してクレデンシャルを取得できます。

`${KEEPER_SERVER_USERNAME}`や`${KEEPER_SERVER_PASSWORD}`などのオプションが数多くあります。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2Fn0RLasMaURZ3BiKrjo9j%2Fimage.png?alt=media&#x26;token=3c138c70-0656-4fe2-8f6b-4018a41d81a0" alt=""><figcaption></figcaption></figure>

セットアップは完了となります。他の照合機能と利用できる変数については、[動的トークンのページ](/keeper-connection-manager/jp/vault-integration/dynamic-tokens.md)でをご参照ください。

## コマンドラインによる設定

以下は、KeeperコマンダーCLIを使用してKeeperコネクションマネージャーとKeeperシークレットマネージャーの統合を確立するための手順です。

1. Keeperボルトを設定

Keeperボルトで、接続の作成に使用するクレデンシャルが格納される共有フォルダを作成します。以下の例では、Windows 2022 Serverのパスワード、SSH鍵、MySQLデータベースなどを含む「Connection Manager Secrets」という共有フォルダが作成されています。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FmLHGQzcWItrzAATimvp0%2Fimage.png?alt=media&#x26;token=0fc4286e-4f10-40d5-a1e9-969115c11dff" alt=""><figcaption><p>Keeperボルトの共有フォルダ</p></figcaption></figure>

2. KeeperコマンダーCLIをインストール

CLIツールを使用すると、設定をすばやく指定できます。

コマンダーのインストール方法はいくつか用意されており、バイナリインストーラ、pip3パッケージまたはPythonソースコードがご利用になれます。詳しくは下記のページをご参照ください。

{% content-ref url="/spaces/PL6k1aGsLiFiiJ3Y7zCl/pages/-MeR6akVJ9USNnuBGLUD" %}
[インストールとセットアップ](/keeperpam/jp/commander-cli/commander-installation-setup.md)
{% endcontent-ref %}

3. コマンダーにログイン

コマンダーのインストール後、CLIにログインします。

```
$ keeper shell
...
...

Not Logged In> login you@company.com
...
...

My Vault> 
```

以下のスクリーンショットの例では、FIDO2キーとマスターパスワードを使用して、Keeper管理者アカウントでログインしています。セキュリティ設定によっては、デバイス検証、MFA、パスワード入力にパスしなければならない場合もあります。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FLqHZ08YBn4foFv9qacET%2Fimage.png?alt=media&#x26;token=e5a3576a-4184-4b2f-a2f9-3c49d51ac2ae" alt=""><figcaption><p>Keeperコマンダーにログイン</p></figcaption></figure>

4. 共有フォルダのUIDを取得

コマンド`lsf`は、共有フォルダを一覧表示して、UIDを表示します。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FLsDxQrygOzSVko8mhkFN%2Fimage.png?alt=media&#x26;token=985408ea-93e2-469a-ade5-579995ae5a20" alt=""><figcaption><p>共有フォルダを一覧表示</p></figcaption></figure>

この例で使用中の共有フォルダのUIDは、`zyMiCn8596yvMln4YwdEdA`です。

5. **アプリケーションを作成**

共有フォルダに割り当てられたボルトにシークレットマネージャーアプリケーションを作成します。アプリケーションは、1つまたは複数のデバイスで構成されます。ここでは、シークレットマネージャーアプリケーションを作成し、アプリケーションのUIDを取得します。

```
secrets-manager app create "Connection Manager Example"

secrets-manager app get "Connection Manager Example"

Secrets Manager Application
App Name:Connection Manager Example
App UID:YGHY7nWrvkzEzF0I2AuFfg
```

この例で結果として生成されるシークレットマネージャーアプリのUIDは、`YGHY7nWrvkzEzF0I2AuFfg`です。

6. **アプリケーションに共有フォルダを割り当て**

この手順では、アプリケーションに共有フォルダを割り当てます。

{% code overflow="wrap" %}

```
secrets-manager share add --app "Connection Manager Example" --secret zyMiCn8596yvMln4YwdEdA
```

{% endcode %}

成功すると、「Successfully added secrets to app」 (シークレットがアプリに正常に追加されました) という応答が表示されます。

7. **クライアントの設定を生成**

この手順では、クライアントデバイスの設定を作成します。このクライアントデバイスの設定は、コネクションマネージャーに直接提供されます。

{% code overflow="wrap" %}

```
secrets-manager client add --app "Connection Manager Example" --config-init b64 --name "KCM Device" --unlock-ip
```

{% endcode %}

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2Fpz34eh2ua2BRczhxLhrX%2Fimage.png?alt=media&#x26;token=4bdc4d69-af57-4b69-a59b-4eae71b54362" alt=""><figcaption><p>初期化設定の生成</p></figcaption></figure>

緑色の「Initialized Config」 (初期化設定) セクションをKeeperコネクションマネージャーの設定ファイルに追加します。設定の場所は、以下で説明するように、インストールメソッドによって異なります。

{% hint style="info" %}
次のセクションで初期化するトークンをコピーします
{% endhint %}

### Dockerの自動インストールメソッド

Docker自動インストールメソッドを使用してKeeperコネクションマネージャーをインストールした場合、自動生成されたDocker Composeファイルを変更して連携トークンを含める必要があります。

1. ローカルインスタンスでは、コンテナを停止することをお勧めします。そのためには、kcm-setupを使用するか、docker-composeを直接使用します。

```
sudo ./kcm-setup.run stop
```

または

```
sudo su
cd /etc/kcm-setup/
docker-compose -p kcm stop
```

dockerの簡易メソッドを使用すると、事前設定された`docker-compose.yml`ファイルが作成されます。KSMサポートを追加するには、このファイルを1か所変更する必要があります。

2. `/etc/kcm-setup/docker-compose.yml`ファイルを編集します。Linuxシステムでは、nanoやvimなど任意のエディタをご使用ください。

「guacamole」dockerイメージと環境変数を定義する「environment」 (環境) セクションを探します。以下はサンプルファイルとなります。手順6のトークンを貼り付けます。

```
    guacamole:
        image: keeper/guacamole:2
        restart: unless-stopped
        volumes:
            - common-storage:/var/lib/guacamole
        environment:
            ACCEPT_EULA:"Y"
            GUACD_HOSTNAME: "guacd"
            MYSQL_HOSTNAME: "db"
            MYSQL_DATABASE: "guacamole_db"
            MYSQL_USERNAME: "guacamole_user"
            MYSQL_PASSWORD: "xxxxxxx"
            KSM_CONFIG: "paste token here"
```

3. ファイルを保存してコンテナを更新

ファイルの変更を保存後、コンテナを更新します。

```
$ sudo ./kcm-setup.run apply
```

#### ログインのテストとトークンの初期化

これでKSMとの連携が完了したので、Keeperコネクションマネージャーに正常にログインして接続をオープンできることをご確認ください。エラーが発生した場合は、ログファイルを確認してください。

{% hint style="info" %}
ログインも接続の開始もできない場合は、[トラブルシューティング](/keeper-connection-manager/jp/troubleshooting.md)セクションをご参照の上、ログファイルの調査方法をご確認ください。
{% endhint %}

### Dockerカスタムインストールメソッド

Dockerカスタムインストールメソッドを使用してKeeperコネクションマネージャーをインストールした場合、Docker Composeファイルを変更して連携トークンを含める必要があります。連携を有効化する手順は以下のとおりです。

1. ローカルインスタンスで、コンテナを停止します。

```
cd /path/to/docker-compose.yml
docker-compose stop
```

2. `docker-compose.yml`ファイルを編集します。「guacamole」dockerイメージと環境変数を定義する「environment」 (環境) セクションを探します。以下はサンプルファイルとなります。手順6のトークンを貼り付けます。

```
    guacamole:
        image: keeper/guacamole:2
        restart: unless-stopped
        volumes:
            - common-storage:/var/lib/guacamole
        environment:
            ACCEPT_EULA:"Y"
            GUACD_HOSTNAME: "guacd"
            MYSQL_HOSTNAME: "db"
            MYSQL_DATABASE: "guacamole_db"
            MYSQL_USERNAME: "guacamole_user"
            MYSQL_PASSWORD: "xxxxxxx"
            KSM_CONFIG: "paste token here"
            
```

3. **ファイルを保存してコンテナを更新**

ファイルの変更を保存後、コンテナを更新します。

```
sudo su
docker-compose up -d
```

**ログインのテストとトークンの初期化**

これでKSMとの連携が完了したので、Keeperコネクションマネージャーに正常にログインして接続をオープンできることをご確認ください。エラーが発生した場合は、ログファイルを確認してください。

{% hint style="info" %}
ログインも接続の開始もできない場合は、[トラブルシューティング](/keeper-connection-manager/jp/troubleshooting.md)セクションをご参照の上、ログファイルの調査方法をご確認ください。
{% endhint %}


---

# 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/keeper-connection-manager/jp/vault-integration/installation.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.
