# 能力與權限

Source: https://openflow.run/zh-tw/docs/design/permissions/
Language: zh-TW
Product version: 0.1.0-beta.77

為工作流程設定任務所需的帳號、工具和執行階段能力。

工作流程定義宣告它準備使用哪些能力。接收和執行任務時，部署端仍會檢查目前操作者的身分、工作流程歸屬、所選帳號和有效授權。

## 帳號連線

外部憑證由 Connector 管理。節點選擇一個帳號連線（Connection），不把存取權杖直接寫進修訂版本。同一服務的兩個帳號擁有各自獨立的權限；一個帳號呼叫失敗，不意味著可以改用另一個帳號。

工作流程共用的存取設定與執行圖分開儲存。發布紀錄和執行會固定所需的授權身分及快照，但上游撤銷授權後，後續呼叫仍可能被拒絕。

## Agent 工具

Agent 只能呼叫明確宣告的工具。工具宣告指定應用操作或工作流程、使用的帳號、固定參數、由模型填寫的參數，以及審核策略。模型無法透過提示詞擴大這些權限。

具體設定見 [Agent 節點](https://openflow.run/zh-tw/docs/nodes/agent/index.md)和[應用操作節點](https://openflow.run/zh-tw/docs/nodes/connector/index.md)。

## 程式碼能力

程式碼在隔離環境中執行。內建模組不會授予存取主機系統檔案、憑證或任意網路地址的能力。外部應用操作、工作流程呼叫和 HTTP 主機，必須透過支援的能力介面宣告。

## 變數與敏感資料

變數是帳號名下的設定，可以避免把值直接寫入工作流程定義。不過，使用者程式碼仍然可以回傳、紀錄或傳送讀取到的值。變數不是一種「可使用但不可匯出」的秘密保護機制。

只向任務傳入必要的資料和權限。工作流程處理敏感值時，也要檢查輸出和日誌中會留下什麼。

## 資料來源

*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#4-identity-and-capability-boundaries)
*   [docs/control/flow-authorization.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/flow-authorization.md)
