似たように感じるサービスでもあるため、整理する
KMS
暗号化キーを簡単に作成して管理し、幅広い AWS のサービスやアプリケーションでの使用を制御できるようになります。(中略)AWS KMS は AWS CloudTrail と統合されており、すべてのキーの使用ログを表示できるため、規制およびコンプライアンスの要求に応えるために役立ちます。
https://aws.amazon.com/jp/kms/
CloudHSM
クラウドベースのハードウェアセキュリティモジュール (HSM) です。これにより、AWS クラウドで暗号化キーを簡単に生成して使用できるようになります。
https://aws.amazon.com/jp/cloudhsm/
両サービスとも暗号化キーの生成できるようだ。
ユースケースに分けて整理する。
KMS のユースケース
サーバにアクセスする際の共通鍵の管理など
CloudHSM のユースケース
データの暗号化に使用されるSSLキーの安全性を確保する際に使う
CloudHSMを使用し、アプリケーションサーバーログがサーバーサイド暗号化(SSE)を使用してS3バケットに保持する仕組み作る。
CloudHSMは、アプリケーションログが永続的かつ安全に保存されるようになる。
正確に理解しておくべきポイント
AWS KMSはAWS CloudHSMのようにSSL処理をオフロードするといった対応はできない
実は公式にもこれら2つのサービスについての記載がある
https://aws.amazon.com/jp/kms/faqs/
black belt ではもう少しわかりやすく整理されている
https://d1.awsstatic.com/webinars/jp/pdf/services/20190723_AWS-Blackbelt-CloudHSM.pdf
AWS KMSはAWS CloudHSMのようにSSL処理をオフロードするといった対応はできないという点は大きな特徴になる。
https://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/ssl-offload-overview.html
サポートする暗号鍵も違う
KMS の場合共通鍵のみだが、CloudHSM の場合、共通鍵と公開鍵がサポートされている。
VPC内で稼働するサービス : VPC外からアクセスする場合には、CloudHSMがあるVPCにルーティングする必要があるようだ。
CloudHSM はリージョン内で稼働するサービス になる。 異なるリージョンからはCloudHSMに アクセス出来ない。