55 lines
982 B
Markdown
55 lines
982 B
Markdown
# Environment & Security Spec
|
|
|
|
## 目標
|
|
|
|
定義 local / staging / production 的環境設定、token 策略與安全基線。
|
|
|
|
## 環境分層
|
|
|
|
### local
|
|
|
|
- 本機開發與 smoke 驗證
|
|
- 允許 local CORS
|
|
|
|
### staging
|
|
|
|
- 全鏈路驗證環境
|
|
- 使用獨立 token 與資料集
|
|
|
|
### production
|
|
|
|
- 正式流量
|
|
- 嚴格 CORS、權限與監控
|
|
|
|
## FastAPI 必備環境變數
|
|
|
|
- `APP_NAME`
|
|
- `APP_VERSION`
|
|
- `API_PREFIX`
|
|
- `DATABASE_URL`
|
|
- `DIRECTUS_BASE_URL`
|
|
- `DIRECTUS_ADMIN_TOKEN`
|
|
- `DIRECTUS_TIMEOUT`
|
|
- `CORS_ALLOWED_ORIGINS`
|
|
- `LOG_LEVEL`
|
|
|
|
## Directus Token 策略
|
|
|
|
- admin read 優先使用使用者 bearer token
|
|
- editor/system write 使用 service token
|
|
- runtime 不依賴商家登入 token
|
|
|
|
## 權限檢查基線
|
|
|
|
- 未登入 -> 401
|
|
- 已登入但無權限 -> 403
|
|
- 已登入且有權限 -> 200
|
|
|
|
## 上線前安全檢查
|
|
|
|
- secrets 正確注入且不落在 repo
|
|
- CORS 與 allowed origins 對齊實際域名
|
|
- API 審計與錯誤日誌可追蹤
|
|
- rollback 路徑可執行
|
|
|