> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/sso-connect-on-prem/jp/integration-with-amazon-cloudhsmv2.md).

# AWS CloudHSMとの統合

クラウドベースのAmazon HSM (CloudHsmV2) によるKeeperオンプレミスSSOコネクトの鍵の保護と保管

## AWS Cavium CloudHsmV2との統合

<figure><img src="https://2257682436-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpnnyqlSSLL0TJdycg6le%2Fuploads%2Fgit-blob-1e490269c6ad6419e824db7683c9e0395cb1ea3f%2Flayout.jpg?alt=media" alt=""><figcaption></figcaption></figure>

## Keeper SSOコネクトHSMの概要

SSOコネクトの `data` フォルダ内には、いくつかのファイルがあります。このうち2つのファイルには、サーバーで生成された秘密鍵が含まれています。これらの鍵は保護が必要で、エンドユーザーの自動生成マスターパスワードの暗号化と復号に使用します。また、暗号化データのローカルキャッシュを含む `.sql` ファイルもあります。この `data` フォルダへのアクセス制限が重要です。

Windows以外のマシンでは、 `data` フォルダはSSOコネクトのインストールフォルダ (通常は `$HOME/sso_connect/data`) の下にあります。

Windowsマシンでは、バージョン14.1以降、 `data` フォルダは `C:\ProgramData\Keeper SSO Connect\data\` にあります。バージョン14.1より前は、 `C:\Program Files\Keeper Security\SSO Connect\data\` にありました。

以下のとおり、HSM (ハードウェアセキュリティモジュール) を利用すると、セキュリティをさらに強化できます。HSMを利用できる場合、SSOコネクトのインスタンスごとに暗号鍵が生成され、HSMに安全に保存されます。この暗号鍵は、 `data/` フォルダ内の重要なプロパティファイルの暗号化に使用します。

## AWS Cavium CloudHsmV2の手順

### HSMの要件

1. Amazonは現在、HSMの新規導入にはCloudHsmV2のみを許可しており、Keeperはこのバージョンに対応しています。従来のCloud HSM v1ハードウェアは対象外です。
2. Amazon HSMソフトウェアは、LinuxまたはWindowsにインストールできます。

### ネットワーク要件

* TCP/443ポートの開放、Keeper SSOコネクトからwww\.keepersecurity.comへのステートフルな発信
* TCP/2223ポートの開放、SSOコネクトマシンからHSMハードウェアへの双方向通信
* TCP/2225ポートの開放、SSOコネクトマシンからHSMハードウェアへの双方向通信
* TCP/8080ポートの開放、管理者GUIにアクセスするためのKeeper管理者ワークステーションからKeeper SSOコネクトへの着信 (オプション)

### ネットワークアクセスのテスト

```
$ telnet www.keepersecurity.com 443
Trying 52.204.60.27
Connected to www.keepersecurity.com.
Escape character is '^]'.
```

### CloudHsmV2ソフトウェアのインストール

以下のAWSドキュメントに従って、Amazon HSMクラスターをプロビジョニングし、SSOコネクトマシンにHSMソフトウェアをインストールします。

<https://docs.aws.amazon.com/cloudhsm/latest/userguide/install-and-configure-client-linux.html>

または

<https://docs.aws.amazon.com/cloudhsm/latest/userguide/install-and-configure-client-win.html>

`Java` ライブラリが必要です。Linuxでは `/opt/cloudhsm` にインストールします。

`cloudhsm_client` サービスがバックグラウンドで動作していることを確認します。

```
$ ps aux | grep cloud
 If cloudhsm_client is not running:
 $ sudo service cloudhsm-client start
 $ ps aux | grep cloud
 ... /opt/cloudhsm/bin/cloudhsm_client ...
```

### ソフトウェアインストールのテスト

```
$ sudo /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
aws-cloudhsm>listUsers
aws-cloudhsm>loginHSM CU <hsm_user> <hsm_password>
aws-cloudhsm>listUsers
aws-cloudhsm>getHSMInfo
aws-cloudhsm>quit
```

通常どおりSSOコネクトをインストールします。

{% hint style="info" icon="pencil-line" %}
Amazon HSMのJavaソフトウェアは、Javaクラスパス上の `HsmCredentials.properties` というファイルを認識する想定です。ただし、認識されない場合があります。その場合は、 `HSM_USER` 、 `HSM_PASSWORD` 、 `HSM_PARTITION` 環境変数を設定してください。テスト時は、シェル変数の設定も必要になることがあります。
{% endhint %}

HSM接続をテストします。

```
$ java -Djava.library.path=/opt/cloudhsm/lib/ -classpath ~/sso_connect/SSOConnect.jar com.keepersecurity.util.AmazonKeyStoreExampleRunner
```

HSMの鍵が出力されるはずです。

SSOコネクトの設定は、通常どおり、コマンドラインまたは `http://localhost:8080/config` の管理者インターフェースで行います。

1. **アドバタイズされたホスト名**を設定します。
2. SSL証明書を追加します。
3. SAML XMLメタデータファイルを追加します。

管理者インターフェースでは、HSM設定セクションは **\[Configuration]** ページの下部にあります。

<figure><img src="https://2257682436-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpnnyqlSSLL0TJdycg6le%2Fuploads%2Fgit-blob-95e764c5e294b84531bae3f201e7794ddef391a2%2Fsso-connect-hsm-config.png?alt=media" alt=""><figcaption></figcaption></figure>

