本卡屬 FR-089,來源 FR-087 T1 盤點第 6 項(compliance.information_systems 連規則都沒寫、開關關掉)+ jedi-asset README 已知落差「tenant_id 可空性不一致」。決策者 2026-09-12 說「能修就修」;但這張動的是 DB 行為,套 migration 屬環境異動,runner 只寫腳本+DEV 驗證,STG/POC 等決策者放行

問題是什麼(白話)

資訊系統清單這張表沒有租戶隔離:RLS 關、零條規則。現在 DEV 只有一個租戶所以看不出來,但一旦第二個客戶上來,A 客戶登入就能看到 B 客戶登記的所有資訊系統(83 筆)。設備表反過來 RLS 是開的,但 tenant_id 允許 NULL,NULL 列會被 policy 擋掉變成「誰都看不到」。同一支套件的兩張表,隔離做法不一樣。

首腦 DEV 實查(2026-09-12,唯讀):

在哪裡

jedi-asset/jedi_asset/migrations/002-asset-rls-grants.sql   現有:只有 devices 的 4 條 policy+GRANT;本卡補 information_systems 那半
jedi-asset/README.md 「已知落差」表                            修完把那兩列刪掉或改「已修(CM-xxxx)」
主專案 scripts/sql/                                          主專案側是否也要一支同步 migration,見「怎麼修」③

對照(devices 現有 policy 長什麼樣):
  DEV 唯讀:SELECT policyname, cmd, qual, with_check FROM pg_policies WHERE tablename='devices';

怎麼修

要寫測試

手測(DEV)