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

OAuthのAuthentication(認証)/Authorization(認可)

SimpleAD(ActiveDrectoryとの違い)

CloudWatchとCloudTrail