

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# カスタムキーストアのトラブルシューティング
<a name="fix-keystore"></a>

AWS CloudHSM キーストアは、利用可能で回復力があるように設計されています。ただし、 AWS CloudHSM キーストアを運用し続けるために修復する必要があるエラー条件がいくつかあります。

**Topics**
+ [使用できない KMS キーを修正するには](#fix-unavailable-cmks)
+ [失敗した KMS キーを修正するには](#fix-cmk-failed)
+ [接続障害の修復方法](#fix-keystore-failed)
+ [暗号化オペレーションの失敗に対応するには](#fix-keystore-communication)
+ [無効な `kmsuser` 認証情報の修正方法](#fix-keystore-password)
+ [孤立したキーマテリアルを削除する方法](#fix-keystore-orphaned-key)
+ [KMS キーの削除されたキーマテリアルを復旧するには](#fix-keystore-recover-backing-key)
+ [`kmsuser` としてログインする方法](#fix-login-as-kmsuser)

## 使用できない KMS キーを修正するには
<a name="fix-unavailable-cmks"></a>

[キーストアの のキー状態](key-state.md)は通常 です`Enabled`。 AWS KMS keys AWS CloudHSM すべての KMS キーと同様に、キーストアで KMS キーを無効にするか、削除をスケジュールすると、 AWS CloudHSM キーの状態が変更されます。ただし、他の KMS キーとは異なり、カスタムキーストアの KMS キーには、`Unavailable` の[キーステータス](key-state.md)もあります。

`Unavailable` のキーステータスには、KMS キーが、意図的に[切断](disconnect-keystore.md)されたカスタムキーストアの内部に存在し、再接続の試み (実行している場合) に失敗したことを示しています。KMS キーは使用できませんが、KMS キーを表示および管理することはできます。ただし、[暗号化オペレーション](manage-cmk-keystore.md#use-cmk-keystore)で使用することはできません。

KMS キーのキーステータスを確認するには、[**Customer managed keys**] (カスタマーマネージドキー) ページで、KMS キーの [**Status**] (ステータス) フィールドを表示します。または、 [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) オペレーションを使用して、レスポンスの `KeyState` 要素を表示します。詳細については、「[キーの特定と表示](viewing-keys.md)」を参照してください。

切断されたカスタムキーストアの KMS キーは、`Unavailable` または `PendingDeletion` のキーステータスとなります。カスタムキーストアが切断されている場合でも、カスタムキーストアからの削除がスケジュールされている KMS キーのキーステータスは `Pending Deletion` になります。これにより、カスタムキーストアに再接続することなく、スケジュールされたキーの削除をキャンセルできます。

使用できない KMS キーを修正するには、[カスタムキーストアを再接続します](disconnect-keystore.md)。カスタムキーストアを再接続すると、カスタムキーストア内の KMS キーのキーステータスは、`Enabled` や `Disabled` などの以前のステータスに自動的に復元されます。削除保留中の KMS キーは `PendingDeletion` ステータスのままです。ただし、問題が解決しない間は、[使用できない KMS キーを有効および無効にしても](enabling-keys.md)、キーステータスは変更されません。有効または無効のアクションは、キーが使用可能になったときにのみ適用されます。

接続の失敗に関するヘルプについては、「[接続障害の修復方法](#fix-keystore-failed)」を参照してください。

## 失敗した KMS キーを修正するには
<a name="fix-cmk-failed"></a>

 AWS CloudHSM キーストアでの KMS キーの作成と使用に関する問題は、 AWS CloudHSM キーストア、関連する AWS CloudHSM クラスター、KMS キー、またはそのキーマテリアルの問題が原因で発生する可能性があります。

 AWS CloudHSM キーストアが AWS CloudHSM クラスターから切断されると、カスタムキーストアの KMS キーのキー状態は になります`Unavailable`。切断されたキーストアで KMS AWS CloudHSM キーを作成するすべてのリクエストは`CustomKeyStoreInvalidStateException`例外を返します。データキーを暗号化、復号、再暗号化、または生成するすべてのリクエストは、`KMSInvalidStateException` 例外を返します。問題を解決するには、[AWS CloudHSM キーストアを再接続します](connect-keystore.md)。

ただし、[暗号化オペレーション](manage-cmk-keystore.md#use-cmk-keystore)のために AWS CloudHSM キーストアで KMS キーを使用しようとする`Enabled`と、キーの状態が で AWS CloudHSM 、キーストアの接続状態が であっても失敗する可能性があります`Connected`。これは、以下のいずれかの条件によって発生する可能性があります。
+ KMS キーのキーマテリアルが、関連付けられた AWS CloudHSM クラスターから削除された可能性があります。調査するには、KMS キーのキーマテリアルの[キー ID を探し](find-handle-for-cmk-id.md)、必要に応じて[キーマテリアルの復旧](#fix-keystore-recover-backing-key)を試みます。
+  AWS CloudHSM キーストアに関連付けられている AWS CloudHSM クラスターからすべての HSMs が削除されました。暗号化オペレーションで キーストアで KMS AWS CloudHSM キーを使用するには、その AWS CloudHSM クラスターに少なくとも 1 つのアクティブな HSM が含まれている必要があります。 AWS CloudHSM クラスター内の HSMs の数と状態を確認するには、 [AWS CloudHSM コンソールまたは DescribeClusters オペレーションを使用します](https://docs.aws.amazon.com/cloudhsm/latest/userguide/add-remove-hsm.html)。 [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html) HSM をクラスターに追加するには、 AWS CloudHSM コンソールまたは [CreateHsm](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html) オペレーションを使用します。
+  AWS CloudHSM キーストアに関連付けられた AWS CloudHSM クラスターが削除されました。この問題を解決するには、元のクラスターのバックアップ、または元のクラスターの作成に使用されたバックアップなど、元のクラスターに関連する[バックアップからクラスターを作成](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html)します。次に、カスタムキーストアの設定で、[クラスター ID を編集](update-keystore.md)します。手順については、「[KMS キーの削除されたキーマテリアルを復旧するには](#fix-keystore-recover-backing-key)」を参照してください。
+ カスタムキーストアに関連付けられた AWS CloudHSM クラスターには、使用可能な PKCS \$111 セッションがありませんでした。通常これは、トラフィックの処理に追加のセッションが必要な大規模なバーストトラフィックが起きている間に発生します。PKCS \$111 セッションに関するエラーメッセージで `KMSInternalException` に応答するときは、リクエストをいったん取り消してから、改めて試行します。

## 接続障害の修復方法
<a name="fix-keystore-failed"></a>

[AWS CloudHSM キーストアをクラスターに接続](connect-keystore.md)しようとしてもオペレーションが失敗した場合、 AWS CloudHSM キーストアの接続状態は に変わります`FAILED`。 AWS CloudHSM AWS CloudHSM キーストアの接続状態を確認するには、 AWS KMS コンソールまたは [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) オペレーションを使用します。

また、簡単に検出できるクラスター設定エラーが原因で接続の試行がすぐに失敗することがあります。この場合、接続ステータスは `DISCONNECTED` のままです。これらのエラーは、試行が失敗した理由を説明するエラーメッセージまたは [例外](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html#API_ConnectCustomKeyStore_Errors) を返します。例外の説明と[クラスターの要件](create-keystore.md#before-keystore)を確認し、問題を修正し、必要に応じて[AWS CloudHSM キーストアを更新](update-keystore.md)して、再度接続を試みます。

接続ステータスが `FAILED` の場合は、[DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) オペレーションを実行してレスポンスの `ConnectionErrorCode` 要素を確認します。

**注記**  
 AWS CloudHSM キーストアの接続状態が の場合`FAILED`、再接続を試みる前に[AWS CloudHSM キーストアを切断](disconnect-keystore.md)する必要があります。 AWS CloudHSM キーストアを`FAILED`接続状態に接続することはできません。
+ `CLUSTER_NOT_FOUND` は、指定された AWS CloudHSM クラスター ID を持つ クラスターが AWS KMS に見つからないことを示します。これは、誤ったクラスター ID が API オペレーションに提供されたか、クラスターが削除されて置き換えられなかったために発生する可能性があります。このエラーを修正するには、 AWS CloudHSM コンソールや [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html) オペレーションなどを使用して、クラスター ID を確認します。クラスタが削除された場合は、元の [バックアップからクラスタを作成します](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) 。次に、[AWS CloudHSM キーストアを切断](disconnect-keystore.md)し、[AWS CloudHSM キーストアクラスター ID 設定を編集](update-keystore.md)して、[AWS CloudHSM キーストアをクラスターに再接続](connect-keystore.md)します。
+ `INSUFFICIENT_CLOUDHSM_HSMS` は、関連付けられた AWS CloudHSM クラスターに HSMsが含まれていないことを示します。クラスターに接続するには、少なくとも 1 つの HSM を持っている必要があります。クラスター内の HSM の数を調べるには、 [DescribeClusters](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html) オペレーションを使用します。このエラーを解決するには、クラスターに [少なくとも 1 つの HSM を追加します](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-hsm.html) 。複数の HSM を追加する場合は、別のアベイラビリティーゾーンでそれらを作成することをお勧めします。
+ `INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET` は、 AWS CloudHSM クラスターに関連付けられた少なくとも 1 つのプライベートサブネットに使用可能な IP アドレスがないため、 が AWS CloudHSM キーストアをクラスターに接続 AWS KMS できなかったことを示します。 [https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-subnets.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-subnets.html) AWS CloudHSM キーストア接続には、関連付けられたプライベートサブネットごとに 1 つの空き IP アドレスが必要ですが、2 つが推奨されます。

  既存のサブネットに [IP アドレスを追加できません](https://aws.amazon.com/premiumsupport/knowledge-center/vpc-ip-address-range/) (CIDR ブロック)。可能であれば、未使用の EC2 インスタンスや Elastic Network Interface など、サブネット内の IP アドレスを使用している他のリソースを移動または削除します。それ以外の場合は、[より多くの空きアドレス空間](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-sizing)を持つ新規または既存のプライベートサブネットを使用して、クラスターの[最近のバックアップからクラスターを作成できます](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html)。 AWS CloudHSM 次に、新しいクラスターを AWS CloudHSM キーストアに関連付けるには、[カスタムキーストアを切断](disconnect-keystore.md)し、 AWS CloudHSM キーストアの[クラスター ID を新しいクラスターの ID に変更](update-keystore.md)して、再度接続を試みます。
**ヒント**  
[`kmsuser` パスワードのリセット](#fix-keystore-password)を回避するには、 AWS CloudHSM クラスターの最新のバックアップを使用します。
+ `INTERNAL_ERROR` は、内部エラーのために がリクエストを完了 AWS KMS できなかったことを示します。リクエストを再試行します。`ConnectCustomKeyStore` リクエストの場合は、再度接続を試みる前に AWS CloudHSM キーストアを切断します。
+ `INVALID_CREDENTIALS` は、正しい`kmsuser`アカウントパスワードがないため、関連付けられた AWS CloudHSM クラスターにログイン AWS KMS できないことを示します。このエラーのヘルプについては、「[無効な `kmsuser` 認証情報の修正方法](#fix-keystore-password)」を参照してください。
+ `NETWORK_ERRORS` は通常、一時的なネットワークの問題を示します。[AWS CloudHSM キーストアを切断](disconnect-keystore.md)し、数分待ってから、もう一度接続を試みます。
+ `SUBNET_NOT_FOUND` は、 AWS CloudHSM クラスター設定の少なくとも 1 つのサブネットが削除されたことを示します。がクラスター設定内のすべてのサブネットを検出 AWS KMS できない場合、 は AWS CloudHSM キーストアを AWS CloudHSM クラスターに接続しようとして失敗します。

  このエラーを修正するには、同じ[クラスターの最近のバックアップからクラスターを作成します](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html)。 AWS CloudHSM (このプロセスでは、VPC とプライベートサブネットを持つ新しいクラスター設定が作成されます)。新しいクラスターが [カスタムキーストアの要件](create-keystore.md#before-keystore)を満たしていることを確認し、新しいクラスター ID を書き留めます。次に、新しいクラスターを AWS CloudHSM キーストアに関連付けるには、[カスタムキーストアを切断](disconnect-keystore.md)し、 AWS CloudHSM キーストアの[クラスター ID を新しいクラスターの ID に変更](update-keystore.md)して、再度接続を試みます。
**ヒント**  
[`kmsuser` パスワードのリセット](#fix-keystore-password)を回避するには、 AWS CloudHSM クラスターの最新のバックアップを使用します。
+ `USER_LOCKED_OUT` は、失敗したパスワードの試行回数が多すぎるため、[`kmsuser` Crypto User (CU) アカウント](keystore-cloudhsm.md#concept-kmsuser)が関連付けられた AWS CloudHSM クラスターからロックアウトされたことを示します。このエラーのヘルプについては、「[無効な `kmsuser` 認証情報の修正方法](#fix-keystore-password)」を参照してください。

  このエラーを修正するには、[AWS CloudHSM キーストアを切断](disconnect-keystore.md)し、CloudHSM CLI の[https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) コマンドを使用して`kmsuser`アカウントのパスワードを変更します。次に、[カスタムキーストアの `kmsuser` のパスワード設定](update-keystore.md)を編集し、接続し直してみてください。ヘルプについては、「[無効な `kmsuser` 認証情報の修正方法](#fix-keystore-password) トピック」で説明されている手順を使用してください。
+ `USER_LOGGED_IN` は、CU `kmsuser` アカウントが関連付けられた AWS CloudHSM クラスターにログインしていることを示します。これにより AWS KMS 、 は`kmsuser`アカウントのパスワードをローテーションしてクラスターにログインできなくなります。このエラーを修正するには、クラスターから `kmsuser` CU をログアウトします。クラスターにログインするように`kmsuser`パスワードを変更した場合は、 キーストアのパスワード値も更新する必要があります AWS CloudHSM 。ヘルプについては、「[ログアウトして再接続する方法](#login-kmsuser-2)」を参照してください。
+ `USER_NOT_FOUND` は、 が関連付けられた AWS CloudHSM クラスターで CU `kmsuser` アカウントを見つけ AWS KMS られないことを示します。このエラーを修正するには、クラスターに [CU `kmsuser` アカウントを作成し](create-keystore.md#kmsuser-concept)、[キーストアのキーストアパスワード値を更新します](update-keystore.md)。 AWS CloudHSM ヘルプについては、「[無効な `kmsuser` 認証情報の修正方法](#fix-keystore-password)」を参照してください。

## 暗号化オペレーションの失敗に対応するには
<a name="fix-keystore-communication"></a>

カスタムキーストアで KMS キーを使用する暗号化オペレーションは、`KMSInvalidStateException` で失敗することがあります。次のエラーメッセージには `KMSInvalidStateException` が関連することがあります。


|  | 
| --- |
| KMS は CloudHSM クラスターと通信できません。これは一時的なネットワークの問題である可能性があります。このエラーが繰り返し表示される場合は、 AWS CloudHSM クラスターの VPC のネットワーク ACLs とセキュリティグループのルールが正しいことを確認します。 | 
+ これは HTTPS 400 エラーですが、一時的なネットワークの問題が原因である可能性があります。対応するには、まずリクエストを再試行します。それでも失敗する場合は、ネットワークコンポーネントの設定を調べます。このエラーはほとんどの場合、発信トラフィックをブロックしているファイアウォールルールや VPC セキュリティグループルールなど、ネットワークコンポーネントの誤った設定が原因です。例えば、KMS は IPv6 を介して AWS CloudHSM クラスターと通信できません。前提条件の詳細については、「[AWS CloudHSM キーストアを作成する](create-keystore.md)」を参照してください。


|  | 
| --- |
| kmsuser がロックアウトされているため、KMS は AWS CloudHSM クラスターと通信できません。このエラーが繰り返し表示される場合は、 AWS CloudHSM キーストアを切断し、kmsuser アカウントのパスワードをリセットします。カスタムキーストアの kmsuser のパスワードを更新して、リクエストを再試行してください。 | 
+ このエラーメッセージは、失敗したパスワードの試行回数が多すぎるため、[`kmsuser` Crypto User (CU) アカウント](keystore-cloudhsm.md#concept-kmsuser)が関連付けられた  AWS CloudHSM  クラスターからロックアウトされたことを示します。このエラーのヘルプについては、「[切断してログインする方法](#login-kmsuser-1)」を参照してください。

## 無効な `kmsuser` 認証情報の修正方法
<a name="fix-keystore-password"></a>

[AWS CloudHSM キーストアを接続すると](connect-keystore.md)、 は [`kmsuser`Crypto User](keystore-cloudhsm.md#concept-kmsuser) (CU) として関連する AWS CloudHSM クラスター AWS KMS にログインします。 AWS CloudHSM キーストアが切断されるまでログインしたままになります。[DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 応答は次の例に示すように、`FAILED` の `ConnectionState`、および `INVALID_CREDENTIALS` の `ConnectionErrorCode` 値を示しています。

 AWS CloudHSM キーストアを切断して`kmsuser`パスワードを変更すると、 AWS KMS は CU `kmsuser` アカウントの認証情報を使用して AWS CloudHSM クラスターにログインできません。その結果、 AWS CloudHSM キーストアの接続試行はすべて失敗します。`DescribeCustomKeyStores` レスポンスは、次の例に示すように、`INVALID_CREDENTIALS` の `FAILED` と `ConnectionErrorCode` の値の `ConnectionState` を示します。

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleKeyStore
{
   "CustomKeyStores": [
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "ConnectionErrorCode": "INVALID_CREDENTIALS"
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleKeyStore",
      "TrustAnchorCertificate": "<certificate string appears here>",
      "CreationDate": "1.499288695918E9",
      "ConnectionState": "FAILED"
   ],
}
```

また、誤ったパスワードでクラスターにログインしようとして 5 回失敗すると、 AWS CloudHSM はユーザーアカウントをロックします。このクラスターにログインするには、アカウントのパスワードを変更する必要があります。

が `kmsuser`CU としてクラスターにログインしようとしたときにロックアウトレスポンス AWS KMS を取得すると、 AWS CloudHSM キーストアの接続リクエストは失敗します。[DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 応答には、次の例に示すように、`FAILED` の `ConnectionState`、および `USER_LOCKED_OUT` の `ConnectionErrorCode` 値が含まれます。

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleKeyStore
{
   "CustomKeyStores": [
      "CloudHsmClusterId": "cluster-1a23b4cdefg",
      "ConnectionErrorCode": "USER_LOCKED_OUT"
      "CustomKeyStoreId": "cks-1234567890abcdef0",
      "CustomKeyStoreName": "ExampleKeyStore",
      "TrustAnchorCertificate": "<certificate string appears here>",
      "CreationDate": "1.499288695918E9",
      "ConnectionState": "FAILED"
   ],
}
```

これらの条件を修復するには、次の手順を実行します。

1. [AWS CloudHSM キーストアを切断](disconnect-keystore.md)します。

1. [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) オペレーションを実行し、レスポンスの `ConnectionErrorCode` 要素の値を表示します。
   + `ConnectionErrorCode` の値が `INVALID_CREDENTIALS` の場合は、`kmsuser` アカウントの現在のパスワードを特定します。必要に応じて、CloudHSM CLI の [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) コマンドを使用して、パスワードを既知の値に設定します。
   + `ConnectionErrorCode` 値が `USER_LOCKED_OUT` の場合、CloudHSM CLI の [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) コマンドを使用して `kmsuser` パスワードを変更する必要があります。

1. [`kmsuser` パスワード設定を編集して](update-keystore.md)、クラスター内の現在の `kmsuser` パスワードと一致させます。このアクションは、 AWS KMS にクラスターにログインするために使用するパスワードを指示します。クラスターの `kmsuser` パスワードは変更されません。

1. [カスタムキーストアを接続します](connect-keystore.md)。

## 孤立したキーマテリアルを削除する方法
<a name="fix-keystore-orphaned-key"></a>

 AWS CloudHSM キーストアから KMS キーの削除をスケジュールした後、関連する AWS CloudHSM クラスターから対応するキーマテリアルを手動で削除する必要がある場合があります。

 AWS CloudHSM キーストアで KMS キーを作成する AWS KMS と、 は で KMS キーメタデータ AWS KMS を作成し、関連付けられた AWS CloudHSM クラスターでキーマテリアルを生成します。 AWS CloudHSM キーストアで KMS キーの削除をスケジュールすると、待機期間の後、 は KMS キーメタデータ AWS KMS を削除します。次に、 AWS KMS は AWS CloudHSM クラスターから対応するキーマテリアルを削除するために最善を尽くします。 AWS CloudHSM キーストアから切断された場合や`kmsuser`パスワードが変更された場合など、 がクラスターにアクセス AWS KMS できない場合、試行は失敗する可能性があります。 AWS KMS はクラスターバックアップからキーマテリアルを削除しようとしません。

AWS KMS は、 AWS CloudTrail ログの`DeleteKey`イベントエントリでクラスターからキーマテリアルを削除しようとした結果を報告します。この結果は、次のエントリ例に示されているように、`additionalEventData` 要素の `backingKeysDeletionStatus` 要素に表示されます。エントリには、KMS キー ARN、 AWS CloudHSM クラスター ID、キーマテリアルの ID (`backing-key-id`) も含まれます。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "accountId": "111122223333",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-12-10T14:23:51Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DeleteKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": null,
    "responseElements":  {
        "keyId":"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    },
    "additionalEventData": {
        "customKeyStoreId": "cks-1234567890abcdef0",
        "clusterId": "cluster-1a23b4cdefg",
        "backingKeys": "[{\"backingKeyId\":\"backing-key-id\"}]",
        "backingKeysDeletionStatus": "[{\"backingKeyId\":\"backing-key-id\",\"deletionStatus\":\"FAILURE\"}]"
    },
    "eventID": "c21f1f47-f52b-4ffe-bff0-6d994403cf40",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ],
    "eventType": "AwsServiceEvent",
    "recipientAccountId": "111122223333",
    "managementEvent": true,
    "eventCategory": "Management"
}
```

**注意事項**  
次の手順では、 AWS CloudHSM クライアント SDK 5 コマンドラインツール [CloudHSM CLI ](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html)を使用します。CloudHSM CLI は、`key-handle` を `key-reference` に置き換えます。  
2025 年 1 月 1 日、 AWS CloudHSM はクライアント SDK 3 コマンドラインツール、CloudHSM 管理ユーティリティ (CMU)、およびキー管理ユーティリティ (KMU) のサポートを終了します。Client SDK 3 コマンドラインツールと Client SDK 5 コマンドラインツールの違いの詳細については、「*AWS CloudHSM ユーザーガイド*」の「[Client SDK 3 CMU および KMU から Client SDK 5 CloudHSM CLI への移行](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html)」を参照してください。

次の手順は、関連付けられた AWS CloudHSM クラスターから孤立したキーマテリアルを削除する方法を示しています。

1.  AWS CloudHSM キーストアがまだ切断されていない場合は、「」の説明に従って[https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-login.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-login.html)します[切断してログインする方法](#login-kmsuser-1)。
**注記**  
カスタムキーストアが切断されている間は、カスタムキーストアで KMS キーを作成したり、暗号化オペレーションで既存の KMS キーを使用したりする試みはすべて失敗します。このオペレーションにより、ユーザーが機密データを保存したりアクセスしたりすることを防ぐことができます。

1. CloudHSM CLI の [key delete](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-key-delete.html) コマンドを使用して、クラスター内の HSM から キーを削除します。

    AWS CloudHSM キーストアの KMS キーを使用した暗号化オペレーションのすべての CloudTrail ログエントリには、 `customKeyStoreId`および を含む `additionalEventData`フィールドが含まれます`backingKey`。`backingKeyId` フィールドで返される値は、CloudHSM キーの `id` 属性です。CloudTrail ログ内で特定された孤立したキーマテリアルを削除するには、**[key delete]** オペレーションを `id` でフィルタリングすることをお勧めします。

   AWS CloudHSM は`backingKeyId`、値を 16 進値として認識します。`id` でフィルタリングするには、`backingKeyId` の先頭に `Ox` を付加する必要があります。例えば、CloudTrail ログ内の `backingKeyId` が `1a2b3c45678abcdef` の場合、`0x1a2b3c45678abcdef` でフィルタリングします。

   次の例では、クラスター内の HSM から特定のキーを削除します。`backing-key-id` は CloudTrail ログエントリにリストされています。このコマンドを実行する前に、サンプル `backing-key-id` をお使いのアカウントにある有効な値に置き換えてください。

   ```
   aws-cloudhsm key delete --filter attr.id="0x<backing-key-id>"
   {
     "error_code": 0,
     "data": {
       "message": "Key deleted successfully"
     }
   }
   ```

1. 「」の説明に従って、ログアウトして AWS CloudHSM キーストアを再接続します[ログアウトして再接続する方法](#login-kmsuser-2)。

## KMS キーの削除されたキーマテリアルを復旧するには
<a name="fix-keystore-recover-backing-key"></a>

のキーマテリアルが削除され AWS KMS key た場合、KMS キーは使用できず、KMS キーで暗号化されたすべての暗号文を復号することはできません。これは、キーストア内の KMS キーの AWS CloudHSM キーマテリアルが関連付けられた AWS CloudHSM クラスターから削除された場合に発生する可能性があります。ただし、キーマテリアルを復元することは可能な場合もあります。

 AWS CloudHSM キーストアで AWS KMS key (KMS キー) を作成すると、 AWS KMS は関連付けられた AWS CloudHSM クラスターにログインし、KMS キーのキーマテリアルを作成します。また、 AWS CloudHSM キーストアが接続されている限り、パスワードのみを知っている値に変更し、ログインしたままになります。キー所有者、つまりキーを作成した CU のみがキーを削除できるため、誤って HSM からキーが削除されることはありません。

ただし、KMS キーのキーマテリアルがクラスター内の HSM から削除されると、KMS キーのキーステータスは最終的に `UNAVAILABLE` に変わります。暗号化オペレーションに KMS キーを使用しようとすると、`KMSInvalidStateException` の例外によりオペレーションは失敗します。最も重大なのは、KMS キーで暗号化されたデータが復号できないことです。

特定の状況では、キーマテリアルを含む [バックアップからクラスターを作成することで、](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html) 削除されたキーマテリアルを回復できます。この方法は、キーが存在していて削除される前に少なくとも 1 つのバックアップが作成された場合にのみ機能します。

キーマテリアルを復旧するには、次の手順を実行します。

1. キーマテリアルが格納されているクラスターバックアップを見つけます。バックアップには、クラスターとその暗号化されたデータをサポートするために必要なすべてのユーザーとキーも含まれている必要があります。

   [DescribeBackups](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeBackups.html) オペレーションを使用して、クラスタのバックアップを一覧表示します。バックアップのタイムスタンプを使用すると、バックアップの選択に役立ちます。 AWS CloudHSM キーストアに関連付けられているクラスターに出力を制限するには、次の例に示すように、 `Filters`パラメータを使用します。

   ```
   $ aws cloudhsmv2 describe-backups --filters clusterIds=<cluster ID>
   {
       "Backups": [
           {
               "ClusterId": "cluster-1a23b4cdefg",
               "BackupId": "backup-9g87f6edcba",
               "CreateTimestamp": 1536667238.328,
               "BackupState": "READY"
           },
                ...
       ]
   }
   ```

1. [選択したバックアップからクラスタを作成します](https://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster-from-backup.html)。バックアップに削除されたキーおよびクラスターに必要な他のユーザーとキーが含まれていることを確認します。

1. [AWS CloudHSM キーストアを切断](disconnect-keystore.md)して、そのプロパティを編集できるようにします。

1.  AWS CloudHSM キーストアの[クラスター ID を編集](update-keystore.md)します。バックアップから作成したクラスターのクラスター ID を入力します。クラスターは元のクラスターとバックアップ履歴を共有するため、新しいクラスター ID が有効である必要があります。

1. [AWS CloudHSM キーストアを再接続します](connect-keystore.md)。

## `kmsuser` としてログインする方法
<a name="fix-login-as-kmsuser"></a>

キーストアの AWS CloudHSM クラスターで AWS CloudHSM キーマテリアルを作成および管理するために、 AWS KMS は [`kmsuser`Crypto User (CU) アカウント](keystore-cloudhsm.md#concept-kmsuser)を使用します。クラスターに [CU `kmsuser` アカウントを作成し](create-keystore.md#before-keystore)、 AWS CloudHSM キーストアの作成 AWS KMS 時に にパスワードを指定します。

一般的に、 は`kmsuser`アカウント AWS KMS を管理します。ただし、一部のタスクでは、 AWS CloudHSM キーストアを切断し、CU としてクラスターにログインし、[CloudHSM コマンドラインインターフェイス (CLI)](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html) `kmsuser` を使用する必要があります。

**注記**  
カスタムキーストアが切断されている間は、カスタムキーストアで KMS キーを作成したり、暗号化オペレーションで既存の KMS キーを使用したりする試みはすべて失敗します。このオペレーションにより、ユーザーが機密データを保存したりアクセスしたりすることを防ぐことができます。

このトピックでは、[AWS CloudHSM キーストアを切断して としてログイン](#login-kmsuser-1)し`kmsuser`、 AWS CloudHSM コマンドラインツールを実行し、[AWS CloudHSM キーストアをログアウトして再接続する](#login-kmsuser-2)方法について説明します。

**Topics**
+ [切断してログインする方法](#login-kmsuser-1)
+ [ログアウトして再接続する方法](#login-kmsuser-2)

### 切断してログインする方法
<a name="login-kmsuser-1"></a>

関連するクラスターに `kmsuser` Crypto User (CU) としてログインする必要がある際には、次の手順を実行します。

**注意事項**  
次の手順では、 AWS CloudHSM クライアント SDK 5 コマンドラインツール [CloudHSM CLI ](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html)を使用します。CloudHSM CLI は、`key-handle` を `key-reference` に置き換えます。  
2025 年 1 月 1 日、 AWS CloudHSM はクライアント SDK 3 コマンドラインツール、CloudHSM 管理ユーティリティ (CMU)、およびキー管理ユーティリティ (KMU) のサポートを終了します。Client SDK 3 コマンドラインツールと Client SDK 5 コマンドラインツールの違いの詳細については、「*AWS CloudHSM ユーザーガイド*」の「[Client SDK 3 CMU および KMU から Client SDK 5 CloudHSM CLI への移行](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html)」を参照してください。

1. まだ切断されていない場合は、 AWS CloudHSM キーストアを切断します。 AWS KMS コンソールまたは AWS KMS API を使用できます。

    AWS CloudHSM キーが接続されている間、 AWS KMS は としてログインします`kmsuser`。これにより、`kmsuser` としてログインしたり、`kmsuser` パスワードを変更することができなくなります。

   例えば、このコマンドは、 [DisconnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisconnectCustomKeyStore.html) を使用して、サンプルキーストアを切断します。サンプル AWS CloudHSM キーストア ID を有効なキーストア ID に置き換えます。

   ```
   $ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
   ```

1. **[login]** コマンドを使用して、管理者としてログインします。「*AWS CloudHSM ユーザーガイド*」の「[CloudHSM CLI の使用](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-getting-started.html#w17aac19c11c13b7)」セクションに記載されている手順を使用します。

   ```
   aws-cloudhsm > login --username admin --role admin
             Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "admin",
       "role": "admin"
     }
   }
   ```

1. CloudHSM CLI の[https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-user-change-password.html) コマンドを使用して、`kmsuser`アカウントのパスワードを既知のパスワードに変更します ( AWS CloudHSM キーストアを接続するとパスワードがAWS KMS ローテーションされます）。パスワードは 7〜32 の英数字で構成する必要があります。大文字と小文字が区別され、特殊文字を含めることはできません。

1. 設定したパスワードを使用して `kmsuser` としてログインします。詳細な手順については、「*AWS CloudHSM ユーザーガイド*」の「[CloudHSM CLI の使用](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-getting-started.html#w17aac19c11c13b7)」のセクションを参照してください。

   ```
   aws-cloudhsm > login --username kmsuser --role crypto-user
             Enter password:
   {
     "error_code": 0,
     "data": {
       "username": "kmsuser",
       "role": "crypto-user"
     }
   }
   ```

### ログアウトして再接続する方法
<a name="login-kmsuser-2"></a>

`kmsuser` Crypto User (CU) ユーザーとしてログアウトしてキーストアを再接続する際には、次の手順を使用します。

**注意事項**  
次の手順では、 AWS CloudHSM クライアント SDK 5 コマンドラインツール [CloudHSM CLI ](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli.html)を使用します。CloudHSM CLI は、`key-handle` を `key-reference` に置き換えます。  
2025 年 1 月 1 日、 AWS CloudHSM はクライアント SDK 3 コマンドラインツール、CloudHSM 管理ユーティリティ (CMU)、およびキー管理ユーティリティ (KMU) のサポートを終了します。Client SDK 3 コマンドラインツールと Client SDK 5 コマンドラインツールの違いの詳細については、「*AWS CloudHSM ユーザーガイド*」の「[Client SDK 3 CMU および KMU から Client SDK 5 CloudHSM CLI への移行](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-migrate-from-kmu-cmu.html)」を参照してください。

1. タスクを実行後、CloudHSM CLI の [https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-logout.html](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_cli-logout.html) コマンドを使用してログアウトします。ログアウトしないと、 AWS CloudHSM キーストアの再接続は失敗します。

   ```
   aws-cloudhsm  logout
   {
     "error_code": 0,
     "data": "Logout successful"
   }
   ```

1. カスタムキーストアの [`kmsuser` パスワード設定を編集します](update-keystore.md)。

   これにより AWS KMS 、クラスター`kmsuser`内の の現在のパスワードが通知されます。このステップを省略すると、 は としてクラスターにログイン AWS KMS できず`kmsuser`、カスタムキーストアの再接続の試行はすべて失敗します。 AWS KMS コンソールまたは [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html) オペレーションの `KeyStorePassword`パラメータを使用できます。

   たとえば、このコマンドは現在のパスワードが AWS KMS であることを に指示します`tempPassword`。例のパスワードを実際のパスワードに置き換えます。

   ```
   $ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --key-store-password tempPassword
   ```

1.  AWS KMS キーストアを AWS CloudHSM クラスターに再接続します。サンプル AWS CloudHSM キーストア ID を有効なキーストア ID に置き換えます。接続プロセス中に、 は`kmsuser`パスワードを自分だけが知っている値 AWS KMS に変更します。

   [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html) オペレーションはすばやく返されますが、接続プロセスに長時間かかる場合があります。最初のレスポンスは、接続プロセスの成功を示していません。

   ```
   $ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
   ```

1. [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) オペレーションを使用して、 AWS CloudHSM キーストアが接続されていることを確認します。サンプル AWS CloudHSM キーストア ID を有効なキーストア ID に置き換えます。

   この例では、接続状態フィールドは、 AWS CloudHSM キーストアが接続されたことを示しています。

   ```
   $ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0
   {
      "CustomKeyStores": [
         "CustomKeyStoreId": "cks-1234567890abcdef0",
         "CustomKeyStoreName": "ExampleKeyStore",
         "CloudHsmClusterId": "cluster-1a23b4cdefg",
         "TrustAnchorCertificate": "<certificate string appears here>",
         "CreationDate": "1.499288695918E9",
         "ConnectionState": "CONNECTED"
      ],
   }
   ```