CHAPTER3 Security
KMSとSecret Manager
Secret Managerの役割
コード内のハードコードされた認証情報 (パスワードを含む) を、Secrets Manager への API コールで置き換えて、プログラムでシークレットを取得することができます。
既に作成済のキー(パスワード)を暗号化して保管・取得するための仕組み。新規にパスワードを生成するのが役割ではない。
KMSの役割
AWS Key Management Service (KMS) を使用することで、暗号化キーを簡単に作成して管理し、幅広い AWS のサービスやアプリケーションでの使用を制御できるようになります。
暗号化のためのキーを生成して、保管することが主な役割。
両者は別個のサービスではあっても、統合されている。
SecretManagerが保管するシークレット(DBパスワード)などは平文で保管しておくと危険であるため、KMSを利用して暗号化を実施しておく。これは特別なことではない。KMSはAWSの様々なサービスと統合してシークレットを安全に保管しておく。
SecretManagerはAPIコールを受けてパスワードを返却する際に、KMSから暗号化されたキーを平文に戻して返却する。
Secrets Manager encrypts the protected text of a secret by using AWS Key Management Service (AWS KMS). Many AWS services use AWS KMS for key storage and encryption. AWS KMS ensures secure encryption of your secret when at rest.
What is AWS Secrets Manager? - AWS Secrets Manager