背景
機密情報(特に DB password)の保管方針について、設計規約と infrastructure-plan で記述が不整合:
設計規約 §5.4
機密情報(DB パスワード等)は AWS Secrets Manager で管理し、application.yml に直書きしない 。
infrastructure-plan §3.4 / §3.5
§3.5「RDS 認証(K-A 案、MySQL 8.4)」: tasks-webapi の RDS 接続は IAM 認証(K-A 案) 。DB password は使用しない(動的に IAM token を取得)。
§3.4「環境変数による設定注入(Spring プロファイル不使用)」: application.yml の password は IAM 認証時 空文字。実装 password: ${DATASOURCE_PASSWORD:} で対応済。
Keycloak の SMTP password のみ Parameter Store SecureString で管理(S0Infra-7、ADR-0006 派生)。
実態
現 application.yml は password: ${DATASOURCE_PASSWORD:} で IAM 認証前提に既に対応済。
Secrets Manager / Parameter Store の使い分けは Sprint 0 着手前に整備中(S0Infra-7)。
設計規約 §5.4 だけが旧表現「AWS Secrets Manager」のまま残っている。
2026-05-24 の Sprint 0 N1〜N8 見直しで Issue #89 (N7) を書き換えた際に発見した不整合(sprint0-N1-N8-rewrite-draft.md § 横断追加タスク 案 3)。
やること
設計規約 §5.4「通信・データ保護」の機密情報管理項を、infrastructure-plan §3.4 / §3.5 と整合させる形で書き換える。
書き換え案
### 5.4 通信・データ保護
- HTTPS 必須(TLS 1.3 を優先、最低 1.2)、HSTS 有効。
- DB 接続は SSL/TLS を有効化。RDS は KMS で保存時暗号化。
- 機密情報の管理方針は infrastructure-plan §3.4 / §3.5 に従う:
- ** tasks-webapi の RDS 接続** : IAM 認証(K-A 案、infrastructure-plan §3.5)。DB password は使用せず、` application.yml ` の ` password ` は空文字注入(` ${DATASOURCE_PASSWORD:} ` )。
- ** Keycloak の SMTP password 等、IAM 認証で代替できない機密情報** : AWS Systems Manager ** Parameter Store SecureString** で管理(infrastructure-plan §3.4、S0Infra-7、ADR-0006 派生)。
- ** AWS Secrets Manager は本プロジェクトでは未採用** (Parameter Store SecureString で同等のセキュリティを実現、運用コスト圧縮)。
- いずれも ` application.yml ` への直書きは禁止。ECS Task Definition の ` environment ` / ` secrets ` で注入。
影響範囲確認
受入条件
参照
本 Issue の起票根拠: 2026-05-24 N1〜N8 Issue 見直しレビュー(sprint0-N1-N8-rewrite-draft.md § 横断追加タスク 案 3)
対象 doc: docs/specs/設計規約.md §5.4
整合先 doc: docs/architecture/infrastructure-plan.md §3.4 / §3.5
関連 Issue: S0Infra-7(Parameter Store パラメータ整備)/ chore: application.yml に DataSource / Flyway / OAuth2 issuer 設定追加 (N7) #89 (N7、application.yml 整備)
関連 ADR: ADR-0006(Keycloak User Storage SPI、SMTP password 由来)
背景
機密情報(特に DB password)の保管方針について、設計規約と infrastructure-plan で記述が不整合:
設計規約 §5.4
infrastructure-plan §3.4 / §3.5
application.ymlのpasswordは IAM 認証時 空文字。実装password: ${DATASOURCE_PASSWORD:}で対応済。実態
application.ymlはpassword: ${DATASOURCE_PASSWORD:}で IAM 認証前提に既に対応済。2026-05-24 の Sprint 0 N1〜N8 見直しで Issue #89 (N7) を書き換えた際に発見した不整合(
sprint0-N1-N8-rewrite-draft.md§ 横断追加タスク 案 3)。やること
設計規約 §5.4「通信・データ保護」の機密情報管理項を、infrastructure-plan §3.4 / §3.5 と整合させる形で書き換える。
書き換え案
影響範囲確認
docs/specs/設計規約.md§5.4 の書き換えdocs/specs/,docs/architecture/,docs/adr/)受入条件
./gradlew :webapi:check不要、CI green参照
sprint0-N1-N8-rewrite-draft.md§ 横断追加タスク 案 3)docs/specs/設計規約.md§5.4docs/architecture/infrastructure-plan.md§3.4 / §3.5