# KSM開発者用SDK

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FXeHLeUGUUetx8z9w9dee%2Fimage.png?alt=media&#x26;token=a8615093-4e60-41b7-87a3-1664c1edfdc7" alt=""><figcaption></figcaption></figure>

## 概要

KeeperシークレットマネージャーSDKは、すべての主要なプログラミング言語からシークレット管理機能にシンプル・高速・効率的にアクセスできるよう特別に設計されています。

## シークレットマネージャーSDK

* [Python](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/python-sdk)
* [Java / Kotlin](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/java-sdk)
* [JavaScript](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/javascript-sdk)
* [.Net](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/.net-sdk)
* [Go](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/golang-sdk)
* [Ruby](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/ruby-sdk)
* [Rust](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/rust-sdk)
* [PowerShell](https://docs.keeper.io/jp/keeperpam/secrets-manager/integrations/powershell-plugin)

## 認証

シークレットマネージャーSDKは、ボルトへの認証に**ワンタイムアクセストークン**または**ローカル構成ファイル内の生成済みキー**のいずれかを使用します。 [コマンダーCLI](https://github.com/Keeper-Security/Commander)でワンタイムアクセストークンを生成するには、`secrets-manager client add` コマンドを使用します。

```bash
My Vault> secrets-manager client add --app MyApplication --unlock-ip
```

{% hint style="warning" %}
構成ファイルを初期化した後は、ワンタイムアクセストークンをコードから削除してください。
{% endhint %}

この初期化コードでは、以下のキーを含むJSON構成ファイルがデバイスのローカルストレージに作成されます。

| **キー**              | **説明**                                                                                                                                                                                                            |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `hostname`          | <p>自社テナントが配置されている宛先ホスト<br></p><ul><li>keepersecurity.com</li><li>keepersecurity.eu</li><li>keepersecurity.com.au</li><li>keepersecurity.jp</li><li>keepersecurity.ca</li><li>govcloud.keepersecurity.us</li></ul> |
| `clientID`          | ハッシュ化された `clientKey` (`clientKey` はクライアントデバイスの一意の識別子)                                                                                                                                                             |
| `privateKey`        | クライアントデバイスの秘密鍵                                                                                                                                                                                                    |
| `serverPublicKeyId` | Keeperインフラストラクチャの公開鍵のID                                                                                                                                                                                           |
| `appKey`            | アプリケーションの秘密鍵                                                                                                                                                                                                      |
| `appOwnerPublicKey` | アプリケーション所有者の公開鍵                                                                                                                                                                                                   |

以下は生成された構成ファイルの例です。

{% code title="ksm-config.json" %}

```json
{
  "hostname": "keepersecurity.com",
  "clientId": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "privateKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "serverPublicKeyId": "10",
  "appKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "appOwnerPublicKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
```

{% endcode %}

構成ファイル作成のその他の方法については、[構成ファイルのページ](https://docs.keeper.io/jp/keeperpam/secrets-manager/about/secrets-manager-configuration)をご参照ください。

### 構成ファイルの保護

Keeperでは、一般的なクラウドサービスを使用して、KSM構成ファイルを安全に暗号化・保存するための複数の方法を用意しています。

* [AWS KMS](https://docs.keeper.io/jp/keeperpam/secrets-manager/integrations/aws-kms)
* [Azure Key Vault](https://docs.keeper.io/jp/keeperpam/secrets-manager/integrations/azure-key-vaultdeno)
* [Entrust HSM](https://docs.keeper.io/jp/keeperpam/secrets-manager/integrations/entrust-hsm)
* [Google Cloud Key Management](https://docs.keeper.io/jp/keeperpam/secrets-manager/integrations/google-cloud-key-management-encryption)
* [Oracle Key Vault](https://docs.keeper.io/jp/keeperpam/secrets-manager/integrations/oracle-key-vault-encryption)

***

## スクリプトの実装

KeeperシークレットマネージャーCLIは、任意のシステムコマンドを実行するラッパー関数を提供しており、その中で使用される環境変数をKeeperのボルトから取得した値に置き換えることができます。

[Secrets Manager CLI Execコマンド](https://docs.keeper.io/jp/keeperpam/secrets-manager/secrets-manager-command-line-interface/exec-command)

## ボルトおよび管理者用SDK

ボルトおよび管理レベルでの高度な機能については、各種開発ツールへのリンクを含むボルトSDKのページをご覧ください。

[ボルトのSDK](https://docs.keeper.io/jp/keeperpam/secrets-manager/developer-sdk-library/vault-sdks)
