# シークレットマネージャーの構成

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

KeeperシークレットマネージャーSDKおよび各種インテグレーションでは、「構成」を使用して、接続トークン、暗号化キー、識別子、ドメイン情報などを保持します。これらの情報は、KeeperシークレットマネージャーAPIとの認証およびデータ復号に使用されます。

シークレットマネージャーの構成は[ワンタイムアクセストークン](/keeperpam/jp/secrets-manager/about/one-time-token.md)から作成され、[各クライアントデバイス](/keeperpam/jp/secrets-manager/about/terminology.md#client-device)と1対1の関係にあります。

#### 構成フォーマットの統一性 <a href="#configuration-uniformity" id="configuration-uniformity"></a>

すべてのKeeperシークレットマネージャーSDKおよびインテグレーションは、共通の構成フォーマットを使用します。構成の実体はJSON形式ですが、一部のインテグレーションではbase64形式でも受け付けられます。

## シークレットマネージャー構成の作成 <a href="#creating-a-secrets-manager-configuration" id="creating-a-secrets-manager-configuration"></a>

### Keeperボルトで作成する場合 <a href="#in-the-keeper-vault" id="in-the-keeper-vault"></a>

Keeperボルトで新しいシークレットマネージャーデバイスを作成する際に、シークレットマネージャー構成を作成できます。

まず、シークレットマネージャータブに移動し、一覧からアプリケーションを選択します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FDWFxRTEBhF1nxfQvZvtg%2Fimage.png?alt=media&#x26;token=ddbef2bd-377b-4351-8472-ee1055d9e992" alt=""><figcaption></figcaption></figure>

次に、右側のアプリケーションペインにある **\[デバイス]** タブを選択し、**\[編集]** をクリックして編集モードに入ります。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FTjhSMyFOK8KmVh3ahVZT%2Fimage.png?alt=media&#x26;token=0c44990a-38c1-47ac-a7de-798c081ef049" alt=""><figcaption></figcaption></figure>

編集ビューから **\[デバイスの追加]** をクリックすると、そのアプリケーションに新しいシークレットマネージャーデバイスを作成できます。

**\[デバイスの追加]** メニューが表示されるので、このデバイスの名前を入力し、方法のドロップダウンから **\[構成ファイル]** を選択します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FXWsXBk9TuP6m7eLdKYMX%2Fimage.png?alt=media&#x26;token=84e0f3a1-aa3d-4939-95d2-c7f24fae88af" alt=""><figcaption></figcaption></figure>

「構成ファイル」を選択すると、構成の受け取り方法を選択できます。Base64形式またはJSON形式で構成を生成し、ファイルとしてダウンロードするか、クリップボードにコピーするかを選択できます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FR9gK9Wo6jUa6AZhrudfK%2Fimage.png?alt=media&#x26;token=8aedfb9e-43ce-4a07-8745-991d8780eb4e" alt=""><figcaption></figcaption></figure>

ほとんどのシークレットマネージャー統合機能ではBase64文字列が使用されますが、状況によってはJSONファイルが必要になる場合もあります。

準備ができたら、**\[ダウンロード]** または **\[コピー]** ボタンをクリックして構成を取得します。なお、初回にこの操作を行った時点でデバイスが作成されます。構成は複数回ダウンロードまたはコピーすることができます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FQoWL74Hx90Kenl9Wciax%2Fimage.png?alt=media&#x26;token=25f066a6-df7e-496b-85c0-6ed3166211bb" alt=""><figcaption></figcaption></figure>

### SDK・インテグレーションの使用 <a href="#using-a-sdk-integration" id="using-a-sdk-integration"></a>

多くのKeeperシークレットマネージャーSDKおよびインテグレーションでは、独自の構成ファイルを作成できます。ワンタイムアクセストークンを渡すと、構成が自動的に生成されます。

#### SDKの例 <a href="#sdk-example" id="sdk-example"></a>

以下は、[Python SDK](/keeperpam/jp/secrets-manager/developer-sdk-library/python-sdk.md)を使用して構成ファイルを作成する例です。シークレットマネージャーは、ワンタイムアクセストークンを使用して初期化されると、そのタイミングで構成が作成されます。

```python
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage

secrets_manager = SecretsManager(
    token='<One Time Access Token>',
    config=FileKeyValueStorage('config.json')
)
```

この例では、構成は「config.json」という名前のファイルに保存されています。

{% hint style="info" %}
SDKを使用して構成ファイルを作成する場合、初期化と構成ファイルの作成は一度だけで構いません。構成ファイルが作成された後は、そのファイルを使用してSDKを初期化できるようになり、ワンタイムアクセストークンは削除しても問題ありません。
{% endhint %}

#### 統合の例 <a href="#integration-example" id="integration-example"></a>

以下は、Keeperシークレットマネージャーの[Jenkinsプラグイン](/keeperpam/jp/secrets-manager/integrations/jenkins-plugin.md)を使用する例です。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FCHx8jgbGsaOg7cy8J1a5%2Fimage.png?alt=media&#x26;token=76a47012-3cdc-446d-bf0b-e9f5bdefd934" alt=""><figcaption></figcaption></figure>

Jenkinsプラグインは、ワンタイムアクセストークンを使用して初期化され、構成ファイルが自動的にバックグラウンドで作成されます。この例では、フォームにワンタイムアクセストークンを入力し、**\[OK]** をクリックするだけで完了します。

### CLIツールを使用 <a href="#using-a-cli-tool" id="using-a-cli-tool"></a>

シークレットマネージャーの構成は、シークレットマネージャーCLIやコマンダーCLIツールを使用して、ワンタイムアクセストークンから初期化することも可能です。一部のKeeperシークレットマネージャー統合機能では、事前に初期化された構成が必要となるため、そのような場合にはCLIツールを使用して構成を作成する必要があります。

#### シークレットマネージャーCLI <a href="#secrets-manager-cli" id="secrets-manager-cli"></a>

[シークレットマネージャーCLI (KSM)](/keeperpam/jp/secrets-manager/secrets-manager-command-line-interface.md) は、ワンタイムアクセストークンから構成を初期化し、構成を作成できます。

そのためには `init` コマンドを実行します。

{% tabs %}
{% tab title="形式" %}

```bash
# 構成をJSON形式で初期化して表示
$ ksm init default <One Time Access Token>

# 構成をk8s形式で初期化して表示
$ ksm init k8s <One Time Access Token>

# JSON構成を初期化してファイルに保存
$ ksm init default --plain <One Time Access Token> > <FILENAME>
```

{% endtab %}

{% tab title="例" %}

```bash
# 構成をJSONで初期化して表示
$ ksm init default US:KBChlYeZ15wLzvhLVXmT61euw0DJO0cTVfkD-b-qesw

# 構成をk8s形式で初期化して表示
$ ksm init k8s US:KBChlYeZ15wLzvhLVXmT61euw0DJO0cTVfkD-b-qesw

# 構成を初期化してファイルに保存
$ ksm init default --plain US:KBChlYeZ15wLzvhLVXmT61euw0DJO0cTVfkD-b-qesw > "ksm-config.json"
```

{% endtab %}
{% endtabs %}

#### コマンダーCLI <a href="#commander-cli" id="commander-cli"></a>

[コマンダーCLI](/keeperpam/jp/commander-cli/overview.md)を使用すると、ワンタイムアクセストークンから構成を初期化し、シークレットマネージャーの構成を作成できます。

構成を作成するには、`secrets-manager client add` コマンドに `--config-init` オプションを付けて実行します。構成はJSON形式またはBase64形式で作成できるほか、一部の統合機能では専用形式にも対応しています (各統合機能で使用できる形式については、[統合機能のページ](/keeperpam/jp/secrets-manager/integrations.md)をご参照ください)。

{% tabs %}
{% tab title="形式" %}

```bash
my vault> secrets-manager client add --app <APP NAME> --config-init <FORMAT>
```

{% endtab %}

{% tab title="例" %}

```bash
# json構成を作成
secrets-manager client add --app MyApp --config-init json --unlock-ip

# base64構成を作成
secrets-manager client add --app MyApp --config-init b64 --unlock-ip

# Kubernetes構成を作成
secrets-manager client add --app MyApp --config-init k8s --unlock-ip
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
コマンダーで構成を初期化する際は、通常 `--unlock-ip` オプションをコマンドに含める必要があります。このオプションを指定しない場合、クライアントデバイスはコマンダー実行時のIPアドレスに固定されてしまいます。
{% 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/keeperpam/jp/secrets-manager/about/secrets-manager-configuration.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.
