---
schema_version: "1"
id: 6f5ca7be51a2ba0fc0214ead84b369ddecf510218c7a4388e1eafb0c4e037e96
title: 安全開發生命週期 - 模式
collection: architect
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/architect/current/zh-tw/well-architected/guides/trust-secure-development-patterns.md
canonical_url: https://architect.salesforce.com/docs/architect/zh-tw/well-architected/guide/trust-secure-development-patterns.html
source_site: architect.salesforce.com
content_type: documentation
content_hash: cd054778a4923a36ee18d479ef7d5ce5937e097ef84448dbadcf411700206496
products:
  - 結構良好的架構
  - Architect Site Content Repo
---
# 安全開發生命週期 - 模式

深入瞭解 Well-Architected [Trust](/docs/architect/zh-tw/well-architected/guide/trust.html) → [Secure Development Lifecycle](/docs/architect/zh-tw/well-architected/guide/trust.html#secure-development-lifecycle)

必須整個開發生命週期整合安全性,從初始設計到部署和作業。這些模式可啟用排班左側安全性作法、解決常見漏洞,並保護您的部署管道安全。

## 排班左側安全性

**模式**

| 要尋找的位置 | 良好的外觀 |
| --- | --- |
| 開發 \| 工具                      | ✅ 整合至開發人員工作流程的 IDE 安全性掃描 |
| 開發 \| 設計                       | ✅ 使用 STRIDE 方法在設計階段期間完成威脅建模 |
| 開發 \| 需求                 | ✅ 使用者案例和接受條件中包含的安全性需求 |
| 開發 \| 來源控制               | ✅ 預先認可綁架強制執行安全性原則 (密碼掃描、程式碼分析) |
| 開發 \| 訓練                     | ✅ 開發人員安全性訓練會定期重新整理以反映不斷演進的威脅 |
| 開發 \| CI/CD                        | ✅ CI/CD 管道中的自動安全性測試無法根據重要發現結果建立 |
| 開發 \| 程式碼檢閱                  | ✅ 驗證、授權和資料存取代碼所需的安全性對等審查 |
| 開發 \| 程式碼分析                | ✅ 透過透鏡和靜態分析強制執行的安全編碼標準 |
| 開發 \| 相依性                 | ✅ 每個認可的相依性漏洞掃描執行 |
| 開發 \| 測試                      | ✅ 滲透測試範圍包含 GA 版本之前的新功能 |

**反模式**

| 要尋找的位置 | 看起來怎麼壞 |
| --- | --- |
| 開發 \| 測試                      | ⚡️ 安全性測試會在發行前延後手動檢閱 |
| 開發 \| 訓練                     | ⚡️ 僅在上線期間執行一次安全性訓練 |
| 開發 \| 程式碼檢閱                  | ⚡️ 合併後的安全性小組檢閱程式碼 |
| 開發 \| 設計                       | ⚡️ 結構變更時不會更新威脅模型 |
| 開發 \| 來源控制               | ⚡️ 已停用密碼掃描以減少假陽性 |
| 開發 \| CI/CD                        | ⚡️ 版本期限出現時忽略安全性發現 |

## 適用於 Salesforce 的 OWASP 前 10 大項目

**模式**

| 要尋找的位置 | 良好的外觀 |
| --- | --- |
| 注射                                   | ✅ SOQL 查詢使用繫結變數來防止插入 |
| 注射                                   | ✅ 使用者輸入在 SOQL、SOSL 或動態查詢中使用前經過驗證和消毒 |
| 注射                                   | ✅ 動態 SOQL 僅限於信任的輸入 |
| 存取控制                              | ✅ 使用 Security.stripInaccessible() 強制執行的 CRUD 和 FLS 權限 |
| XSS                                         | ✅ Lightning 元件在 UI 呈現中逸出使用者產生的內容 |
| 注射                                   | ✅ 外部 API 整合會驗證和精簡所有輸入 |
| 存取控制                              | ✅ 來賓使用者存取權已最小化且嚴格限制 |
| 驗證                              | ✅ 用於外部驗證的已命名認證 (非硬式編碼認證) |
| 驗證                              | ✅ 使用 PKCE 正確實作的 OAuth 2.0 流程 |
| 工作階段管理                          | ✅ 工作階段安全性原則強制執行逾時與 IP 限制 |
| 組態                               | ✅ 每季檢閱「安全健康檢查」並修復高風險發現 |
| 存取控制                              | ✅ 已稽核自訂中繼資料和權限以防止權限過多 |

**反模式**

| 要尋找的位置 | 看起來怎麼壞 |
| --- | --- |
| 注射                                   | ⚡️ 使用使用者輸入之字串串連建的 SOQL 查詢 |
| 存取控制                              | ⚡️ 已授與「建立」、「更新」或「刪除」權限的來賓使用者設定檔 |
| XSS                                         | ⚡️ Lightning 元件在範本中使用未逸出的運算式 |
| 驗證                              | ⚡️ 外部整合使用程式碼中的硬式編碼認證 |
| 記錄                                     | ⚡️除錯記錄包含敏感資料,例如密碼或 PII |
| 存取控制                              | ⚡️ 忽略 FLS 和 CRUD 檢查,因為「我們控制所有使用者」 |
| 組態                               | ⚡️ 安全性健康檢查發現結果已忽略或永久延後 |

## 安全銷售管道設計

**模式**

| 要尋找的位置 | 良好的外觀 |
| --- | --- |
| 銷售管道 \| 來源控制                  | ✅ 分行保護規則強制執行必要審查和狀態檢查 |
| 銷售管道 \| 存取控制                  | ✅ 部署管道使用具有最低必要權限的服務帳戶 |
| 銷售管道 \| 密碼                         | ✅ 儲存在安全儲存庫中的密碼 (永不儲存在來源控制或環境變數中) |
| 銷售管道 \| 部署                      | ✅ 生產部署需要由授權人員手動批准門 |
| 銷售管道 \| 稽核                        | ✅ 部署記錄會使用批准追蹤,從何時部署哪些項目 |
| 銷售管道 \| 驗證                      | ✅ 預先部署驗證包含安全性掃描和規範檢查 |
| 銷售管道 \| 存取控制                  | ✅ 管道管理存取所需的多因素驗證 |
| 銷售管道 \| 監視                      | ✅ 銷售管道組態變更會觸發安全性小組通知 |
| 銷售管道 \| 驗證                      | ✅ 自動部署後驗證確認預期的安全性控制已啟用 |
| 銷售管道 \| 相依性                    | ✅ 部署前評估的安全性影響相依性更新 |

**反模式**

| 要尋找的位置 | 看起來怎麼壞 |
| --- | --- |
| 銷售管道 \| 密碼                         | ⚡️ 認可至版本控制的密碼 (即使之後已移除) |
| 銷售管道 \| 來源控制                  | ⚡️ 任何人皆可合併至主要/生產分支,而無須檢閱 |
| 銷售管道 \| 存取控制                  | ⚡️ 使用管理員層級權限執行部署管道 |
| 銷售管道 \| 部署                      | ⚡️ 完全自動化的生產部署,沒有批准門 |
| 銷售管道 \| 稽核                        | ⚡️ 部署記錄不會儲存起始或批准變更的人員 |
| 銷售管道 \| 驗證                      | ⚡️ 忽略或略過失敗的安全性掃描以符合期限 |
| 銷售管道 \| 監視                      | ⚡️ 未追蹤或檢閱的銷售管道組態變更 |
| 銷售管道 \| 驗證                      | ⚡️ 部署後驗證只會檢查功能正確性 |

## 安全性測試策略

**模式**

| 要尋找的位置 | 良好的外觀 |
| --- | --- |
| 測試 \| 靜態分析                  | ✅ Salesforce Code Analyzer 會在開發人員識別碼中執行以取得立即回饋意見,並在 CI/CD 銷售管道中作為自動化門 |
| 測試 \| 滲透測試              | ✅ 針對公開給不受信任使用者 (尤其是 Experience Cloud 網站和公開 API) 的自訂應用程式執行的滲透測試 |
| 測試 \| 單元測試                       | ✅ 以不同權限設定檔的使用者身分執行以安全性為中心的 Apex 單元測試 |
| 測試 \| 相依性                     | ✅ 相依性掃描會監視 AgentExchange 封裝和 JavaScript 程式庫的已知漏洞 |
| 測試 \| 安全性檢閱                  | ✅ 為每個 AppExchange 或 AgentExchange 安全性檢閱提交準備靜態分析報告 |
| 測試 \| 安全性檢閱                  | ✅ 當解決方案整合第三方 Web 應用程式或服務時準備的動態掃描 (滲透測試) 報告 |
| 測試 \| 相依性                     | ✅ 訂閱及監視之已安裝封裝的安全性通知 |

**反模式**

| 要尋找的位置 | 看起來怎麼壞 |
| --- | --- |
| 測試 \| 涵蓋範圍                         | ⚡️ 安全性測試依賴單一技術,例如僅靜態分析 |
| 測試 \| 單元測試                       | ⚡️ Apex 測試會驗證功能行為,但永不以權限較低的使用者身分執行 |
| 測試 \| 安全性檢閱                  | ⚡️ 未準備必要靜態分析或動態掃描報告的 AppExchange 或 AgentExchange 提交 |
| 測試 \| 滲透測試              | ⚡️ 已針對公用 Experience Cloud 網站和 API 略過滲透測試 |

## 相關模式

另請參閱:
- [規範與法規模式](https://architect.salesforce.com/docs/architect/zh-tw/well-architected/guide/trust-compliance-patterns.md) — 平台管理與稽核控制
- [身分與存取管理模式](https://architect.salesforce.com/docs/architect/zh-tw/well-architected/guide/trust-identity-access-patterns.md) — 驗證與授權
- [事件回應模式](https://architect.salesforce.com/docs/architect/zh-tw/well-architected/guide/trust-incident-response-patterns.md) — 安全性事件偵測和回應
- [工作人員模式](https://architect.salesforce.com/docs/architect/zh-tw/well-architected/guide/trust-agentic-patterns.md) — 工作人員特定的安全性控制