1. タイプとして **\[Amazon CloudHsmV2]** を選択します。
2. 下のボックスにプロパティがいくつか表示されます。通常は変更不要です。HSMとの通信に使用する証明書が、SSOコネクトのSSLに使用する証明書と異なる場合のみ変更してください。証明書ファイルのパスワード (通常、SSL証明書ファイルと同じ) の入力が必要になる場合があります。
3. 有効/無効のボックスをクリックします。
4. **\[保存]** をクリックします。

SSOコネクトが再起動し、HSMに接続するはずです。ステータスページにHSMが有効と表示されれば成功です。起動が極端に遅い場合は、 **\[Status]** を再度クリックしてステータスを更新してください。

うまくいかない場合は、SSOコネクトのエラーログをご確認ください。最も一般的なエラーは、HSMの認証情報が見つからないことです。認証情報を環境変数として設定し、アクセスできるようにしてください。

### トラブルシューティング

#### 設定のトラブルシューティング

1. SSOコネクトがマシンにインストールされていることを確認します。
   * 通常、 `sso_connect` 、 `KeeperSSO` など、多数のjarファイルを含むフォルダ
2. HSMデバイスにアクセスできることを確認します。
   * SSOコネクトには、Amazonのテストライブラリからコピーされたテストプログラムが組み込まれています。

```
$ java -Djava.library.path=/opt/cloudhsm/lib/ -classpath ~/sso_connect/SSOConnect.jar com.keepersecurity.util.AmazonKeyStoreExampleRunner
```

HSMに保存されている鍵が出力されるはずです。

#### 動作のトラブルシューティング

1. ログファイルにエラーがないか確認します。SSOコネクトのセキュアキーストレージサブシステムは、問題が発生すると、ログにERROR行を出力します。

```
$ more logs/ssoconnect.log
```

2. エラーは `Unable to use Secure Key Storage` のバリエーションになります。これは、以下のいずれかの問題を示しています。

```
a. Network problem accessing the HSM
- Ensure that ports 2223 and 2225 are open.

b. data/sks.properties is missing
- if data/sks.properties is missing you will need to re-configure SSOConnect.

c. The encrypted property files are missing
- Check for data/instance.encp and data/shared.encp.

d. The encryption key is missing from the HSM
- Did somebody clear the HSM partition? You will need to re-configure SSOConnect.

e. The server may be out of disk space
- clear some disk space.

f. The encryption algorithm used is not supported on the HSM
- The algorithm is AES/GCM/NoPadding. Check with the device provider.

g. The file data/sso-keystore.jks is missing
- The program cannot store a key in the HSM without the certificate chain from the sso_keystore.jks file.
Find the file and ensure that it is in the data folder.
```

## バックアップ

`data` フォルダにはSSOコネクトの設定ファイルが含まれています。少なくとも、初回設定の直後と、設定を変更するたびにバックアップしてください。設定ファイル以外にも、 `data` にはデータファイルがありますが、Keeperサーバーと同期が取れなくなった場合は自動的に更新されます。そのため、定期バックアップを利用しても構いませんが、必須ではありません。設定のすべてがインスタンス間で共有されるわけではないため、SSOコネクトの各インスタンスで `data` フォルダを個別にバックアップする必要があります。

Windows以外のマシンでは、 `data` フォルダはSSOコネクトのインストールフォルダ (通常は `$HOME/sso_connect/data`) の下にあります。

Windowsマシンでは、バージョン14.1以降、 `data` フォルダは `C:\ProgramData\Keeper SSO Connect\data\` にあります。バージョン14.1より前は、 `C:\Program Files\Keeper Security\SSO Connect\data\` にありました。

## 回復

### サーバーの障害

SSOコネクトサーバーで障害が発生した場合は、上記の標準的なインストール手順に従って、代替マシンにAmazon HSMとSSOコネクトを再インストールする必要があります。

上記のとおり `data` フォルダをバックアップしている場合は、SSOコネクトを起動する前に復元してください。 (SSOコネクトを起動したため) `data` フォルダがすでに存在する場合は、SSOコネクトを停止し、データフォルダ内のファイルをすべて削除し、バックアップしたデータフォルダからファイルをコピーして、SSOコネクトを再起動します。SSOコネクトが正常に起動するはずです。

`data` フォルダをバックアップしていなかった場合、またはバックアップが古い場合は、新規インストールと同様に代替インスタンスを設定する必要があります。SSOコネクトのインストールガイドに従ってください。

### HSMの障害

HSMを使用する場合、HSMには `data` フォルダ内の設定ファイルの復号に使用する暗号鍵が保存されます。HSMへのアクセスは、SSOコネクトの起動時に1回と、設定変更時に行われます。設定ファイルが暗号化されており、HSMに保存した暗号鍵が失われたか、アクセスできない場合は、暗号化されていない設定ファイルを新規作成するために、SSOコネクトインスタンスを再度設定する必要があります。 `data` フォルダの内容を削除し、SSOコネクトをもう一度最初から設定します。

HSM/SKSの使用を無効にするには、「Enable SKS?」という設定の質問に `no` と入力するか、 `-disableSKS` コマンドラインオプションを使用します。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/sso-connect-on-prem/jp/integration-with-amazon-cloudhsmv2.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
