只列需要改名的欄位(改名前 → 改名後),標必填等級 + 參考依據。未異動的不列。已符合 OSCAL 的欄位另列「免改」確認區。
id / Python 保留字 / builtin(即 id / class / type 三類)→ 一律加物件前綴成 <物件>_<欄>(如 group_id、group_class、component_type)。OSCAL 精準 key(連字號、id、class、type)一律由匯出/匯入 mapper 轉(與現有 out["last-modified"] 同一套)。整數 PK id 不動。
uid → uuid(OSCAL 用 uuid 的表)OSCAL 識別碼欄位叫 uuid。下列表的 assembly 在 OSCAL 確實有 uuid 欄(且為必填)→ 把我們的 uid 改名 uuid。整數 PK id 不動。
| 表 | 改名 | 必填 | 參考依據(schema · required) |
|---|---|---|---|
oscal.catalogs | uid→uuid | Req | catalog_schema · catalog.required=[metadata, uuid] |
oscal.profiles | uid→uuid | Req | profile_schema · profile.required=[imports, metadata, uuid] |
oscal.oscal_parties | uid→uuid | Req | common · party.required=[uuid, type] |
oscal.oscal_locations | uid→uuid | Req | common · location.required=[uuid] |
oscal.ssps | uid→uuid | Req | ssp_schema · system-security-plan.required 含 uuid |
oscal.ssp_components | uid→uuid | Req | ssp_schema · system-component.required=[description, status, title, type, uuid] |
oscal.ssp_inventory_items | uid→uuid | Req | ssp_schema · inventory-item.required=[description, uuid] |
oscal.ssp_leveraged_authorizations | uid→uuid | Req | ssp_schema · leveraged-authorization.required=[uuid, title, party-uuid, date-authorized] |
oscal.ssp_control_implementations | uid→uuid | Req | ssp_schema · implemented-requirement.required=[control-id, uuid] |
oscal.ssp_control_implementation_objectives | uid→uuid | Req | ssp_schema · statement.required=[statement-id, uuid] |
oscal.assessment_plans | uid→uuid | Req | ap_schema · assessment-plan.required=[import-ssp, metadata, reviewed-controls, uuid] |
oscal.assessment_plan_tasks | uid→uuid | Req | ap_schema · task.required=[title, type, uuid] |
oscal.assessment_results | uid→uuid | Req | ar_schema · assessment-results.required=[import-ap, metadata, results, uuid] |
oscal.assessment_result_datas | uid→uuid | Req | ar_schema · result.required=[description, reviewed-controls, start, title, uuid] |
oscal.assessment_result_findings | uid→uuid | Req | ap_schema · finding.required=[description, target, title, uuid] |
uid:catalog 的 catalog_groups / catalog_controls / catalog_control_parts / catalog_control_parameters、以及 oscal_roles、oscal_metadatas、ssp_system_characteristics、assessment_plan_groups / _controls、assessment_result_controls / _evidences、oscal_documents —— 這些 assembly 在 OSCAL 沒有 uuid(用 token id 或本身無識別碼,或為本專案擴充/內部表),它們的 uid 是內部欄位,保持 uid 不改。名稱不同但語意一致,直接改名對齊 OSCAL。
| 表 | 改名 | OSCAL 出處 | 必填 | 參考依據(schema · required) |
|---|---|---|---|---|
catalog_groups | name→group_id衝突現存代碼如 A.5=OSCAL group.id | catalog: group.id | Opt | catalog_schema · group.required=[title](id 選填,TokenDatatype「Group Identifier」) |
catalog_groups | description→title現存顯示名;OSCAL group 無 description 欄、只有 title | catalog: group.title | Req | catalog_schema · group.required=[title] |
ssp_system_characteristics | name→system_name | ssp: system-characteristics.system-name | Req | ssp_schema · system-characteristics.required 含 system-name |
ssp_control_implementations | control_identifier→control_id | ssp: implemented-requirement.control-id | Req | ssp_schema · implemented-requirement.required=[control-id, uuid] |
ssp_control_implementation_objectives | statement_identifier→statement_id | ssp: statement.statement-id | Req | ssp_schema · statement.required=[statement-id, uuid] |
assessment_result_datas | started_at→start | ar: result.start | Req | ar_schema · result.required 含 start |
assessment_result_datas | completed_at→end | ar: result.end | Opt | ar_schema · result.props 含 end(不在 required) |
assessment_result_evidences | reference_url→href | ar: relevant-evidence.href | Opt | ar_schema · relevant-evidence.required=[description](href 選填) |
這些欄位現名已是「物件前綴」或已對齊 OSCAL,不需改名,列出供核對。
| 表 . 欄位 | OSCAL 出處 | 原因(免改) |
|---|---|---|
catalog_controls.control_id | catalog: control.id | 已是 control_id(id 衝突的物件前綴名) |
catalog_control_parameters.param_id | catalog: parameter.id | 已是 param_id |
oscal_roles.role_id | common: role.id | 已是 role_id |
oscal_props.prop_class | common: property.class | 已是 prop_class(class 保留字的物件前綴名) |
oscal_parties.party_type | common: party.type | 已是 party_type(type builtin 的物件前綴名) |
ssp_components.component_type | ssp: system-component.type | 已是 component_type |
ssp_leveraged_authorizations.party_uuid / date_authorized | ssp: leveraged-authorization.party-uuid / date-authorized | 已對齊(連字號由 mapper 轉) |
oscal_responsible_parties.role_id / party_uuid | common: responsible-party.role-id / party-uuids | 已對齊 |
各表 title / description / status / version / href / name(party) | 對應 OSCAL 同名欄 | 已是 OSCAL 原名 |
這些不是「改個欄名」就好——牽涉值域轉換或 OSCAL 巢狀結構,列出避免誤當改名。
| 表 . 欄位 | OSCAL 出處 | 差異類型 | 必填 |
|---|---|---|---|
ssp_system_characteristics.status | ssp: status.state | 巢狀(status 物件)+ 詞彙:active/archived → operational/under-development/… | Req |
ssp_system_characteristics.scope_description | ssp: authorization-boundary.description | OSCAL 為巢狀 authorization-boundary 物件 | Req |
ssp_system_characteristics.system_identifier | ssp: system-ids[].id | OSCAL 為陣列 system-ids[](多筆 + identifier-type),現為單值 | Req |
assessment_plan_tasks.task_type | ap: task.type | 詞彙:manual/automated/hybrid(占用)→ OSCAL milestone/action | Req |
assessment_result_controls.verdict | ar: finding-target.status.state | 詞彙 pass/fail/partial/na → satisfied/not-satisfied,且 OSCAL 掛在 finding-target 非 control | Req |
非改名、是補欄/補表;欄名一律 OSCAL snake,token id/class/type 同樣物件前綴。完整清單見 verification-matrix.md / enhancement-table。
| 表(新欄/新表) | 新欄位(OSCAL 對齊) | 必填 |
|---|---|---|
ssps / assessment_plans / assessment_results / poams | import_profile / import_ssp / import_ap / import_ssp(存被參照 uuid) | Req |
ssp_control_implementations | description(control-implementation 必填) | Req |
assessment_result_datas | description(result 必填) | Req |
🆕 ssp_system_information_types | title / description / system(categorization) / impact base·selected | Req(title/desc) |
| 🆕 security-impact-level(於 sys-char) | security_objective_confidentiality / _integrity / _availability | Opt* |
🆕 ssp_system_users / ssp_authorized_privileges | uuid / role_ids ; title / functions_performed | Opt* |
🆕 ssp_by_components | component_uuid / uuid / description / implementation_status | Opt* |
🆕 ssp_set_parameters | param_id / values | Opt* |
🆕 ssp_diagrams | uuid / caption / description | Opt* |
🆕 assessment_result_finding_targets | target_type / target_id / status / implementation_status | Req(finding 必填 target) |
🆕 assessment_result_observations | uuid / description / methods / collected | Opt* |
🆕 assessment_result_risks | uuid / title / description / statement / status | Opt* |
🆕 oscal_resources / oscal_hashes / oscal_document_ids / oscal_revisions | back-matter uuid/href/value/text ; value+algorithm ; identifier ; version | Opt* |
🆕 profile_imports | href / include_all / with_child_controls / matching | Req(profile 必填 imports) |
🆕 catalog props/links/子控制項/param constraints、part_id/group_class/control_class/part_class/param_class | OSCAL 對齊名(class 類用物件前綴) | Opt |