Secrets Manager と Parameter Store
Pro会員限定上級約37分6レッスン
ユーザーデータに残った平文のパスワードを base64 から読み戻し、なぜ秘密情報を置いてはいけないかを確かめます。Parameter Store の階層を読み、RDS のマスターパスワードを Secrets Manager に管理させ、アプリのロールにそのシークレットだけを読ませ、漏えいした前提でローテーションします。
対象者: 秘密情報の置き場所と受け渡しを、設計から見直したい方
前提知識: KMS と暗号化 修了程度
この教材を終えると、できるようになること
- describe-instance-attribute でユーザーデータを取り出して base64 -d で読み、秘密情報を置いてはいけない理由を説明できるようになる。
- get-parameters-by-path --recursive でパラメータの階層を一覧し、String と SecureString の違いを説明できるようになる。
- modify-db-instance --manage-master-user-password で、RDS のマスターパスワードの生成とローテーションを Secrets Manager に任せられるようになる。
- アプリのロールに、特定のシークレットの GetSecretValue だけを許可し、シミュレーターで確かめられるようになる。
- rotate-secret で今すぐローテーションし、describe-secret で最終ローテーション日時を確かめられるようになる。
修了後の姿: マルチアカウント・ネットワーク・可観測性・自動化まで含めて、AWS環境を安全に設計・運用・改善できるクラウドエンジニアへ。
Chapter 1秘密情報は、置き場所と渡し方で守る
コード・ユーザーデータ・環境変数に書かない。必要なときに、必要な人だけが取り出す。
- ユーザーデータに残った平文のパスワードbase64 は暗号ではない約7分(有料会員限定)
- Parameter Store の階層と SecureStringパスで整理し、パスで権限を絞る約7分(有料会員限定)
- RDS のマスターパスワードを Secrets Manager に管理させる人がパスワードを知らない状態にする約8分(有料会員限定)
- アプリのロールに、そのシークレットだけを読ませるResource をシークレットの ARN で絞る。! はシングルクォートで約7分(有料会員限定)
- 漏えいした前提でローテーションする自動ローテーションを待たずに、今すぐ変える約6分(有料会員限定)
- 確認クイズ: Secrets Manager と Parameter Store置き場所・渡し方・ローテーション約2分(有料会員限定)