Chuyển đến nội dung

Nâng cấp từ 1.0.x lên 1.1.0

Đây là migration cần phối hợp giữa ứng dụng, cơ sở dữ liệu, storage, gateway, cache và worker. Tài liệu chi tiết chính thức là docs/migration-1.1-security-hardening.md.

Nội dung bắt buộc phải rà soát

  • Ánh xạ claim của principal đã xác minh và cấu hình rõ ràng mọi ranh giới danh tính gateway đáng tin cậy.
  • Gắn decorator cho mọi cột scope dùng chung, cung cấp tất cả giá trị bắt buộc, thay boolean bypass bằng một grant có giới hạn và được audit, đồng thời rà soát mọi truy cập ORM unsafe*.
  • Thêm/backfill các cột tenant/chủ sở hữu của tệp đã tải lên, thêm index nullable uploadPendingAtdeletionPendingAt, rồi migration object key mà không ghi đè.
  • Cấu hình storage local/S3 riêng tư, S3 bucket không rỗng, credential đầy đủ/default chain, policy tệp, validation và tiến trình bảo trì dọn dẹp đáng tin cậy.
  • Đánh version prefix Redis và đăng ký CacheInterceptor cho mọi đường dẫn có @Cached().
  • Thêm/đối soát owner token của job và định danh lock v2; dùng idempotencyKey của callback cho các hiệu ứng bên ngoài.
  • Thêm/backfill định danh tenant/resource cho lịch sử thao tác, read policy, redaction và job retention.
  • Nâng cấp lên Node.js 20+ và loại bỏ AWS SDK v2 khi mã ứng dụng không còn sử dụng nó.

Thứ tự thay đổi cơ sở dữ liệu

Trước tiên hãy thêm các trường nullable, backfill/cách ly dựa trên dữ liệu quyền sở hữu có thẩm quyền, xác thực, rồi mới áp dụng non-null và index. Dừng các worker không tương thích trong quá trình đổi job lock. Không dùng đồng bộ schema của TypeORM trên production, đồng thời điều chỉnh SQL minh họa trong hướng dẫn chính thức cho phù hợp với schema/framework migration của bạn.

Xác minh

Chạy các test ID, relation, batch, cache, tệp, lịch sử và worker cũ xuyên tenant; đối soát từng object đã migration; xác nhận không worker cũ nào phát sinh lock key kiểu legacy; sau đó chạy đầy đủ các release gate của package và docs.

Phát hành theo giấy phép MIT.