

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在聊天應用程式自訂動作和 中使用 Amazon Q Developer 部署 ChatOps 解決方案來管理 SAST 掃描結果 CloudFormation
<a name="deploy-chatops-solution-to-manage-sast-scan-results"></a>

*Anand Bukkapatnam Tirumala，Amazon Web Services*

## 總結
<a name="deploy-chatops-solution-to-manage-sast-scan-results-summary"></a>

此模式提供全方位的解決方案，可在聊天應用程式中使用 Amazon Q Developer，以簡化透過 SonarQube 回報的靜態應用程式安全測試 (SAST) 掃描失敗的管理。這種創新方法將自訂動作和通知整合到對話界面中，從而在開發團隊中實現高效的協作和決策過程。

在現今步調快速的軟體開發環境中，有效管理 SAST 掃描結果對於維護程式碼品質和安全性至關重要。不過，許多組織都面臨下列重大挑戰：
+ 由於通知系統效率低下，導致對關鍵漏洞的延遲意識
+ 中斷連線核准工作流程所造成的決策程序緩慢
+ 缺乏對 SAST 掃描失敗的立即、可行回應
+ 有關安全調查結果的分段通訊和協作
+ 安全工具的耗時且容易出錯的手動基礎設施設定

這些問題通常會導致提高安全風險、延遲發佈和降低團隊生產力。為了有效地解決這些挑戰，需要一個解決方案，可以簡化 SAST 結果管理、增強團隊協作，以及自動化基礎設施佈建。

解決方案的主要功能包括：
+ **自訂通知** – 即時提醒和通知會直接交付至團隊聊天管道，以確保對 SAST 掃描漏洞或故障的及時意識和動作。
+ **對話式核准** – 利益相關者可以在聊天界面中順暢地啟動和完成 SAST 掃描結果的核准工作流程，從而加速決策程序。
+ **自訂動作** – 團隊可以根據 SAST 掃描結果定義和執行自訂動作，例如針對品質閘道故障自動觸發電子郵件訊息、增強對安全問題的回應能力。
+ **集中式協作** – 所有與 SAST 掃描相關的討論、決策和動作都保存在統一的聊天環境中，促進團隊成員之間的協作和知識分享獲得改善。
+ **基礎設施即程式碼 (IaC)** – 整個解決方案都使用 AWS CloudFormation 範本包裝，可更快速、更可靠的基礎設施佈建，同時減少手動設定錯誤。

## 先決條件和限制
<a name="deploy-chatops-solution-to-manage-sast-scan-results-prereqs"></a>

