Files
awoooi/docs/security/security-rollout-policy.snapshot.json

106 lines
3.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema_version": "security_rollout_policy_v1",
"status": "draft",
"default_mode": "observe",
"enforcement_level": "mirror_only",
"policy_items": [
{
"condition": "read_only_inventory_or_evidence_mirror",
"mode": "observe",
"allowed": [
"collect_metadata",
"write_redacted_snapshot",
"update_docs",
"mirror_to_awooop_runtime_state"
],
"forbidden": [
"change_runtime",
"write_to_remote_system",
"delete_or_archive_repo",
"sync_refs"
],
"reason": "初期先建立可見性與追溯性,不阻擋產品與架構推進。"
},
{
"condition": "low_or_medium_observation_without_irreversible_change",
"mode": "warn",
"allowed": [
"label_risk",
"create_followup_item",
"add_evidence_ref",
"prepare_draft_plan"
],
"forbidden": [
"block_deploy",
"force_owner_decision",
"auto_patch",
"auto_merge"
],
"reason": "LOW / MEDIUM observation 先累積 evidence不把日常流程變成審批地獄。"
},
{
"condition": "uses_readonly_token_or_admin_export",
"mode": "approve_required",
"allowed": [
"request_human_approval",
"run_once_after_approval",
"store_token_present_boolean_only",
"write_redacted_inventory"
],
"forbidden": [
"store_token_value",
"reuse_write_token",
"write_to_gitea",
"create_repo"
],
"reason": "只讀 token 與管理匯出會碰敏感邊界,需 approval但仍不授權任何同步或寫入。"
},
{
"condition": "repo_creation_visibility_change_or_refs_sync",
"mode": "approve_required",
"allowed": [
"create_approval_candidate",
"prepare_migration_plan",
"prepare_rollback_plan"
],
"forbidden": [
"execute_without_owner_approval",
"push_refs",
"change_visibility",
"switch_primary"
],
"reason": "這些動作會改供應鏈控制面,必須逐 repo 核准。"
},
{
"condition": "secret_rbac_network_firewall_deploy_or_primary_switch",
"mode": "approve_required",
"allowed": [
"create_approval_required_event",
"prepare_dry_run_plan",
"define_rollback"
],
"forbidden": [
"auto_execute",
"store_secret_value",
"skip_human_review"
],
"reason": "這些動作有生產、權限或安全 blast radius不進入初期自動化。"
},
{
"condition": "destructive_action_without_rollback_or_secret_value_storage",
"mode": "block_candidate",
"allowed": [
"record_block_reason",
"request_manual_exception"
],
"forbidden": [
"force_push",
"delete_repo",
"store_raw_secret",
"disable_audit"
],
"reason": "不可逆且無 rollback 的動作不屬於初期框架建置範圍。"
}
]
}