第 4 部分:設定 CC 工具鏈

本教學將引導您了解如何使用工具鏈範本實現持續合規性 (CC),以確保您部署的工件及其來源儲存庫始終合規。

開始之前

確保滿足以下先決條件。 您可以重複使用在 CI 和持續部署 (CD) 工具鏈設定過程中建立的資源。 它有助於保留來自 CI 及 CD 工具鏈的資源資訊。

  1. 完全的 設定先決條件
  2. 完全的 設定 CI 工具鏈
  3. 完全的 設定 CD 工具鏈
  4. 請參閱,CC工具鏈實踐

啟動 CC 工具鏈設置

本教學使用暫存環境作為範例來配置和展示 CC 工具鏈。 請依照下列步驟存取 CC 工具鏈的範本。

  1. 在IBM Cloud控制台中,點選選單選單圖示>平台自動化>工具鏈
  2. 在「工具鏈」頁面中,按一下建立工具鏈
  3. 在建立工具鏈頁面中,按一下 CC - 讓您的應用程式持續符合DevSecOps實踐瓦。

設定 CC 工具鏈設置

  1. 按一下啟動

  2. 在工具鏈中為相同區域和資源群組輸入唯一的工具鏈名稱IBM Cloud。 工具鏈地區可能與叢集及登錄地區不同。

  3. 選取地區

  4. 選取資源群組

  5. 可選:您可以從下拉清單中選擇關聯的持續整合 (CI) 工具鏈。 這會複製一些 CI 配置以協助設定 CC 工具鏈。 這可能會覆蓋您已輸入的一些值。

  6. 按一下繼續

    只有噹噹前步驟的配置完成且有效後,才能進入下一步。 您可以隨時點擊後退查看引導安裝程式中的先前步驟。 工具鏈安裝程式保留後續步驟中的所有設定設定。

一些步驟包括切換到進階配置切換按鈕。 預設情況下,這些步驟為您提供最低配置。 但是,需要更細粒度控制的進階使用者可以點擊切換到進階配置切換以顯示底層整合的選項。

設定 CC 工具整合

檢查預設設定並在必要時提供使用者定義的配置以設定 CC 工具整合。

密碼

使用提供的開關指定要新增至工具鏈中的秘密保管庫整合。 有關更多信息,請參閱 管理IBM Cloud秘密

CI 工具鏈支援任意秘密IAM 憑證僅秘密類型。

  1. 本教學使用IBM Cloud® Secrets Manager作為秘密的金庫。 這地區,資源組,和服務名稱欄位會根據可用選項自動填入。 按一下下拉指示器可查看其他選項。
  2. 輸入您的 Secrets Manager實例名稱
  3. 選擇授權類型
  4. 按一下繼續

庫存

  1. 選擇 庫存 儲存庫的儲存庫 URL 來記錄 CI 工具鏈建置的工件的詳細資訊。
  2. 按一下繼續

目標

  1. 輸入您的 IBM Cloud API 金鑰
  2. 輸入庫存中的環境標籤掃描已部署的工件。
  3. 按一下繼續

問題

  1. 選擇儲存庫 URL,以便在 CC 管道執行時記錄問題。
  2. 按一下繼續

管線配置

管道配置儲存庫包含用於部署、測試和其他自訂任務的 YAML 檔案和腳本。

  1. 接受預設填充的設定來源提供者
  2. 選擇有效的來源儲存庫 URL。 使用為此欄位提供的預設儲存庫。
  3. 按一下繼續

證明儲存體

  1. 選擇使用現有的證物櫃儲存庫選項。
  2. 選擇您設定 CI 工具鏈時建立的 Repository URL。 有關證據存儲的更多信息,請參閱 證據
  3. 切換IBM Cloud Object Storage存儲桶中的所有證據IBM Cloud Object Storage桶。
  4. 按一下繼續

雲端 Object Storage 儲存區

  1. 驗證並接受自動預填的 IBM Cloud Object Storage 細節。
  2. 提供您的服務 API 金鑰以寫入Cloud Object Storage實例。
  3. 按一下繼續

