

# SEC11-BP07 定期評估管道的安全屬性
<a name="sec_appsec_regularly_assess_security_properties_of_pipelines"></a>

 採用 Well-Architected 安全原則保護您的流程，特別注意權限的區隔。定期評估管道基礎設施的安全屬性。有效管理管道*的*安全，就能讓您的軟體*通過*管道中重重的安全性考驗。 

**預期成果：**用於建置與部署軟體的管道應該遵循針對環境中任何其他工作負載所建議的相同實務。管道中所實作的測試不應由使用測試的建置人員進行編輯。這些管道應該只具備其預計部署所需要的權限，並且應實作保護措施，防止部署至錯誤的環境。管道不應只依賴長期憑證資訊，並且應設定成能夠發出狀態資訊，以驗證建置環境的完整性。

**常見的反模式：**
+  安全測試可能遭建置人員避開。 
+  部署管道的權限過於廣泛。 
+  管道未設定進行輸入驗證。 
+  未定期檢閱與 CI/CD 基礎設施相關的權限。 
+  使用長期有效或硬式編碼的登入資料。 

**建立此最佳實務的優勢：**
+  經由此類管道完成建置與部署的軟體完整性具備更高的可信度。 
+  可在發現可疑活動時停止部署作業。 

**未建立此最佳實務時的風險暴露等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 從支援 IAM 角色的受管 CI/CD 服務開始，可以減少登入資料外洩情況。套用這些安全支柱原則至您的 CI/CD 管道基礎設施，有助於您判斷哪些地方可以改善安全性。遵循 [AWS 部署管道參考架構](https://aws.amazon.com/blogs/aws/new_deployment_pipelines_reference_architecture_and_-reference_implementations/)是建置 CI/CD 環境的好起點。定期檢閱管道實作及分析意外行為日誌，有助於了解用於部署軟體之管道的用量模式。 

### 實作步驟
<a name="implementation-steps"></a>
+  從 [AWS 部署管道參考架構](https://aws.amazon.com/blogs/aws/new_deployment_pipelines_reference_architecture_and_-reference_implementations/)開始行動。 
+  考慮使用 [AWS IAM Access Analyzer](https://docs.aws.amazon.com//latest/UserGuide/what-is-access-analyzer.html)，以程式設計方式產生管道的最低權限 IAM原則。 
+  整合您的管道與監控與警示，以便您可在 AWS 受管服務 [Amazon EventBridge](https://aws.amazon.com/eventbridge/) 發生意外或異常活動時收到通知，這樣您就可以將資料路由至像是 [AWS Lambda](https://aws.amazon.com/lambda/) 或 [Amazon Simple Notification Service](https://aws.amazon.com/sns/) (Amazon SNS) 等目的地。 

## 資源
<a name="resources"></a>

 **相關文件：** 
+  [AWS 部署管道參考架構](https://aws.amazon.com/blogs/aws/new_deployment_pipelines_reference_architecture_and_-reference_implementations/) 
+  [監控 AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/monitoring.html) 
+  [AWS CodePipeline 安全最佳實務](https://docs.aws.amazon.com/codepipeline/latest/userguide/security-best-practices.html) 

 **相關範例：** 
+  [DevOps 監控儀表板](https://github.com/aws-solutions/aws-devops-monitoring-dashboard) (GitHub) 