**先決條件**
+ 作用中 AWS 帳戶。
+ 具有許可的 AWS Identity and Access Management (IAM) 角色，可建立和管理與[工具](#deploy-chatops-solution-to-manage-sast-scan-results-tools)中 AWS 服務 列出的 相關聯的資源。
+ Slack 工作區。
+ 聊天應用程式中的 Amazon Q Developer 已新增至必要的 Slack 工作區做為外掛程式。如需詳細資訊，請參閱 [Slack 文件中的將應用程式新增至 Slack 工作區](https://slack.com/intl/en-in/help/articles/202035138-Add-apps-to-your-Slack-workspace)。註冊成功 AWS 管理主控台 後，請記下 Slack 工作區 ID，如 所示。
+ 聊天應用程式用戶端中設定的 Amazon Q Developer，工作區 ID 隨時可供 CloudFormation 主控台輸入。如需說明，請參閱*聊天應用程式管理員指南中的設定 Amazon Q 開發人員中的* [Slack 用戶端](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup)。
+ 在 Amazon Simple Email Service (Amazon SES中建立和驗證的來源電子郵件帳戶，用於傳送核准電子郵件訊息。如需設定說明，請參閱《*Amazon Simple Email Service 開發人員指南*》中的[建立和驗證電子郵件身分](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#verify-email-addresses-procedure)。
+ 用於接收核准通知的目的地電子郵件地址。此地址可以是共用的收件匣或特定的團隊分發清單。
+ 可從 存取的操作型 SonarQube 執行個體 AWS 帳戶。如需詳細資訊，請參閱 [SonarQube 安裝說明](https://docs.sonarsource.com/sonarqube/latest/setup-and-upgrade/install-the-server/introduction/)。
+ SonarQube[user 權杖](https://docs.sonarsource.com/sonarqube-server/latest/user-guide/managing-tokens/)，具有透過管道觸發和建立專案的許可。

**限制**
+ 建立自訂動作按鈕是此解決方案中的手動程序。
+ 有些 AWS 服務 不適用於所有 AWS 區域。如需區域可用性，請參閱[AWS 服務 依區域](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。如需特定端點，請參閱[服務端點和配額](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)，然後選擇服務的連結。

## Architecture
<a name="deploy-chatops-solution-to-manage-sast-scan-results-architecture"></a>

下圖顯示此模式的工作流程和架構元件。

![使用 Amazon Q Developer 部署自動程式碼品質保證以進行發行管理的工作流程。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/198312ed-e379-49a7-b706-8e79e2142f21/images/a977924c-957e-4f91-99d6-ed790e343ea6.png)


圖表顯示自動化程式碼品質保證工作流程：

1. 程式碼準備和上傳：
   + 開發人員會將程式碼庫壓縮為 .zip 檔案。
   + 開發人員手動將 .zip 檔案上傳至指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

1. Amazon S3 事件觸發和 AWS Step Functions 協調：
   + Amazon S3 上傳事件會觸發 Step Functions 工作流程。
   + Step Functions 使用 SonarQube 協調 SAST 掃描。
   + 工作流程會監控 AWS CodeBuild 任務狀態，以判斷下一個動作。如果 CodeBuild 成功 （品質閘道傳遞），工作流程會終止。如果 CodeBuild 失敗，則會叫用 AWS Lambda 函數進行診斷。如需詳細資訊，請參閱本節稍後的**AWS Step Functions 邏輯**。

1. AWS CodeBuild 執行：
   + CodeBuild 任務會在上傳的程式碼庫上執行 SonarQube 掃描。
   + 掃描成品存放在單獨的 Amazon S3 儲存貯體中，以進行稽核和分析。

1. 失敗分析 (Lambda 函數）：
   + 在 CodeBuild 失敗時，會觸發 `CheckBuildStatus` Lambda 函數。
   + 在 CodeBuild 成功時，程序會終止，而且不需要進一步的動作。

1. Lambda 函數會分析故障原因 （品質閘道故障或其他問題）
   + `CheckBuildStatus` 函數會建立自訂承載，其中包含詳細的失敗資訊。
   + `CheckBuildStatus` 函數會將自訂承載發佈至 Amazon Simple Notification Service (Amazon SNS) 主題。

1. 通知系統：
   + Amazon SNS 會將承載轉送至聊天應用程式中的 Amazon Q Developer，以進行 Slack 整合。

1. Slack 整合：
   + 聊天應用程式中的 Amazon Q Developer 會在指定的 Slack 頻道中張貼通知。

1. 核准程序：
   + 核准者會檢閱 Slack 通知中的失敗詳細資訊。
   + 核准者可以使用 Slack 中的核准按鈕啟動**核准**。

1. 核准處理常式：
   + 核准 Lambda 函數會從 Slack 處理核准動作。
   + 核准函數會將自訂訊息發佈至 Amazon SES。

1. 產生的訊息：
   + 核准函數會產生開發人員通知的自訂訊息。

1. 開發人員通知：
   + Amazon SES 會傳送電子郵件訊息給開發人員，其中包含後續步驟或必要動作。

此工作流程結合了手動程式碼上傳與自動品質檢查，透過 Slack 提供立即意見回饋，並在必要時允許人工介入，確保強大且靈活的程式碼檢閱程序。

**AWS Step Functions 邏輯**

如先前的架構圖所示，如果 SonarQube 上的品質閘道傳遞失敗，工作流程會前往 `CheckBuildStatus` Lambda 函數。`CheckBuildStatus` 函數會在 Slack 頻道上觸發通知。每個通知都包含建議後續步驟的資訊。以下是通知的類型：
+ **應用程式在程式碼安全性掃描中失敗** – 當上傳的程式碼未通過 SonarQube 安全性掃描時，使用者會收到此通知。使用者可以選擇**核准**以接受建置。不過，通知會建議使用者注意潛在的不良程式碼品質和安全性風險。通知包含下列詳細資訊：
  + 後續步驟：錯誤：品質閘道狀態：失敗 – 在提供的 URL 中檢視詳細資訊。
  + 在提供的 URL 中對文件中提到的漏洞進行分類。
  + CodeBuild 詳細資訊可在所提供 URL 的位置取得。
+ **應用程式掃描管道因其他原因失敗** – 當管道因程式碼安全性掃描失敗以外的某些原因失敗時，使用者會收到此通知。通知包含下列詳細資訊：
  + 如需後續步驟，請前往提供的連結進行進一步故障診斷。

若要查看通知出現在 Slack 頻道中的螢幕擷取畫面，請前往 GitHub chatops-slack 儲存庫中的[資產資料夾](https://github.com/aws-samples/chatops-slack/tree/main/assets)。

下圖顯示品質閘道通過失敗後 Step Functions 步驟狀態的範例。

![品質閘道通過失敗後 AWS Step Functions 步驟狀態的工作流程。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/198312ed-e379-49a7-b706-8e79e2142f21/images/40b7ebf0-2518-4413-9717-0bfb7559adde.png)


## 工具
<a name="deploy-chatops-solution-to-manage-sast-scan-results-tools"></a>

**AWS 服務**
+ [聊天應用程式中的 Amazon Q Developer](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html) 可讓您使用 Amazon Chime、Microsoft Teams 和 Slack 聊天頻道來監控和回應 AWS 應用程式中的操作事件。*終止支援通知：*在 2026 年 2 月 20 日， AWS 將終止對 Amazon Chime 服務的支援。2026 年 2 月 20 日之後，您將無法再存取 Amazon Chime 主控台或 Amazon Chime 應用程式資源。如需詳細資訊，請造訪[部落格文章](https://aws.amazon.com/blogs/messaging-and-targeting/update-on-support-for-amazon-chime/)。這不會影響 [Amazon Chime SDK 服務的](https://aws.amazon.com/chime/chime-sdk/)可用性。
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 可協助您設定 AWS 資源、快速且一致地佈建資源，以及在整個 AWS 帳戶 和 生命週期中管理資源 AWS 區域。
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 是一種全受管建置服務，可協助您編譯原始程式碼、執行單元測試，並產生準備好部署的成品。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 透過控制已驗證並獲授權使用的人員，協助您安全地管理對 AWS 資源的存取。
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 可協助您建立和控制密碼編譯金鑰，以協助保護您的資料。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 是一項運算服務，可協助您執行程式碼，無需佈建或管理伺服器。它只會在需要時執行程式碼並自動擴展，因此您只需支付使用的運算時間。
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 可協助您將程式碼中的硬式編碼憑證 (包括密碼) 取代為 Secrets Manager 的 API 呼叫，以便透過程式設計方法來擷取機密。
+ [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html) 可協助您使用自己的電子郵件地址和網域來傳送和接收電子郵件訊息。
+ [Amazon Simple Notification Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 可協助您協調和管理發佈者和用戶端之間的訊息交換，包括 Web 伺服器和電子郵件地址。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 是一種雲端型物件儲存服務，可協助您儲存、保護和擷取任何數量的資料。
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 是一種無伺服器協同運作服務，可協助您結合 AWS Lambda 函數和其他 AWS 服務 來建置業務關鍵型應用程式。

**其他工具**
+ [Slack](https://slack.com/help/articles/115004071768-What-is-Slack-) 是 Salesforce 產品，是一種採用 AI 技術的對話平台，可提供聊天和視訊協作、自動化沒有程式碼的程序，並支援資訊共用。
+ [SonarQube](https://docs.sonarsource.com/sonarqube/latest/user-guide/user-account/generating-and-using-tokens/) 是一種內部部署分析工具，旨在偵測超過 30 種語言、架構和 IaC 平台的編碼問題。

**程式碼儲存庫**

此模式的程式碼可在 GitHub [chatops-slack](https://github.com/aws-samples/chatops-slack) 儲存庫中使用。

## 最佳實務
<a name="deploy-chatops-solution-to-manage-sast-scan-results-best-practices"></a>
+ **CloudFormation 堆疊管理** – 如果您在 CloudFormation 堆疊執行期間遇到任何失敗，建議您刪除失敗的堆疊。然後，使用正確的參數值重新建立它。此方法支援乾淨的部署，並有助於避免潛在的衝突或部分實作。
+ **共用收件匣電子郵件組態** – 當您設定 `SharedInboxEmail` 參數時，請使用可供所有相關開發人員存取的通用分發清單。此方法可提高透明度，並協助重要通知聯絡相關團隊成員。
+ **生產核准工作流程** – 對於生產環境，限制對用於建置核准的 Slack 頻道的存取。只有指定的核准者才能成為此頻道的成員。此實務維持明確的責任鏈，並透過限制誰可以核准關鍵變更來增強安全性。
+ **IAM 許可** – 遵循最低權限原則，並授予執行任務所需的最低許可。如需詳細資訊，請參閱 IAM 文件中的[授予最低權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv)和[安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html)。

## 史詩
<a name="deploy-chatops-solution-to-manage-sast-scan-results-epics"></a>

### 執行初始設定
<a name="perform-initial-setup"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 複製儲存庫。 | 若要複製此模式的 [chatops-slack](https://github.com/aws-samples/chatops-slack) 儲存庫，請使用下列命令。<br />`git clone "git@github.com:aws-samples/chatops-slack.git"` | AWS DevOps、建置主管、DevOps 工程師、雲端管理員 | 
| 建立包含 Lambda 程式碼的 .zip 檔案。 | 為 `CheckBuildStatus`和 AWS Lambda 功能的函數程式碼建立 .zip 檔案`ApprovalEmail`。若要建立 `notification.zip`和 `approval.zip`，請使用下列命令。<pre>cd chatops-slack/src</pre><pre>chmod -R 775 *</pre><pre>zip -r approval.zip approval</pre><pre>zip -r notification.zip notification</pre> | AWS DevOps、建置主管、DevOps 工程師、雲端管理員 | 

### 部署 pre-requisite.yml 堆疊檔案
<a name="deploy-the-pre-requisite-yml-stack-file"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 執行`pre-requisite.yml`堆疊檔案。 | `pre-requisite.yml` CloudFormation 堆疊檔案會部署執行`app-security.yml`堆疊檔案之前所需的初始資源。若要執行`pre-requisite.yml`檔案，請執行下列動作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/deploy-chatops-solution-to-manage-sast-scan-results.html) | AWS 管理員、AWS DevOps、建置主管、DevOps 工程師 | 
| 將 .zip 檔案上傳至 Amazon S3 儲存貯體。 | 將您先前建立的 `notification.zip`和 `approval.zip` 檔案上傳至名為 的 Amazon S3 儲存貯體`S3LambdaBucket`。`app-security.yml` CloudFormation 堆疊檔案使用 `S3LambdaBucket` 來佈建 Lambda 函數。 | AWS DevOps、建置主管、DevOps 工程師、AWS 系統管理員 | 

### 執行 app-security.yml 堆疊檔案
<a name="execute-the-app-security-yml-stack-file"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 執行`app-security.yml`堆疊檔案。 | `app-security.yml` 堆疊檔案會部署通知和核准系統的剩餘基礎設施。若要執行 `app-security.yml` 檔案，請執行下列動作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/deploy-chatops-solution-to-manage-sast-scan-results.html) | AWS DevOps、AWS 系統管理員、DevOps 工程師、建置主管 | 
| 測試通知設定。 | 若要測試通知設定，請執行下列動作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/deploy-chatops-solution-to-manage-sast-scan-results.html)<br />成功傳遞測試訊息後，您應該會在 Slack 頻道上看到通知。如需詳細資訊，請參閱《聊天應用程式管理員指南》中的從 [AWS 服務 到 Slack 的測試通知](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#test-notifications-slack)。 ** | AWS DevOps、AWS 系統管理員、DevOps 工程師、建置主管 | 

### 設定核准流程
<a name="set-up-approval-flow"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定自訂 Lambda 動作。 | 若要設定自訂 AWS Lambda 動作，請執行下列動作：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/deploy-chatops-solution-to-manage-sast-scan-results.html) | AWS 管理員、AWS DevOps、建置主管、DevOps 工程師、Slack Admin | 
| 驗證核准流程。 | 若要驗證核准流程是否如預期運作，請選擇 Slack 中的**核准**按鈕。<br />Slackbot 應在訊息執行緒上傳送通知，並**成功傳送確認字串核准電子郵件**。 | AWS 管理員、AWS DevOps、DevOps 工程師、Slack Admin | 

## 疑難排解
<a name="deploy-chatops-solution-to-manage-sast-scan-results-troubleshooting"></a>


| 問題 | 解決方案 | 
| --- | --- | 
| Slack 設定錯誤 | 如需 Slack 設定錯誤相關問題的疑難排解資訊，請參閱*聊天應用程式管理員指南中的 Amazon Q 開發人員疑難排解 Amazon Q 開發人員*。 | 
| 由於其他原因，掃描失敗 | 此錯誤表示程式碼建置任務失敗。若要對問題進行疑難排解，請前往訊息中的連結。程式碼建置任務的失敗可能原因如下：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/deploy-chatops-solution-to-manage-sast-scan-results.html) | 

## 相關資源
<a name="deploy-chatops-solution-to-manage-sast-scan-results-resources"></a>

**AWS 文件**
+ [設定 Slack 用戶端](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html#slack-client-setup)
+ [建立自訂動作](https://docs.aws.amazon.com/chatbot/latest/adminguide/custom-actions.html#creating-custom-actions)
+ [建立電子郵件地址身分](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#verify-email-addresses-procedure)[程序](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#verify-email-addresses-procedure)
+ [教學課程：開始使用 Slack](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html)

**其他資源**
+ [將應用程式新增至 Slack 工作區](https://slack.com/intl/en-in/help/articles/202035138-Add-apps-to-your-Slack-workspace) (Slack 文件）
+ [產生和使用字符 ](https://docs.sonarsource.com/sonarqube/latest/user-guide/user-account/generating-and-using-tokens/)(SonarQube 文件）
+ [伺服器安裝簡介 ](https://docs.sonarsource.com/sonarqube/latest/setup-and-upgrade/install-the-server/introduction/)(SonarQube 文件）

## 其他資訊
<a name="deploy-chatops-solution-to-manage-sast-scan-results-additional"></a>

此解決方案強調聊天應用程式中的 Amazon Q Developer 用於版本管理的自訂動作。不過，您可以修改特定使用案例的 Lambda 程式碼，並在其上建置，以重複使用解決方案。

**CloudFormation 堆疊檔案的參數**

下表顯示 CloudFormation 堆疊檔案 的參數及其描述`pre-requisite.yml`。


| 
| 
| **索引鍵** | **Description** | 
| --- |--- |
| `StackName` | CloudFormation 堆疊的名稱。 | 
| `S3LambdaBucket` | 您上傳 Lambda 程式碼的 Amazon S3 儲存貯體名稱。名稱必須是全域唯一的。 | 
| `SonarToken` | SonarQube 使用者字符，如[先決條件](#deploy-chatops-solution-to-manage-sast-scan-results-prereqs)中所述。 | 

下表顯示 CloudFormation 堆疊檔案 的參數及其描述`app-security.yml`。


| 
| 
| **索引鍵** | **Description** | 
| --- |--- |
| `CKMSKeyArn` | 在此堆疊中建立的 AWS KMS key IAM 角色和 Lambda 函數中使用的 Amazon Resource Name (ARN)。 | 
| `CKMSKeyId` | 在此堆疊中建立的 Amazon SNS 主題中使用的 AWS KMS key ID。 | 
| `EnvironmentType` | 用於部署應用程式掃描管道的用戶端環境名稱。從允許的值下拉式清單中選取環境名稱。 | 
| `S3LambdaBucket` | 包含 `approval.zip`和 `notification.zip` 檔案的 Amazon S3 儲存貯體名稱。 | 
| `SESEmail` | Amazon SES 中已註冊電子郵件身分的名稱，如[先決條件](#deploy-chatops-solution-to-manage-sast-scan-results-prereqs)中所述。此身分是來源電子郵件地址。 | 
| `SharedInboxMail` | 傳送掃描通知的目標電子郵件地址。 | 
| `SlackChannelId` | 您要傳送通知之 Slack 頻道的頻道 ID。若要尋找頻道 ID，請在 Slack 應用程式的頻道**詳細資訊中以滑鼠右鍵按一下頻道**名稱。頻道 ID 位於底部。 | 
| `SlackWorkspaceId` | Slack 工作區 ID，如[先決條件](#deploy-chatops-solution-to-manage-sast-scan-results-prereqs)中所述。若要尋找 Slack 工作區 ID，請登入 AWS 管理主控台，在聊天應用程式主控台中開啟 Amazon Q Developer，然後選擇**已設定的用戶端**、**Slack**、**WorkspaceID**。 | 
| `StackName` | CloudFormation 堆疊的名稱。 | 
| `SonarFileDirectory` | 包含 `sonar.project.<env>.properties` 檔案的目錄。 | 
| `SonarFileName` | `sonar.project.<env>properties` 檔案名稱。 | 
| `SourceCodeZip` | 包含 檔案和原始程式碼的 .zip `sonar.project.<env>properties` 檔案名稱。 | 