本稿は、AWS Solution Architect Professional に出題される AWS Secrets Manager について個人用にまとめた記事です。
AWS Secret Manager は Fargete で DB 認証情報を扱う問題で出題されます。
目次
AWS Secrets Manager とは
データベース認証情報、パスワード、サードパーティーの API キーなどの任意のテキストをより簡単に管理する AWS サービスです。たとえば、RDS への認証をアプリケーションの conf ファイルに直書きしている事はよくあるでしょう。セキュリティポリシーによって認証情報をアップデートをする必要が発生した場合、conf ファイルをアップデートする必要があります。Secrets Manager を使用すると、conf 内に直書きされた認証情報を Secrets Manager への API コールに置き換えてアプリケーション上から認証情報を取得することができます。
アプリケーション内にハードコーディングされた機密情報を削除し、より安全な運用が可能になります。
格納できる機密情報の種類
機密情報は JSON で格納できます。
情報の暗号化
機密情報は AWS KMS を使って暗号化できます。
認証情報の自動更新
RDS for MySQL 、 PostgreSQL 、 Aurora の認証情報の自動更新を標準サポートします。似たサービスに System Manager Parameter Store がありますが、認証情報の自動更新の標準サポートはなく、Lambda で作り込みが必要です。
Secret Manager と Parameter Store のどちらを使うべきか
認証情報のライフサイクルを行うのであれば、Secret Manager を使用し、認証情報のライフサイクル要件がない場合は、追加料金なしで利用できる Parameter Sotre を使用しましょう。