翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタムキーストアのトラブルシューティング
AWS CloudHSM キーストアは、常に使用可能で、回復力を持つように設計されています。ただし、AWS CloudHSM キーストアをオペレーション可能な状態に保つために、いくつかのエラー条件を修正しなければならない場合があります。
トピック
使用できない KMS キーを修正するには
AWS CloudHSM キーストアの AWS KMS keys のキーステータスは、通常 Enabled
です。すべての KMS キーと同様、AWS CloudHSM キーストアで KMS キーを無効にするか、削除するようにスケジュールすると、キーステータスが変更されます。ただし、他の KMS キーとは異なり、カスタムキーストアの KMS キーには、Unavailable
のキーステータスもあります。
Unavailable
のキーステータスには、KMS キーが、意図的に切断されたカスタムキーストアの内部に存在し、再接続の試み (実行している場合) に失敗したことを示しています。KMS キーは使用できませんが、KMS キーを表示および管理することはできます。ただし、暗号化オペレーションで使用することはできません。
KMS キーのキーステータスを確認するには、[Customer managed keys] (カスタマーマネージドキー) ページで、KMS キーの [Status] (ステータス) フィールドを表示します。または、 DescribeKey オペレーションを使用して、レスポンスの KeyState
要素を表示します。詳細については、「キーの特定と表示」を参照してください。
切断されたカスタムキーストアの KMS キーは、Unavailable
または PendingDeletion
のキーステータスとなります。カスタムキーストアが切断されている場合でも、カスタムキーストアからの削除がスケジュールされている KMS キーのキーステータスは Pending Deletion
になります。これにより、カスタムキーストアに再接続することなく、スケジュールされたキーの削除をキャンセルできます。
使用できない KMS キーを修正するには、カスタムキーストアを再接続します。カスタムキーストアを再接続すると、カスタムキーストア内の KMS キーのキーステータスは、Enabled
や Disabled
などの以前のステータスに自動的に復元されます。削除保留中の KMS キーは PendingDeletion
ステータスのままです。ただし、問題が解決しない間は、使用できない KMS キーを有効および無効にしても、キーステータスは変更されません。有効または無効のアクションは、キーが使用可能になったときにのみ適用されます。
接続の失敗に関するヘルプについては、「接続障害の修復方法」を参照してください。
失敗した KMS キーを修正するには
AWS CloudHSM キーストアで KMS キーを作成し使用する際の問題は、AWS CloudHSM カスタムキーストア、それに関連付けられた AWS CloudHSM クラスター、KMS キー、そのキーマテリアルのいずれかに起因します。
AWS CloudHSM キーストアが AWS CloudHSM クラスターから切断されると、カスタムキーストア内の KMS キーのキーステータスは Unavailable
になります。切断された AWS CloudHSM キーストアに KMS キーを作成するリクエストは、すべて CustomKeyStoreInvalidStateException
の例外を返します。データキーを暗号化、復号、再暗号化、または生成するすべてのリクエストは、KMSInvalidStateException
例外を返します。この問題を修正するには、AWS CloudHSM キーストアを再接続します。
ただし、暗号化オペレーションのために AWS CloudHSM キーストアで KMS キーを使用する試みは、たとえキーステータスが Enabled
で、AWS CloudHSM キーストアの接続ステータスが Connected
であっても、失敗する場合があります。これは、以下のいずれかの条件によって発生する可能性があります。
-
KMS キーのキーマテリアルが、関連付けられた AWS CloudHSM クラスターから削除された可能性があります。調査するには、KMS キーのキーマテリアルのキー ID を探し、必要に応じてキーマテリアルの復旧を試みます。
-
すべての HSM は、AWS CloudHSM キーストアに関連付けられた AWS CloudHSM クラスターから削除されました。暗号化オペレーションで AWS CloudHSM キーストアの KMS キーを使用するときは、その AWS CloudHSM クラスターにアクティブな HSM が 1 つ以上含まれている必要があります。AWS CloudHSM クラスター内の HSM の数と状態を確認するには、AWS CloudHSM コンソールか DescribeClusters オペレーションを使用します。HSM をクラスターに追加するには、AWS CloudHSM コンソールまたは CreateHsm オペレーションを使用します。
-
AWS CloudHSM キーストアに関連付けられた AWS CloudHSM クラスターが削除されました。この問題を解決するには、元のクラスターのバックアップ、または元のクラスターの作成に使用されたバックアップなど、元のクラスターに関連するバックアップからクラスターを作成します。次に、カスタムキーストアの設定で、クラスター ID を編集します。手順については、KMS キーの削除されたキーマテリアルを復旧するには を参照してください。
-
このカスタムキーストアに関連付けられた AWS CloudHSM クラスターには、使用可能な PKCS #11 セッションがありません。通常これは、トラフィックの処理に追加のセッションが必要な大規模なバーストトラフィックが起きている間に発生します。PKCS #11 セッションに関するエラーメッセージで
KMSInternalException
に応答するときは、リクエストをいったん取り消してから、改めて試行します。
接続障害の修復方法
AWS CloudHSM クラスターに AWS CloudHSM キーストアを接続しようとしてオペレーションに失敗すると、AWS CloudHSM キーストアの接続ステータスは FAILED
に変わります。AWS CloudHSM キーストアの接続ステータスを確認するときは、AWS KMS コンソールか DescribeCustomKeyStores オペレーションを使用します。
また、簡単に検出できるクラスター設定エラーが原因で接続の試行がすぐに失敗することがあります。この場合、接続ステータスは DISCONNECTED
のままです。これらのエラーは、試行が失敗した理由を説明するエラーメッセージまたは 例外 を返します。例外の内容とクラスターの要件を確認し、問題を修正し、必要に応じてAWS CloudHSM キーストアを更新したら、再度接続を実行します。
接続ステータスが FAILED
の場合は、DescribeCustomKeyStores オペレーションを実行してレスポンスの ConnectionErrorCode
要素を確認します。
注記
AWS CloudHSM キーストアの接続ステータスが FAILED
の場合は、再度接続を試みる前に AWS CloudHSM カスタムキーストアを切断します。接続ステータスが FAILED
の AWS CloudHSM キーストアは、接続できません。
-
CLUSTER_NOT_FOUND
は、AWS KMS が指定のクラスター ID を持つ AWS CloudHSM クラスターを見つけられないことを示します。これは、誤ったクラスター ID が API オペレーションに提供されたか、クラスターが削除されて置き換えられなかったために発生する可能性があります。このエラーを解決するには、AWS CloudHSM コンソールまたは DescribeClusters オペレーションを使用するなどして、クラスター ID を確認してください。クラスタが削除された場合は、元の バックアップからクラスタを作成します 。次に、AWS CloudHSM キーストアを切断し、AWS CloudHSM キーストアのクラスター ID の 設定を編集して、AWS CloudHSM キーストアをこのクラスターに再接続します。 -
INSUFFICIENT_CLOUDHSM_HSMS
は、関連付けられた AWS CloudHSM クラスターに HSM が含まれていないことを示します。クラスターに接続するには、少なくとも 1 つの HSM を持っている必要があります。クラスター内の HSM の数を調べるには、 DescribeClusters オペレーションを使用します。このエラーを解決するには、クラスターに 少なくとも 1 つの HSM を追加します 。複数の HSM を追加する場合は、別のアベイラビリティーゾーンでそれらを作成することをお勧めします。 -
INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET
は、クラスターに関連付けられている少なくとも 1 つのプライベートサブネットに、利用可能な IP アドレスがなかったため、AWS KMS が AWS CloudHSM キーストアをその AWS CloudHSM クラスターに接続できなかったことを示しています。AWS CloudHSM キーストアの接続には、関連付けられた各プライベートサブネットに空き IP アドレスが 1 つ (できれば 2 つ) 必要です。既存のサブネットに IP アドレスを追加できません
(CIDR ブロック)。可能であれば、未使用の EC2 インスタンスや Elastic Network Interface など、サブネット内の IP アドレスを使用している他のリソースを移動または削除します。または、より多くの空きアドレス空間のある新しいまたは既存のプライベートサブネットを持つ AWS CloudHSM クラスターの最近のバックアップからクラスターを作成することができます。次に、新しいクラスターを AWS CloudHSM キーストアに関連付けるため、カスタムキーストアを切断し、AWS CloudHSM キーストアのクラスター ID を新しいクラスターの ID に変更して、もう一度接続を試みます。 ヒント
kmsuser パスワードをリセットしないようにするには、AWS CloudHSM クラスターの最新のバックアップを使用します。
-
INTERNAL_ERROR
は、内部エラーのために AWS KMS がリクエストを完了できなかったことを示します。リクエストを再試行します。ConnectCustomKeyStore
リクエストの場合、AWS CloudHSM キーストアの接続を切断してから、再度接続を実行します。 -
INVALID_CREDENTIALS
は、適切なkmsuser
アカウントのパスワードがないため、AWS KMS が関連付けられた AWS CloudHSM クラスターにログインできないことを示します。このエラーのヘルプについては、「無効な kmsuser 認証情報の修正方法」を参照してください。 -
NETWORK_ERRORS
は通常、一時的なネットワークの問題を示します。AWS CloudHSMキーストアを切断し、数分待ってから、再度接続します。 -
SUBNET_NOT_FOUND
は、AWS CloudHSM クラスター設定のサブネットが少なくとも 1 つ削除されたことを示します。AWS KMS が、クラスター構成内のすべてのサブネットを特定できない場合、AWS CloudHSM キーストアを AWS CloudHSM クラスターに接続する試みは失敗します。このエラーを修正するには、同じ AWS CloudHSM クラスターの最近のバックアップからクラスターを作成します。(このプロセスでは、VPC とプライベートサブネットを持つ新しいクラスター設定が作成されます)。新しいクラスターが カスタムキーストアの要件を満たしていることを確認し、新しいクラスター ID を書き留めます。次に、新しいクラスターを AWS CloudHSM キーストアに関連付けるため、カスタムキーストアを切断し、AWS CloudHSM キーストアのクラスター ID を新しいクラスターの ID に変更して、もう一度接続を試みます。
ヒント
kmsuser パスワードをリセットしないようにするには、AWS CloudHSM クラスターの最新のバックアップを使用します。
-
USER_LOCKED_OUT
は、失敗したパスワードの試行回数が多すぎるため、kmsuser Crypto User (CU) アカウントが関連付けられた AWS CloudHSM クラスターからロックアウトされたことを示します。このエラーのヘルプについては、「無効な kmsuser 認証情報の修正方法」を参照してください。このエラーを修正するには、AWS CloudHSM キーストアを切断し、CloudHSM CLI の [user change-password] コマンドを使用して
kmsuser
アカウントのパスワードを変更します。次に、カスタムキーストアの kmsuser のパスワード設定を編集し、接続し直してみてください。ヘルプについては、「無効な kmsuser 認証情報の修正方法 トピック」で説明されている手順を使用してください。 -
USER_LOGGED_IN
は、kmsuser
CU アカウントが関連付けられた AWS CloudHSM クラスターにログインしていることを示します。これにより、AWS KMS がkmsuser
アカウントパスワードをローテーションしてクラスターにログインするのを防ぐことができます。このエラーを修正するには、クラスターからkmsuser
CU をログアウトします。クラスターにログインするためにkmsuser
パスワードを変更した場合は、AWS CloudHSM キーストアのキーストアパスワード値も更新する必要があります。ヘルプについては、「ログアウトして再接続する方法」を参照してください。 -
USER_NOT_FOUND
は、AWS KMS が関連付けられた AWS CloudHSM クラスターでkmsuser
CU アカウントを見つけられないことを示します。このエラーを修正するには、クラスターで kmsuser CU アカウントを作成し、AWS CloudHSM キーストアのキーストアパスワード値を更新します。ヘルプについては、「無効な kmsuser 認証情報の修正方法」を参照してください。
暗号化オペレーションの失敗に対応するには
カスタムキーストアで KMS キーを使用する暗号化オペレーションは、KMSInvalidStateException
で失敗することがあります。次のエラーメッセージには KMSInvalidStateException
が関連することがあります。
KMS は CloudHSM クラスターと通信できません。これは一時的なネットワークの問題である可能性があります。このエラーが繰り返し表示される場合は、AWS CloudHSM クラスターの VPC のネットワーク ACL とセキュリティグループルールが正しいことを確認してください。 |
-
これは HTTPS 400 エラーですが、一時的なネットワークの問題が原因である可能性があります。対応するには、まずリクエストを再試行します。それでも失敗する場合は、ネットワークコンポーネントの設定を調べます。このエラーはほとんどの場合、発信トラフィックをブロックしているファイアウォールルールや VPC セキュリティグループルールなど、ネットワークコンポーネントの誤った設定が原因です。
kmsuser がロックアウトされているため、KMS は AWS CloudHSM クラスターと通信できません。このエラーが繰り返し表示される場合は、AWS CloudHSM キーストアの接続を解除して、kmsuser アカウントのパスワードをリセットしてください。カスタムキーストアの kmsuser のパスワードを更新して、リクエストを再試行してください。 |
-
このエラーメッセージは、失敗したパスワードの試行回数が多すぎるため、kmsuser Crypto User (CU) アカウントが関連付けられた AWS CloudHSM クラスターからロックアウトされたことを示します。このエラーのヘルプについては、「切断してログインする方法」を参照してください。
無効な kmsuser
認証情報の修正方法
AWS CloudHSM キーストアを接続すると、AWS KMSが、関連付けられた AWS CloudHSM クラスターに kmsuser Crypto User (CU) としてログインします。このログインは、AWS CloudHSM キーストアが切断されるまで維持されます。DescribeCustomKeyStores 応答は次の例に示すように、FAILED
の ConnectionState
、および INVALID_CREDENTIALS
の ConnectionErrorCode
値を示しています。
AWS CloudHSM キーストアを切断して kmsuser
パスワードを変更すると、AWS KMS は、AWS CloudHSM クラスターに kmsuser
CU アカウントの認証情報でログインすることができなくなります。その結果、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 はユーザーアカウントをロックします。このクラスターにログインするには、アカウントのパスワードを変更する必要があります。
AWS KMS が kmsuser
CU としてクラスターにログインしようとしてロックアウトのレスポンスを受け取った場合、AWS CloudHSM キーストアへの接続リクエストは失敗します。DescribeCustomKeyStores 応答には、次の例に示すように、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" ], }
これらの条件を修復するには、次の手順を実行します。
-
DescribeCustomKeyStores オペレーションを実行し、レスポンスの
ConnectionErrorCode
要素の値を表示します。-
ConnectionErrorCode
の値がINVALID_CREDENTIALS
の場合は、kmsuser
アカウントの現在のパスワードを特定します。必要に応じて、CloudHSM CLI の [user change-password] コマンドを使用して、パスワードを既知の値に設定します。 -
ConnectionErrorCode
値がUSER_LOCKED_OUT
の場合、CloudHSM CLI の [user change-password] コマンドを使用してkmsuser
パスワードを変更する必要があります。
-
-
kmsuser パスワード設定を編集して、クラスター内の現在の
kmsuser
パスワードと一致させます。このアクションは、AWS KMS にクラスターにログインするために使用するパスワードを指示します。クラスターのkmsuser
パスワードは変更されません。
孤立したキーマテリアルを削除する方法
AWS CloudHSM キーストアから KMS キーを削除することをスケジュールした場合、対応するキーマテリアルを、関連付けられた AWS CloudHSM クラスターから手動で削除しなければならなくなることがあります。
AWS CloudHSM キーストアで KMS キーを作成すると、AWS KMS は AWS KMS で KMS キーメタデータを作成し、関連付けられた AWS CloudHSM クラスターでキーマテリアルを生成します。AWS CloudHSM キーストアで KMS キーの削除をスケジュールすると、待機期間の後、AWS KMS が 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 Client SDK 5 コマンドラインツールである CloudHSM CLI を使用します。CloudHSM CLI は、key-handle
を key-reference
に置き換えます。
AWS CloudHSM は 2025 年 1 月 1 日を以て、Client SDK 3 コマンドラインツール、CloudHSM 管理ユーティリティ (CMU)、およびキー管理ユーティリティ (KMU) のサポートを終了します。Client SDK 3 コマンドラインツールと Client SDK 5 コマンドラインツールの違いの詳細については、「AWS CloudHSM ユーザーガイド」の「Client SDK 3 CMU および KMU から Client SDK 5 CloudHSM CLI への移行」を参照してください。
次の手順は、関連する AWS CloudHSM クラスターから孤立したキーマテリアルを削除する手順を示します。
-
AWS CloudHSM キーストアがまだ切断されていなければ切断し、切断してログインする方法 の説明に従って[ログイン]します。
注記
カスタムキーストアが切断されている間は、カスタムキーストアで KMS キーを作成したり、暗号化オペレーションで既存の KMS キーを使用したりする試みはすべて失敗します。このオペレーションにより、ユーザーが機密データを保存したりアクセスしたりすることを防ぐことができます。
-
CloudHSM CLI の key delete コマンドを使用して、クラスター内の HSM から キーを削除します。
AWS CloudHSM キーストアの KMS キーを使用した暗号化オペレーションのすべての CloudTrail ログエントリには、
customKeyStoreId
とbackingKey
を持つadditionalEventData
フィールドが含まれます。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" } }
-
いったんログアウトし、ログアウトして再接続する方法 の説明に従って AWS CloudHSM キーストアを再接続します。
KMS キーの削除されたキーマテリアルを復旧するには
AWS KMS key のキーマテリアルが削除された場合、KMS キーは使用できず、KMS キーで暗号化されたすべての暗号文は復号できません。こうしたことは、AWS CloudHSM キーストアにある KMS キーのキーマテリアルが、関連付けられた AWS CloudHSM クラスターから削除された場合に発生します。ただし、キーマテリアルを復元することは可能な場合もあります。
AWS CloudHSM キーストアで AWS KMS key (KMS キー) を作成すると、AWS KMS が、関連付けられた AWS CloudHSM クラスターにログインし、KMS キーのキーマテリアルを作成します。また、パスワードを、それのみが知っている値に変更し、AWS CloudHSM キーストアが接続されている間だけログイン状態を維持します。キー所有者、つまりキーを作成した CU のみがキーを削除できるため、誤って HSM からキーが削除されることはありません。
ただし、KMS キーのキーマテリアルがクラスター内の HSM から削除されると、KMS キーのキーステータスは最終的に UNAVAILABLE
に変わります。暗号化オペレーションに KMS キーを使用しようとすると、KMSInvalidStateException
の例外によりオペレーションは失敗します。最も重大なのは、KMS キーで暗号化されたデータが復号できないことです。
特定の状況では、キーマテリアルを含む バックアップからクラスターを作成することで、 削除されたキーマテリアルを回復できます。この方法は、キーが存在していて削除される前に少なくとも 1 つのバックアップが作成された場合にのみ機能します。
キーマテリアルを復旧するには、次の手順を実行します。
-
キーマテリアルが格納されているクラスターバックアップを見つけます。バックアップには、クラスターとその暗号化されたデータをサポートするために必要なすべてのユーザーとキーも含まれている必要があります。
DescribeBackups オペレーションを使用して、クラスタのバックアップを一覧表示します。バックアップのタイムスタンプを使用すると、バックアップの選択に役立ちます。AWS CloudHSM キーストアに関連付けられているクラスターへの出力を制限するには、次の例のように
Filters
パラメータを使用します。$
aws cloudhsmv2 describe-backups --filters clusterIds=
<cluster ID>
{ "Backups": [ { "ClusterId": "cluster-1a23b4cdefg", "BackupId": "backup-9g87f6edcba", "CreateTimestamp": 1536667238.328, "BackupState": "READY" }, ... ] }
-
選択したバックアップからクラスタを作成します。バックアップに削除されたキーおよびクラスターに必要な他のユーザーとキーが含まれていることを確認します。
-
AWS CloudHSM キーストアを切断すればそのプロパティを編集できます。
-
AWS CloudHSM キーストアのクラスター ID を編集します。バックアップから作成したクラスターのクラスター ID を入力します。クラスターは元のクラスターとバックアップ履歴を共有するため、新しいクラスター ID が有効である必要があります。
kmsuser
としてログインする方法
AWS CloudHSM キーストアの AWS CloudHSM クラスターでキーマテリアルを作成し管理するとき、AWS KMS は kmsuser Crypto User (CU) アカウントを使用します。クラスターに kmsuser CU アカウントを作成して、AWS CloudHSM カスタムキーストアを作成するときにそのパスワードを AWS KMS に入力します。
一般的に、AWS KMS は kmsuser
アカウントを管理します。ただし、一部のタスクでは、AWS CloudHSM キーストアを切断し、kmsuser
CU としてクラスターにログインしたうえで、CloudHSM コマンドラインインターフェイス (CLI).を使用する必要があります。
注記
カスタムキーストアが切断されている間は、カスタムキーストアで KMS キーを作成したり、暗号化オペレーションで既存の KMS キーを使用したりする試みはすべて失敗します。このオペレーションにより、ユーザーが機密データを保存したりアクセスしたりすることを防ぐことができます。
このトピックでは、AWS CloudHSM キーストアを切断して kmsuser としてログインし、AWS CloudHSM コマンドラインツールを実行し、AWS CloudHSM キーストアからログアウトして再度接続する方法について説明します。
切断してログインする方法
関連するクラスターに kmsuser
Crypto User (CU) としてログインする必要がある際には、次の手順を実行します。
メモ
次の手順では、AWS CloudHSM Client SDK 5 コマンドラインツールである CloudHSM CLI を使用します。CloudHSM CLI は、key-handle
を key-reference
に置き換えます。
AWS CloudHSM は 2025 年 1 月 1 日を以て、Client SDK 3 コマンドラインツール、CloudHSM 管理ユーティリティ (CMU)、およびキー管理ユーティリティ (KMU) のサポートを終了します。Client SDK 3 コマンドラインツールと Client SDK 5 コマンドラインツールの違いの詳細については、「AWS CloudHSM ユーザーガイド」の「Client SDK 3 CMU および KMU から Client SDK 5 CloudHSM CLI への移行」を参照してください。
-
AWS CloudHSM キーストアがまだ切断されていなければ、切断します。AWS KMS コンソールまたは AWS KMS API を使用できます。
AWS CloudHSM キーが接続されている間、AWS KMS は
kmsuser
としてログインします。これにより、kmsuser
としてログインしたり、kmsuser
パスワードを変更することができなくなります。例えば、このコマンドは、 DisconnectCustomKeyStore を使用して、サンプルキーストアを切断します。例にある AWS CloudHSM キーストア ID を、有効な ID に置き換えます。
$
aws kms disconnect-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
-
[login] コマンドを使用して、管理者としてログインします。「AWS CloudHSM ユーザーガイド」の「CloudHSM CLI の使用」セクションに記載されている手順を使用します。
aws-cloudhsm >
login --username admin --role admin
Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
-
[user change-password] コマンドを使用して、
kmsuser
アカウントのパスワードを自分が知っているパスワードに変更します (AWS KMS は、ユーザーが AWS CloudHSM キーストアに接続する際にパスワードをローテーションします)。パスワードは 7〜32 の英数字で構成する必要があります。大文字と小文字が区別され、特殊文字を含めることはできません。 -
設定したパスワードを使用して
kmsuser
としてログインします。詳細な手順については、「AWS CloudHSM ユーザーガイド」の「CloudHSM CLI の使用」のセクションを参照してください。aws-cloudhsm >
login --username kmsuser --role crypto-user
Enter password: { "error_code": 0, "data": { "username": "kmsuser", "role": "crypto-user" } }
ログアウトして再接続する方法
kmsuser
Crypto User (CU) ユーザーとしてログアウトしてキーストアを再接続する際には、次の手順を使用します。
メモ
次の手順では、AWS CloudHSM Client SDK 5 コマンドラインツールである CloudHSM CLI を使用します。CloudHSM CLI は、key-handle
を key-reference
に置き換えます。
AWS CloudHSM は 2025 年 1 月 1 日を以て、Client SDK 3 コマンドラインツール、CloudHSM 管理ユーティリティ (CMU)、およびキー管理ユーティリティ (KMU) のサポートを終了します。Client SDK 3 コマンドラインツールと Client SDK 5 コマンドラインツールの違いの詳細については、「AWS CloudHSM ユーザーガイド」の「Client SDK 3 CMU および KMU から Client SDK 5 CloudHSM CLI への移行」を参照してください。
-
タスクを実行後、CloudHSM CLI の [logout] コマンドを使用してログアウトします。ログアウトしないと、AWS CloudHSM キーストアへの再接続は失敗します。
aws-cloudhsm
logout
{ "error_code": 0, "data": "Logout successful" }
-
カスタムキーストアの kmsuser パスワード設定を編集します。
これにより、クラスターの
kmsuser
の現在のパスワードが AWS KMS に通知されます。このステップを省略すると、AWS KMS はkmsuser
としてクラスターにログインできなくなり、カスタムキーストアの再接続がすべて失敗します。AWS KMS コンソール、または UpdateCustomKeyStore オペレーションのKeyStorePassword
パラメータを使用できます。例えば、このコマンドは現在のパスワードが AWS KMS あることを
tempPassword
に通知します。例のパスワードを実際のパスワードに置き換えます。$
aws kms update-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
--key-store-passwordtempPassword
-
AWS KMS キーストアを AWS CloudHSM クラスターに再接続します。例にある AWS CloudHSM キーストア ID を、有効な ID に置き換えます。接続処理中に、AWS KMS は
kmsuser
パスワードを、それだけが知っている値に変更します。ConnectCustomKeyStore オペレーションはすばやく返されますが、接続プロセスに長時間かかる場合があります。最初のレスポンスは、接続プロセスの成功を示していません。
$
aws kms connect-custom-key-store --custom-key-store-id
cks-1234567890abcdef0
-
DescribeCustomKeyStores オペレーションを使用して、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" ], }