DevOps Insights工具鏈

  1. 輸入您的DevOps Insights IBM Cloud API 金鑰。

  2. 接受預設配置。

    您可以從 CI 工具鏈中連結至現有的 IBM Cloud DevOps Insights 工具鏈實例,該實例對應於 DevOps Insights 工具鏈 ID。 例如,若 URL 為 https://cloud.ibm.com/devops/toolchains/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee?env_id=ibm:yp:us-south,則工具鏈的 ID 為 aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

  3. 按一下繼續

SonarQube

  1. 接受預設設定
  2. 按一下繼續

選用工具

Slack

您可以在建立工具鏈後新增 Slack 工具。

  1. 輸入您的 Slack webhook。 有關更多信息,請參閱 Slack webhook
  2. 輸入您的鬆弛通道發布訊息。
  3. 輸入鬆弛團隊名稱。 例如,如果您的團隊 URL https://team.slack.com,團隊名稱就是 team
  4. 選擇您想要接收通知的事件自動 Slack 通知
  5. 按一下繼續

或者,您可以使用以下命令切換發送通知 slack-notifications CD 管道中的環境屬性,使用 0 = off, and 1 = on

建立 CC 工具鏈

  1. 在「摘要」頁面上,按一下 建立工具鏈,然後等待建立工具鏈。

    可以在創建管道後配置各個工具鏈整合。

探索 CC 工具鏈

  1. 現在 CC 工具鏈已創建,點擊 CC-管道平鋪以打開並查看 CC 手動觸發, CC 定時觸發,和 子管道 Webhook 觸發器 管道。

更新應用程式 URL 以執行動態掃描

若要在目標環境執行動態掃描,您需要提供應用程式 URL 到 CC pipeline。 動態掃描運行一些本質上是侵入性的測試。 使用臨時環境運行動態掃描。 按照步驟從 ci-pipeline 取得應用程式 URL。

  1. CI工具鏈頁面,點擊 ci管道瓦。
  2. 點選跑步針對您的管道名稱。 觀察管道正在運作。 等待管道運行完成。
  3. 應用程式 URL 可在 CI 管道執行的 deploy-dev 任務的 run stage 步驟的日誌末尾找到。 使用 URL 來驗證應用程式是否正在執行。 例如,Application URL: http://<ipaddress>:<portno>

按照步驟,使用手動觸發將應用程式 URL 加入 CC 管道。 有關更新列表的更多信息,請參閱 在合規性檢查中執行的掃描和檢查

  1. CC工具鏈頁面,點擊 CC-管道瓦。
  2. 按一下設定 > 環境內容
  3. 按一下新增 > 文字值
  4. 新增屬性,輸入您的姓名作為 app-url
  5. 進入價值作為 http://<ipaddress>:<portno> 是從提取的 ci-pipeline
  6. 按一下新增。 現在您已準備好使用手動觸發器來運行 CC 管道。 將顯示已完成的 CC 管道,如螢幕截圖所示。

CC 管道成功
DevSecOps 持續合規性管道成功運行

如螢幕截圖所示,將顯示在 CC 管道期間觸發的已完成的非同步子管道運行。

非同步子管道成功
DevSecOps 持續合規性非同步子管道成功運行

發生事件問題

在 CC 管道執行期間,會建立漏洞、CVE 等事件問題並將其附加到收集的證據中。 如果在生產中發現這些具有截止日期的問題,則會在工具鏈設定中提到的問題儲存庫中建立。 如需相關資訊,請參閱 到期日的發生事件問題

DevSecOps範例事件問題
使用 CC 管道建立的 DevSecOps 範例事件問題

探索 DevOps Insights

在以下位置,上傳了合規性檢查的證據。

  • 證物櫃存放庫。
  • Object Storage桶。
  • DevOps Insights- 從工具鏈中點選 DevOps Insights
  • DevOps Insights品質儀表板 如螢幕截圖所示。

DevSecOps CC 證據
DevSecOps CC 證據

CI 與 CC 管線比較

您已經注意到 CI 和 CC 管道有共同的步驟。 執行的掃描和檢查本質和詳細資料類似。 有關更多信息,請參閱 CI 和 CC 管道的區別

下一步

您成功完成了設定 CI、CD 和 CC 工具鏈並使用以下命令部署安全應用程式的系列教學課程DevSecOps做法..

現在,您可以探索 開發和部署安全的基礎設施即程式碼(IaC) 透過使用DevSecOps 做法。