メインコンテンツまでスキップ

設定リファレンス

Merlon は環境変数で設定する。ローカル開発では .env.example.env にコピーする。そこに含まれる認証情報やシークレットを本番環境で使用してはならない。

環境変数

変数デフォルト本番運用ガイダンス
MERLON_ENVdevelopmentproduction に設定する。本番環境の Engine 接続には TLS が必須。
MERLON_HTTP_ADDR:8080TLS 終端を行うリバースプロキシの背後でバインドする。
MERLON_DATABASE_URL未設定TLS(sslmode=require 以上)と最小権限のアプリケーションロールを使用する。
MERLON_ENGINE_ADDR未設定gRPC エンドポイントは内部ネットワークに留める。
MERLON_ENGINE_TLS_CERT未設定MERLON_ENV=production かつ MERLON_ENGINE_ADDR 設定時に必須。Engine を検証するための CA 証明書。
MERLON_ENGINE_TLS_SERVER_NAME未設定アドレスのホスト名と異なる場合、期待する Engine の TLS サーバー名を設定する。
MERLON_ENCRYPTION_KEY_RING未設定本番環境の PII 保護に必須。merlon-keyrotate が受け付ける文書化されたキーリング形式を使用する。参照されているすべての鍵を失うと、過去の暗号化された値は復元不能になる。鍵は保護された KMS またはシークレットマネージャーでバックアップする。
MERLON_JWT_PRIVATE_KEY_FILE / MERLON_JWT_PUBLIC_KEY_FILE未設定ローカルユーザー認証には RS256 鍵ペアを使用する。
MERLON_JWT_SECRET未設定開発用フォールバックのみ。ローカルユーザー認証を使用する場合、本番環境では設定しないこと。
MERLON_BOOTSTRAP_TOKEN未設定初回セットアップ用のワンタイムシークレット。最初の管理者・API キー作成後、直ちにローテーションまたは削除する。
MERLON_POSTGRES_PASSWORD未設定Compose 専用の開発用パスワード。本番環境ではシークレットマネージャーを使用する。
MERLON_AUTH_ENABLEDfalse本番環境では true が必須。
MERLON_SEEDfalse開発・デモデータ専用。本番環境では必ず false にする。
MERLON_CONFIG_PATHconfig.yamlアプリケーション設定へのパス。
MERLON_CACHE_BACKENDmemory使用するキャッシュバックエンドを選択する。
MERLON_EVENT_BUSpg_notifyPostgreSQL と併用するイベントバスドライバ。
MERLON_RATE_LIMIT0ウィンドウあたりのリクエスト数。0 でレートリミッターを無効化する。
MERLON_ADAPTER_CONFIG_PATH未設定運用担当者が管理するアダプタ設定へのパス。
MERLON_UI_DIR未設定ビルド済み UI を含むディレクトリ(任意)。
MERLON_SCREENING_IMPORT_ENABLEDfalse承認済みエンドポイントの場合のみ、外部制裁リストのインポートを有効化する。
MERLON_SCREENING_RESCREEN_ENABLEDfalse定期的な顧客再スクリーニングを有効化する。
MERLON_SCREENING_IMPORT_INTERVAL24hスクリーニングリストのインポート間隔。
MERLON_SCREENING_CHECK_INTERVAL1h再スクリーニングの間隔。
MERLON_SCREENING_OFAC_URL / MERLON_SCREENING_EU_URL未設定承認済みの OFAC/EU リストエンドポイント。
MERLON_SCREENING_UN_URL / MERLON_SCREENING_MOF_URL未設定承認済みの UN/MOF リストエンドポイント。
MERLON_SCREENING_PEP_URL未設定承認済みの PEP プロバイダーエンドポイント。
MERLON_SMTP_HOST / MERLON_SMTP_PORT未設定 / 587通知用の SMTP エンドポイント。TLS と認証情報を設定する。
MERLON_SMTP_USERNAME / MERLON_SMTP_PASSWORD未設定SMTP 認証情報。シークレットマネージャーを使用する。
MERLON_SMTP_FROM / MERLON_SMTP_TO未設定通知の送信元と、カンマ区切りの宛先一覧。
MERLON_SMTP_USE_TLSfalseSMTP の TLS を有効化する。
MERLON_NOTIFY_ROUTING_PATH未設定通知ルーティング用 YAML のパス(任意)。
MERLON_PUBLIC_URL未設定通知リンクで使用する公開ベース URL。
MERLON_WHITELIST_MAX_VALID_DAYS365ホワイトリストの最大有効期間。
MERLON_EDD_STAGE2_DAYS / MERLON_EDD_STAGE3_DAYS60 / 90EDD エスカレーションの閾値。
MERLON_TM_SCENARIOS_PATHtm_scenariosディレクトリを管理下のソース管理に保管する。実行時ダイジェストは読み込まれた内容を識別するが、変更を承認するものではない。
MERLON_TM_BATCH_SCHEDULE02:00取引モニタリングのバッチ評価を実行する日次時刻(HH:MM)。
MERLON_TM_BATCH_TIMEZONEローカルタイムゾーン本番環境では IANA タイムゾーンを明示的に設定する。
MERLON_LOG_LEVELinfoinfo 以上を維持する。機密性の高いワークロードに debug ログを使用しないこと。

Engine は、運用担当者が指定したパスから CDD ウェイトとスクリーニングコンテンツも読み込む。これらのファイルはデータベースの監査証跡の対象外である。ソース管理、変更承認、アクセス制御、バックアップ、デプロイメント手順によって管理すること。ADR-0012 を参照。

暗号鍵のローテーション

merlon-keyrotate--key-ring-env(デフォルト MERLON_ENCRYPTION_KEY_RING)を受け付け、キーリング仕様を含む環境変数を選択する。既存データの復号に必要な旧鍵を保持したまま新しいアクティブ鍵を導入し、更新後のリングをデプロイし、移行を完了してから、初めて旧鍵を退役させる。バックアップに依拠する前に、アプリケーションデータベースと鍵材料の両方の復元テストを行うこと。

運用上の閾値

サンプルの TM・スクリーニングルールは例であり、本番環境のデフォルト値ではない。閾値は導入組織のリスク評価に基づいて選択し、変更をテストし、ルールガバナンスプロセスを通じて承認すること。特に、スクリーニングの一致閾値を下げると誤検知(false positive)が増加し、上げると見逃し(missed match)リスクが増加する。フェイルアラートの原則の下、不確実性がある場合はアラートを抑制する方向ではなく、追加レビューを行う方向で解消すること。