Loading...

[リリース] MBC CQRS サーバーレス フレームワーク v1.1.0

MBC CQRS サーバーレス フレームワーク v1.1.0 をリリースしました。このリリースでは、テナント管理の強化、セキュリティ改善、および新機能の追加が行われています。

主な変更点

破壊的変更

⚠️ このリリースには破壊的変更が含まれています。アップグレード前にマイグレーションガイドを必ずご確認ください。

  • tenant: TENANT_COMMON の値を 'COMMON' から 'common'(小文字)に変更
    • パーティションキー形式が TENANT#COMMONTENANT#common に変更
    • 既存データのマイグレーションが必要です
  • core: 非推奨メソッドの削除
    • CommandService.publish()publishAsync() を使用
    • CommandService.publishPartialUpdate()publishPartialUpdateAsync() を使用
  • sequence: SequencesService.genNewSequence() を削除 → generateSequenceItem() を使用

新機能

  • テナントコード正規化: 大文字小文字を区別しないマッチングのため、テナントコードが自動的に小文字に正規化されるようになりました
  • ユーティリティ関数: normalizeTenantCode()isCommonTenant() を追加
  • EmailTags サポート: AWS SES メールのカテゴリ分けとフィルタリング用のタグ機能を追加
  • 拡張可能なテナント検証: RolesGuard にカスタマイズ可能なテナント検証メソッドを追加
    • isHeaderOverride(): ヘッダーベースのテナントオーバーライドを検出
    • canOverrideTenant(): クロステナントアクセス権限をチェック
    • getCommonTenantCodes(): 共通テナントリストを設定可能
    • getCrossTenantRoles(): クロステナントロールを設定可能
  • CLI npm バージョンチェック: スキル更新時に npm レジストリから最新バージョンを取得

セキュリティ

  • テナントコードヘッダーオーバーライドの制限: x-tenant-code ヘッダーによるテナント指定を system_admin ロールを持つユーザーのみに制限しました。これにより、不正なクロステナントアクセスを防止します。

バグ修正

  • master: MasterSettingService と MasterDataService での TENANT_COMMON 定数の使用を修正

テスト

  • TenantService の包括的なテストを追加
  • テナントコード正規化テスト(70件以上)を追加
  • AWS SDK、NestJS、サードパーティライブラリの統合テスト(3400件以上)を追加

アップグレード方法

npm install @mbc-cqrs-serverless/core@1.1.0

⚠️ 重要: アップグレード前に必ずマイグレーションガイドをご確認ください。データマイグレーションが必要な場合があります。

関連リンク

Top