AWSクラウドセキュリティシステムでは、データ暗号化、鍵管理、機密情報保護がシステムセキュリティを確保するための中核を成しています。AWSは、以下を含む様々なセキュリティサービスを提供しています。 AWS キー管理サービス (KMS)、AWS クラウドHSM そして AWS シークレットマネージャー これらは最も一般的に使用される 3 つですが、機能が重複しているわけではなく、異なるセキュリティ ニーズに対応します。
- AWS KMS:ほとんどのアプリケーションシナリオに適した、使いやすさ、低コスト、AWS サービスとの高い統合性を備えたマネージドキー管理および暗号化サービスです。
- AWS クラウドHSM: 最高のキー自律性とコンプライアンス保護を提供する専用のハードウェア セキュリティ モジュール サービス。極めて高いセキュリティ要件を持つ業界 (金融や政府など) に適しています。
- AWS シークレットマネージャー: アプリケーションの機密情報 (パスワード、API キー、OAuth トークンなど) の安全な保管と自動ローテーションに重点を置き、手動メンテナンスのリスクを軽減します。
これら 3 つの仕組み、それぞれの利点、欠点、違いを理解することは、建築設計において合理的な選択を行う上で非常に重要です。
AWS KMS とは何ですか?
AWS KMSは完全管理KMS のキー管理サービスを使用すると、ユーザーはクラウドで暗号化キーを安全に生成、保存、使用することができ、S3、EBS、RDS、Lambda などのほぼすべての AWS サービスとシームレスに統合できます。 FIPS 140-2 キーの暗号化素材を保護するための標準ハードウェア セキュリティ モジュール (HSM)。
1. KMSキーの種類
KMSのキーは KMSキー(旧称 CMK)、3 つのカテゴリに分かれています。
1.顧客管理キー(顧客管理キー)
- ユーザーによって作成および管理され、権限を完全に制御できます。
- キー ポリシーをカスタマイズしたり、エイリアスやタグを設定したり、キーを有効化または無効化したり、キーを手動または自動でローテーションしたりできます。
- SSE-KMS で暗号化された S3 バケットなど、きめ細かな権限制御が必要なシナリオに適しています。
2. AWS管理キー(AWS管理キー)
- AWS によって自動的に作成および管理され、通常はデフォルトの暗号化シナリオで使用されます。
- 運用・保守コストは低いが、制御権限は限られている。
3. AWS所有のキー(AWS独自のキー)
- ユーザー アカウントには表示されませんが、AWS は一部のリソースを暗号化するためにこれを使用します。
- ユーザーは管理する必要はありませんが、直接制御することもできません。
2. 対称鍵と非対称鍵
- 対称鍵: 暗号化と復号化に同じキーが使用されるため、高速で、ほとんどのアプリケーションに適しています。
- 非対称鍵: 公開キーと秘密キーが含まれており、システム間の暗号化、デジタル署名、その他のシナリオに適しています。
データが AWS 外部 暗号化と復号化には非対称キーの方が適している可能性がありますが、それ以外の場合はほとんどの場合、対称キーの方が効率的です。
3. KMSコスト
(2025年基準を例に挙げます)
- 各キー:月額1ドル
- 定期リクエスト: 10,000件ごと 0.03米ドル
- 非対称鍵は生成コストが高くなります。例えば、RSA鍵は生成コストが高くなります(10,000回あたり10ドル以上)。
AWS Secret Manager とは何ですか?
Secrets Managerは、アプリケーションの機密性管理データベースのパスワード、API キー、サードパーティのサービス認証情報などです。KMS と統合することで、保存された機密情報を自動的に暗号化し、必要に応じて復号化します。
1. Secrets Manager が必要な理由は何ですか?
従来の方法は、パスワードを構成ファイルまたはコードに直接書き込むことですが、次の 2 つの問題があります。
- コードが漏洩すると資格情報が盗まれる可能性があるため、パスワードが露出するリスクは高くなります。
- パスワードのローテーションは複雑で、複数のアプリケーションと構成を手動で更新する必要があるため、変更を見逃しやすくなります。
Secrets Manager は次のような問題点に対処します。
- 自動回転: RDS、Aurora、Redshift などのデータベースの定期的な自動パスワード更新をサポートします。
- 集中ストレージすべての秘密は安全なストレージに集中管理され、コード内に分散されることはなくなりました。
- バージョン管理: スムーズな切り替えを実現するために、タグ (AWSCURRENT や AWSPENDING など) を使用して複数のバージョンのシークレットを管理します。
2. 使用プロセス例
- シークレット (データベース接続パスワードなど) を作成し、暗号化に使用する KMS キーを選択します。
- 自動ローテーション ポリシーを構成します (たとえば、30 日ごとに更新する)。
- パスワードをハードコーディングする代わりに、アプリケーションは実行時に API を通じて現在有効なシークレットを取得します。
3. シークレットマネージャーのコスト
- 最初の30日間は無料トライアル
- それ以降の各秘密:0.4ドル/月
- APIリクエスト: 10,000件ごと 0.05米ドル
AWS CloudHSM とは何ですか?
CloudHSMは専用ハードウェアセキュリティモジュールこのサービスでは、AWSクラウド上でお客様専用のHSMインスタンスを取得できます。キーの所有者はお客様のみとなり、AWSはアクセスできません。
1. 主な特徴
- FIPS 140-2 レベル 3 セキュリティ標準に準拠しており、金融、医療、政府などの業界のコンプライアンス要件を満たしています。
- 標準の暗号化 API (PKCS#11、JCE、CNG) をサポートしているため、既存のシステムへの統合が容易です。
- キーを生成、インポート、エクスポートしたり、暗号化と復号化、署名、HMAC、乱数生成などの操作を実行したりできます。
2. KMSとの違い
- キオスク: 完全に管理された AWS がインフラストラクチャと高可用性を管理します。
- クラウドHSM: キーのバックアップ、リカバリ、高可用性の展開など、独自の HSM を管理します。
3. CloudHSMのコスト
(東京エリアを例に挙げます)
- 1時間あたり1.81ドル
- 1か月に1インスタンス 1,321米ドル(追加のネットワーク/ストレージ料金は除く)。
3つの比較概要
特性 | AWS KMS | AWS シークレットマネージャー | AWS クラウドHSM |
---|---|---|---|
コア機能 | エスクローキーの管理と暗号化 | 機密情報の保管とローテーション | 専用ハードウェアセキュリティモジュール |
完全に管理されていますか? | はい | はい | いいえ |
AWSとの統合 | 高い | 高い | 中くらい |
権限を制御する | 中(部分的に構成可能) | 中くらい | 最高(完全自己管理) |
一般的な用途 | S3/EBSデータ暗号化 | データベースパスワードとAPIキーの管理 | 金融グレードの暗号化とデジタル署名 |
料金 | 低い | 中くらい | 高い |
コンプライアンス | 高い | 高い | 最高 |
選択の推奨事項
- 毎日のクラウドデータ暗号化 → 優先順位 キオスク使いやすく、コストも低いです。
- アプリケーション認証情報とパスワード管理 → 使用 シークレットマネージャー手動メンテナンスのリスクを軽減します。
- 高いセキュリティとコンプライアンス要件 →選択 クラウドHSMキーを完全に制御できるようになります。
多くの実用的なアーキテクチャでは、3つの併用:
- 使用 クラウドHSM トップレベルのマスター キーを生成する → 毎日の暗号化のために KMS にインポートする → Secrets Manager を通じてアプリケーションの資格情報を管理します。
- このソリューションは、セキュリティ、運用・保守効率、コスト管理を考慮しています。