環境変数・セキュリティパラメータ設定
idp-server の商用デプロイメントにおける環境変数、セキュリティパラメータ、および機密情報管理について説明します。
🎯 SRE向け設定ガイド
最低限設定すべき必須項目 (Priority 1)
🔒 機密情報(厳重管理が必要)
IDP_SERVER_API_KEY- 管理API認証キーIDP_SERVER_API_SECRET- 管理API認証シークレットENCRYPTION_KEY- データ暗号化キー (AES-256)CONTROL_PLANE_DB_WRITER_PASSWORD- Control Plane用DBパスワードDB_WRITER_PASSWORD- アプリケーション用DBパスワード
✅ 基本環境設定
DATABASE_TYPE- データベース種類 (POSTGRESQL)DB_WRITER_URL- プライマリDB接続URLDB_READER_URL- レプリカDB接続URLREDIS_HOST- Redis/ElastiCache エンドポイントSESSION_REDIS_ENABLE- Redisセッション有効化 (true推奨)
本番環境で調整すべき項目 (Priority 2)
⚡ パフォーマンス設定
DB_WRITER_MAX_POOL_SIZE- 書き込み接続プール (負荷に応じて)DB_READER_MAX_POOL_SIZE- 読み込み接続プール (書き込みの1.5-2倍)REDIS_MAX_TOTAL- Redis接続プール (同時アクセス数に応じて)CACHE_TIME_TO_LIVE_SECOND- キャッシュTTL (業務要件に応じて)
🔒 セキュリティ設定
LOGGING_LEVEL_ROOT- 本番はinfo推奨(監査・トラブルシューティングに必要)REDIS_SESSION_TIMEOUT- セッションRedis接続タイムアウト
環境規模別推奨値
| 環境規模 | 想定負荷 | Writer Pool | Reader Pool | Redis Pool | Cache TTL |
|---|---|---|---|---|---|
| 小規模 | < 100 TPS | 15 | 30 | 50 | 300s |
| 中規模 | 100-500 TPS | 50 | 80 | 100 | 600s |
| 大規模 | 500+ TPS | 100 | 150 | 200 | 900s |
📝 application.yaml 設定詳細
idp-server の設定は application.yaml で定義され、環境変数で上書き可能です。以下に全設定項目の一覧表と詳細解説を記載します。
📋 設定パラメータ一覧表
idp.configurations (コア設定)
| パラメータ | 環境変数 | 説明 | デフォルト値 | 本番推奨値 |
|---|---|---|---|---|
adminTenantId | ADMIN_TENANT_ID | 管理テナントID | 67e7eae6-62b0-4500-9eff-87459f63fc66 | 本番固有UUID |
apiKey | IDP_SERVER_API_KEY | 管理API認証キー | なし (必須) | Secrets Manager |
apiSecret | IDP_SERVER_API_SECRET | 管理API認証シークレット | なし (必須) | Secrets Manager |
encryptionKey | ENCRYPTION_KEY | データ暗号化キー (AES-256) | なし (必須) | Secrets Manager |
encryptionKeys | ENCRYPTION_KEYS | アカウント連携の保管トークン用の鍵暗号化鍵の束。<key id>:<base64> をカンマ区切り。key id は 64 文字以内の英数字・.・_・- | なし(ENCRYPTION_KEY を key id default として使う) | Secrets Manager。交換時だけ複数 |
encryptionActiveKeyId | ENCRYPTION_ACTIVE_KEY_ID | 新しく包むのに使う鍵暗号化鍵の key id | ENCRYPTION_KEYS が無ければ default(あるときは必須) | 交換の手順に従う |
databaseType | DATABASE_TYPE | データベース種類 | POSTGRESQL | POSTGRESQL |
server (サーバーポート設定)
| パラメータ | 環境変数 | 説明 | デフォルト値 | 本番推奨値 |
|---|---|---|---|---|
server.port | SERVER_PORT | HTTPリッスンポート | 8080 | 8080 |
Note: Spring Bootのデフォルトポート 8080 が使用されます。リバースプロキシ(Nginx、ALB等)からのプロキシ先ポートとして指定してください。通常は変更不要です。