type
status
date
slug
summary
tags
category
icon
password
书籍
理論
以下に AWS Secrets Manager と AWS Key Management Service (KMS) の比較表を示します。これらは両方ともセキュリティに関連したサービスですが、主に異なる目的で使用されます。
以下は、AWS Secrets Manager と AWS KMS の比較表です。
特徴 | AWS Secrets Manager | AWS KMS |
主な目的 | 機密情報(APIキー、データベースパスワードなど)の管理 | 暗号化キーの管理とデータの暗号化・復号化 |
保存対象 | APIキー、パスワード、秘密鍵などの機密情報 | 対称鍵や非対称鍵、データ暗号化キー |
暗号化 | 内部で機密情報を暗号化、ユーザーは復号化して使用 | ユーザーが暗号化/復号化キーを使って暗号化操作 |
自動ローテーション | サポート(機密情報の自動更新機能) | サポートしない(キー自体の自動更新は不可) |
統合 | AWSサービスやサードパーティ製品との統合が容易 | 主にAWSサービスでのデータ暗号化に使用 |
アクセス制御 | IAMポリシーを使用してアクセス制御 | KMSポリシーとIAMを使ってアクセス制御 |
利用用途 | アプリケーションでの機密情報の安全な管理 | データの暗号化、署名、復号化処理 |
価格 | 使用量に応じて料金が発生 | キー管理操作やAPIリクエストに対する料金が発生 |
まとめ
- AWS Secrets Manager は、アプリケーションの機密情報(パスワードやAPIキーなど)の保存・管理を行うサービスです。機密情報の自動ローテーションが可能です。
- AWS KMS は、データの暗号化と復号化を行うためのキー管理サービスです。暗号化キーの管理が主な役割です。
どちらもセキュリティに重要な役割を果たしますが、Secrets Managerはアプリケーションの機密情報を扱い、KMSはデータの暗号化に特化しています。
補足
- AWS Secrets Manager はシークレット情報(APIキーやデータベースの認証情報など)を安全に管理し、必要に応じてローテーションを自動的に実行します。シークレットの内容をアプリケーションや他のサービスで利用する場合に非常に便利です。
- AWS KMS は暗号化キーを生成、管理、使用するためのサービスであり、データの暗号化や復号化に使用されます。シークレット自体を保存するわけではありませんが、Secrets Managerで保存されるシークレットの暗号化にも利用されています。
選択のポイント
- シークレット情報(パスワードやAPIキーなど)を安全に保存し、必要に応じてローテーションを行いたい場合は Secrets Manager を選択します。
- データの暗号化や復号化に関する管理を行いたい場合や、暗号化キーの管理をしたい場合は KMS を使用します。
実践
略
一問道場
質問 #210
トピック 1
会社はLinuxベースのAmazon EC2インスタンスを使用しています。ユーザーはEC2 SSHキーペアを使用してSSHでインスタンスにアクセスする必要があります。各マシンにはユニークなEC2キーペアが必要です。
会社は、リクエストに応じてすべてのEC2キーペアを自動的にローテーションし、キーを安全に暗号化された場所に保存するキーのローテーションポリシーを実装したいと考えています。キーのローテーション中に1分未満のダウンタイムは許容されます。
この要件を満たすソリューションはどれですか?
A: すべてのキーをAWS Secrets Managerに保存します。Secrets Managerのローテーションスケジュールを定義してAWS Lambda関数を呼び出し、新しいキーペアを生成します。EC2インスタンス上の公開キーを置き換え、Secrets Managerのプライベートキーを更新します。
B: すべてのキーをAWS Systems Managerの機能であるParameter Storeに文字列として保存します。Systems Managerのメンテナンスウィンドウを定義してAWS Lambda関数を呼び出し、新しいキーペアを生成します。EC2インスタンス上の公開キーを置き換え、Parameter Storeのプライベートキーを更新します。
C: EC2キーペアをAWS Key Management Service(AWS KMS)にインポートします。これらのキーペアに対して自動キーのローテーションを設定します。Amazon EventBridgeのスケジュールされたルールを作成し、AWS Lambda関数を呼び出してAWS KMSでキーのローテーションを開始します。
D: すべてのEC2インスタンスをAWS Systems Managerの機能であるFleet Managerに追加します。Systems Managerのメンテナンスウィンドウを定義し、Systems ManagerのRun Commandドキュメントを発行して新しいキーペアを生成し、Fleet Manager内のすべてのインスタンスの公開キーをローテーションします。
解説
この問題では、LinuxベースのEC2インスタンスにアクセスするために使用するSSHキーの自動ローテーションを実現する方法を尋ねています。以下の選択肢の中で、要求されている機能に最も適したものを選ぶ必要があります。
解説
- A. Secrets Manager + Lambda
- AWS Secrets Managerを使用してSSHキーを保存し、Lambda関数でローテーションを自動化します。
- この方法は、秘密鍵を安全に保存し、アクセスを管理でき、キーのローテーションを実行するのに適しています。
- B. Systems Manager Parameter Store + Lambda
- AWS Systems Managerのパラメーターストアを使用してSSHキーを保存し、Lambdaでローテーションを実行します。
- ただし、Secrets Managerと比べてキーの保存と管理に関するセキュリティの強度が低い可能性があります。
- C. KMS + EventBridge + Lambda
- KMSは暗号化キーの管理を行うサービスであり、SSHキー自体を保存するのには適していません。また、EventBridgeで自動的にキーをローテーションする方法は、SSHキーのローテーションには適していません。
- D. Systems Manager Fleet Manager + Run Command
- Fleet Managerを使ってインスタンスにSSHキーを更新しますが、この方法は鍵の管理やローテーションの自動化に向いていません。
正解は A: Secrets Manager + Lambda
AWS Secrets Managerは秘密情報の管理に特化しており、Lambdaを使って自動的にキーをローテーションし、全インスタンスに新しいSSHキーを反映することができます。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/172d7ae8-88e2-80c8-91cf-de19dbab6ebe
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章