210-AWS SAP AWS 「理論・実践・一問道場」KMS

 

理論

以下に AWS Secrets ManagerAWS Key Management Service (KMS) の比較表を示します。これらは両方ともセキュリティに関連したサービスですが、主に異なる目的で使用されます。


以下は、AWS Secrets ManagerAWS 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キーの自動ローテーションを実現する方法を尋ねています。以下の選択肢の中で、要求されている機能に最も適したものを選ぶ必要があります。

解説

  1. A. Secrets Manager + Lambda
      • AWS Secrets Managerを使用してSSHキーを保存し、Lambda関数でローテーションを自動化します。
      • この方法は、秘密鍵を安全に保存し、アクセスを管理でき、キーのローテーションを実行するのに適しています。
  1. B. Systems Manager Parameter Store + Lambda
      • AWS Systems Managerのパラメーターストアを使用してSSHキーを保存し、Lambdaでローテーションを実行します。
      • ただし、Secrets Managerと比べてキーの保存と管理に関するセキュリティの強度が低い可能性があります。
  1. C. KMS + EventBridge + Lambda
      • KMSは暗号化キーの管理を行うサービスであり、SSHキー自体を保存するのには適していません。また、EventBridgeで自動的にキーをローテーションする方法は、SSHキーのローテーションには適していません。
  1. D. Systems Manager Fleet Manager + Run Command
      • Fleet Managerを使ってインスタンスにSSHキーを更新しますが、この方法は鍵の管理やローテーションの自動化に向いていません。

正解は A: Secrets Manager + Lambda

AWS Secrets Managerは秘密情報の管理に特化しており、Lambdaを使って自動的にキーをローテーションし、全インスタンスに新しいSSHキーを反映することができます。
 
212-AWS SAP AWS 「理論・実践・一問道場」同時接続数制限209-AWS SAP AWS 「理論・実践・一問道場」MQTTブローカー
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録