本卡屬 FR-132(母卡 CM-2510),A.2 資料地基第 2 張。依賴:T-2.1。建議 model:fable。

這張卡做什麼(白話)

角色今天存的是一筆一筆的能力點 id(role_capabilities)。新做法存的是 pattern 字串(萬用字元寫法,例 grc.project.*、*.*.read;一個完整名本身也是 pattern)。這張卡建新表 role_capability_patterns,把每個既有角色的每個能力點原樣轉成一筆完整名 pattern,角色能做的事一個都不能多、不能少。

另外依定案規則挑出每個租戶的「內建系統管理員」轉成 *.*.*。migration 結尾逐角色比對轉換前後的能力點集合,任何一個角色不一致就整支回滾——這是全案最關鍵的一支 migration,升級客戶舊資料靠它。

在哪裡

~/Projects/Billows/Audit-Manager/compliance-manager-be/scripts/sql/<日期>-fr132-role-capability-patterns.sql      新 migration
~/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/infra/models/role_capability.py:14-23      舊表 role_capabilities(保留一版)
~/Projects/Jedicogy/module/jedi-python-package/jedi-iam/jedi_iam/infra/models/role.py:23-84      roles,is_admin int;加 is_system、is_template
~/Projects/Billows/Audit-Manager/compliance-manager-be/core/plugins/identity.py:89-95      TENANT_ADMIN_EXCLUDED_RESOURCE_TYPES(*.*.* 展開要扣)

怎麼做

要寫測試

驗收條件