跳至主要内容

存取控制

Powerduck 把讀者如何存取文件與用戶端如何存取 MCP 端點分開,因為兩者的消費方式不同。它還配置 MCP 伺服器如何向上游 API 認證。

各關卡(按順序)​

若干條件決定一個公開面是否打開。知道完整清單能回答那個常見問題:「為什麼我打不開我的文件?」

  1. 文件狀態——文件必須為 ACTIVE(未暫停、歸檔或刪除);
  2. 形態已啟用——文件用 documentationEnabled,MCP 用 mcpEnabled;
  3. 存取憑據——配置後,文件用檢視密碼,MCP 用存取密鑰;
  4. 有效期——文件檢視可設定在指定時間過期。

形態背後的已發布產物在你新增版本或變更暴露後自動建構,因此發布通常不是手動步驟。

每個形態相互獨立:停用 MCP 不影響文件,文件密碼也不為 MCP 把關。

文件檢視密碼​

檢視密碼保護渲染文件和所提供的規範資料:

  • 密碼用 scrypt 配合每個密碼隨機的鹽進行雜湊;不儲存明文;
  • 設定密碼後,讀者必須先提供它,文件才會被提供;
  • 密碼只為文件把關;MCP 端點使用自己的存取密鑰並跳過檢視密碼。

你還可以設定檢視有效期。過期之後,即使密碼正確也會拒絕存取。清除密碼或有效期即可移除限制。

MCP 端點存取密鑰​

MCP 端點用自己的存取密鑰保護:

  • 產生(或輪換)密鑰;完整密鑰僅回傳一次,之後只顯示最後四個字元;
  • 配置密鑰後,每個 MCP 請求必須以 Bearer 權杖呈現它;
  • 提供的密鑰以恆定時間比較,缺失或錯誤的密鑰回傳 401。

刪除密鑰可讓 MCP 端點開放(前提是文件活動且 MCP 啟用)。

MCP 上游認證​

除了為端點把關之外,還可以配置 MCP 伺服器如何向規範所描述的上游 API 認證。支援的認證類型為:

authType配置
NONE無上游認證
BEARER一個 Bearer 權杖
BASIC基本認證的使用者名稱和密碼
APIKEYAPI 密鑰名稱(請求頭/查詢)和值

Bearer 權杖、基本認證密碼和 API 密鑰值等機密可以寫入但從不會被讀回;配置只報告它們是否已設定。

其他 MCP 配置包括:

  • 基礎 URL 覆蓋——覆蓋上游基礎 URL,而不是從規範取得;
  • 請求逾時——MCP 伺服器呼叫上游 API 時使用的逾時。

推薦設定​

  • 公開文件: 啟用文件,開放 API 可不開密碼,或為受控分享設定密碼和有效期;
  • 給自己代理用的 MCP: 啟用 MCP 並產生存取密鑰,讓只有你的用戶端能呼叫;
  • 上游認證: 讓 MCP 伺服器的認證匹配真實 API 的要求,獨立於誰可以呼叫 MCP 端點。

相關:暴露操作、文件與版本、自訂網域。