許可權與安全

誰能看什麼、誰能改什麼——在執行時強制執行。

拿一個銷售組織來說:代表只能看自己團隊的客戶,成本價欄位對他們脫敏,經理能看整個大區,審計隨時要查"這條折扣誰改的"。在 ObjectOS 裡,這套邊界是一份可審閱的定義——在每一次查詢、API 呼叫和 AI 工具呼叫上強制執行。

ObjectOS product surface connecting business data, applications, and AI agents
AI 編寫後設資料 物件、許可權、流程、工具
審閱 diff 業務許可權、資料訪問、審批
執行時 執行策略 UI、API、審計、MCP、動作
3 層
物件、記錄、欄位三級控制,一個模型
按使用者
AI Agent 繼承登入使用者的許可權
不可變
讀、寫、授權與工具呼叫全程留痕

許可權即後設資料

審閱者真的讀得懂的許可權。

這就是那個銷售場景:支援工單可讀可建、客戶只讀,成本相關欄位只讀、SSN 完全不可見,行級規則限定"只看本團隊"。執行時在所有入口統一執行——UI、API 和 AI 工具。

export const SupportPermissionSet = {
  name: 'support_agent',
  label: 'Support Agent',
  objects: {
    support_case: { allowRead: true, allowCreate: true, allowEdit: true, allowDelete: false },
    crm_account: { allowRead: true, allowCreate: false, allowEdit: false, allowDelete: false },
  },
  // Field-level security
  fields: {
    payout: { readable: true, editable: false },
    ssn: { readable: false, editable: false },
  },
  // Row-level security — CEL predicates enforced on every query
  rowLevelSecurity: [
    {
      name: 'case_own_team',
      label: 'Own Team Cases Only',
      object: 'support_case',
      operation: 'select' as const,
      using: 'team == current_user.team',
      roles: ['support'],
      enabled: true,
      priority: 10,
    },
  ],
};

訪問模型

把銷售組織的邊界一層層落下來

一個模型覆蓋全譜系——從大範圍的角色授權到單條共享記錄——例外不再演變成定製程式碼。

角色與許可權集

"銷售代表"是一個許可權集:客戶可讀可建、訂單可編輯、報價單不可刪。預設安全姿態——沒有定義明確允許之前,什麼都不可讀。

行級規則

"team == current_user.team" 一行表示式,代表就只看本團隊;換成沿組織層級向上,經理就看整個大區——過濾發生在查詢引擎內部,繞不過去。

欄位級安全

成本價對代表只讀、SSN 完全不可見——被脫敏的欄位在 UI、API、匯出和每一條 AI 回答裡都保持脫敏。

記錄共享

跨團隊協作一單大客戶?把這一條記錄共享給協作人,不用擴大整個角色——例外被記錄、可見、可撤銷。

租戶隔離

組織與工作區在執行時層保持隔離,多團隊、多客戶部署不會有任何意外共享。

許可權管理介面

矩陣裡勾出來,日誌裡查得到

Agent 寫的許可權定義,管理員在開源控制台裡開啟就是熟悉的矩陣——出了問題,審計檢視器一條條對得上。

許可權矩陣編輯器

Salesforce 式佈局:上半屏是物件級增刪改查與 View All/Modify All 勾選,點中某個物件,下半屏立即換成它的欄位級讀/寫矩陣。

看得見的分配

每個許可權集頁面直接列出"分配給了誰"——審閱許可權時不用去別處反查。

審計日誌檢視器

按動作、物件、操作者、時間篩選;點開任何一條,側抽屜展示完整事件與欄位的舊值 → 新值 diff——"這條折扣誰改的"三次點選有答案。

AI 呼叫並排可查

AI 工具呼叫和人的操作出現在同一份日誌裡,同樣的篩選、同樣的 diff——審查 AI 和審查人是同一種工作。

AI 同規

Agent 拿到的是你的許可權模型,不是服務賬號

失去 AI 控制最快的方式就是給它超級使用者許可權。ObjectOS 從不這麼做:每個 Agent 動作都以發起它的登入使用者身份執行。

使用者級執行

代表問 AI"我的客戶裡誰最可能續約",AI 看到的就是他那個團隊的客戶——成本價照樣脫敏,一分不多。

寫操作過審批

結構性變更與敏感動作在執行前排隊等人籤核,完整 diff 隨附。

一切被審計

記錄變更、許可權授予、會話吊銷、審批決定和 AI 工具呼叫,全部寫入不可變審計日誌。

決策面

改什麼、誰來審、跑什麼

審閱者會問AI 編寫執行時執行
誰能讀這個物件?後設資料中的角色與許可權集每次查詢、API 呼叫、工具呼叫都校驗
代表能看到哪些行?按所有者或團隊圈定的行級規則過濾在查詢引擎內部生效
AI 能看到成本價嗎?帶脫敏的欄位規則UI、API、匯出與 AI 回答全部脫敏
這個折扣誰改的?不用寫——審計是執行時自帶的審計檢視器裡舊值 → 新值一條條對

評審清單

安全評審應確認

  • 每個物件都有顯式的讀寫策略。
  • 行級規則對應組織層級本身,而不是它的副本。
  • 敏感欄位對所有消費方脫敏,包括 AI。
  • 結構性變更沒有審批記錄就無法上線。
  • 審計日誌覆蓋工具呼叫,而不只是記錄寫入。

FAQ

這一頁應該回答的問題

AI Agent 有自己的服務賬號嗎?

沒有。Agent 以登入使用者身份行動,繼承該使用者的物件、行級與欄位級許可權。不存在可被洩露或濫用的特權 AI 身份。

許可權矩陣和審計檢視器在開源版裡嗎?

在。許可權矩陣編輯器、審計日誌檢視器,連同角色、行級規則、欄位級安全、共享、租戶隔離與審計日誌本身,都是開源版的一部分,並同等適用於 MCP 工具訪問。

下一步

繼續完善你的評估材料。