應用程式環境變數
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_env、list_account_env 和
reveal_account_env。應用程式層級設定/刪除操作返回 env_version
和 redeploy_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 | 經審計的明文揭露一個帳戶金鑰 |
PUT | PUT | /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、測試中放置秘密 描述或斷言期望。
請參閱應用部署 以了解候選人晉升流程。