# 高度な機能

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FoZjXpm92u0YIi5PiTzhw%2Fimage.png?alt=media&#x26;token=55fec653-b8a8-407a-bac0-9da2583b46c9" alt=""><figcaption></figcaption></figure>

## 設定パラメータの保護

Keeperボルトを利用して、通常は`guacamole.properties`ファイルまたはDocker Composeファイルにハードコードされる設定シークレットを保護および保存できます。

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

Docker自動インストールメソッドを使用してKeeperコネクションマネージャーをインストールした場合、設定シークレットは自動生成されたDocker Composeファイル内で保護されます。

rootとして、`/etc/kcm-setup/docker-compose.yml`ファイルを編集します。

保護したい各設定シークレットについて、そのエントリをKeeperボルトの直接検索に置き換えることができます。例えば、ハードコードされたMySQLデータベースのパスワードをボルトのレコードに置き換えます。

**変更前**

```
MYSQL_HOSTNAME: "db"
MYSQL_DATABASE: "guacamole_db"
MYSQL_USERNAME: "guacamole_user"
MYSQL_PASSWORD: "your_mysql_database_password"
```

**変更後**

```
MYSQL_HOSTNAME: "db"
MYSQL_DATABASE: "guacamole_db"
MYSQL_USERNAME: "guacamole_user"
MYSQL_PASSWORD_KSM_SECRET: keeper://2ZlOFQAYi4DubJWBtSbRxw/field/password
```

トークンの構文には[Keeper表記法](/keeperpam/jp/secrets-manager/about/keeper-notation.md)を使用しています。パラメータの名前は、`*_KSM_SECRET`の形式に従います。この例では、MySQLデータベースのパスワードが共有フォルダ内のKeeperのレコードから直接取得されます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FaEbRQ73HdMBcl46VPDBd%2Fimage.png?alt=media&#x26;token=776688f2-b1d7-45cd-9e9e-3f5bd9cfa411" alt=""><figcaption><p>Keeperボルトに設定を保管</p></figcaption></figure>

それぞれの`*_KSM_SECRET`変数の値は、必要な設定値を取得するために使用するシークレットのKeeper表記となります。たとえば、`SOME_VARIABLE_KSM_SECRET`が有効なKeeper表記に設定された場合、`SOME_VARIABLE`に通常関連付けられているGuacamoleプロパティの値は、KSMのそのシークレットから取得されます。

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

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

### **Docker Composeのインストールメソッド**

`docker-compose.yml`ファイルを編集します。

保護したい各設定シークレットについて、そのエントリをKeeperボルトの直接検索に置き換えることができます。例えば、ハードコードされたMySQLデータベースのパスワードをボルトのレコードに置き換えます。

```
MYSQL_HOSTNAME: "db"
MYSQL_DATABASE: "guacamole_db"
MYSQL_USERNAME: "guacamole_user"
MYSQL_PASSWORD_KSM_SECRET: keeper://2ZlOFQAYi4DubJWBtSbRxw/field/password
```

トークンの構文には、[Keeper表記法](/keeperpam/jp/secrets-manager/about/keeper-notation.md)を使用しています。この例では、以下のようにMySQLデータベースのパスワードが共有フォルダ内のKeeperのレコードから直接取得されます。

<figure><img src="https://4041518992-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZ7s6LQJaKa1G17O787JG%2Fuploads%2FZve4dhKVBAlOhcaaeOjf%2Fimage.png?alt=media&#x26;token=9eb8c06d-15cf-433e-9388-ff016d60220c" alt=""><figcaption><p>Keeperボルトに設定を保管</p></figcaption></figure>

それぞれの`*_KSM_SECRET`変数の値は、必要な設定値を取得するために使用するシークレットのKeeper表記となります。たとえば、`SOME_VARIABLE_KSM_SECRET`が有効なKeeper表記に設定された場合、`SOME_VARIABLE`に通常関連付けられているGuacamoleプロパティの値は、KSMのそのシークレットから取得されます。

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

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

### その他の設定オプション

dockerインストールでは、`ADDITIONAL_GUACAMOLE_PROPERTIES_KSM`パラメータを使用して、guacamole.propertiesファイルからguacamole.properties.ksmにパラメータを移動できます。


---

# 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/advanced.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.
