Skip to Content
Testing應用程式環境變數

應用程式環境變數

OpenFactory 可以儲存應用程式範圍和帳戶範圍的環境值, 靜態加密它們,並在部署期間將它們渲染到候選應用程式虛擬機器中。 這是早期的文件支援的秘密存儲,而不是託管保管庫。

範圍和優先級

  • 帳戶值是該帳戶擁有的每個應用程式的可重複使用的預設值。
  • 應用程式值會覆寫同名的帳戶值。
  • 託管值由配置的生產者令牌寫入並記錄 擁有密鑰的生產者。
  • 更改後的值增加 env_version;成功的部署會記錄 應用版本。差異意味著需要重新部署。

名稱必須是大寫環境標識符,限制為 128 字符,且不能使用保留的 OPENFACTORY_ 前綴。使用者值為 限制為 8 KiB,應用程式限制為 100 個金鑰。

MCP 工作流程

列表操作始終屏蔽值。僅在必要時顯示一個值:

set_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", set={"API_BASE_URL": "https://api.example.internal"} ) list_app_env(app_id="550e8400-e29b-41d4-a716-446655440000") reveal_app_env( app_id="550e8400-e29b-41d4-a716-446655440000", name="API_BASE_URL" )

相同的模式可用作 set_account_envlist_account_envreveal_account_env。應用程式層級設定/刪除操作返回 env_versionredeploy_hint;設定值不會改變正在執行的虛擬機器。

靜止表面

方法路徑目的
GET/api/apps/{app_id}/env屏蔽的應用程式金鑰清單和版本狀態
PUT/api/apps/{app_id}/env應用程式金鑰的交易設定/刪除
POST/api/apps/{app_id}/env/reveal經審計的明文揭示一個應用程式金鑰
GET/api/account/env隱藏帳戶金鑰清單
PUT/api/account/env帳戶金鑰的交易設定/刪除
POST/api/account/env/reveal經審計的明文揭露一個帳戶金鑰
PUTPUT/api/apps/{app_id}/env/managed
DELETE/api/apps/{app_id}/env/managed/{name}生產者刪除其擁有的託管金鑰

使用者表面強制執行已解析的所有者上下文。託管端點使用 來自營運商配置的生產者令牌的 <kid>.<secret> 持有者憑證 文件;如果沒有該文件,生產者 API 將返回不可用。

部署行為

在部署期間,後端解密帳戶值、覆蓋應用程式值、添加 平台的運行時字段,並在VM中寫入/etc/openfactory/app.env 模式為 0600。該進程以該檔案作為其環境啟動。 如果解密、文件傳送或啟動失敗,則不會晉升候選人。

安全邊界

  • 儲存值使用 Fernet 加密。運營商必須提供並保護 OPENFACTORY_ENV_MASTER_KEY;失去或替換它會產生現有的價值 無法解密。
  • 清單回應被屏蔽。顯式揭示和突變附加 JSONL 審計事件。
  • 目前儲存和稽核追蹤是本機檔案。他們不提供 硬體支援的金鑰、多方批准、防篡改日誌記錄、自動 輪調或災難復原保證。
  • 應用程式和部署日誌尚未提供完整的秘密編輯 邊界。一個列印其環境、帶有憑證的 URL 的進程, 或者錯誤中的秘密可以在日誌和測試證據中暴露它。

因此,請勿將此預覽儲存用於生產憑證,直到 您的部署具有獨立的存取控制、備份和復原測試, 日誌編輯驗證、保留規則和記錄的金鑰輪換 程式.切勿在配方、原始碼、命令、URL、測試中放置秘密 描述或斷言期望。

請參閱應用部署 以了解候選人晉升流程。