整合 適用於雲端的 Defender CLI 與 CI/CD 管線
適用於雲端的 Defender 命令行介面 (CLI) 是一種應用程式,可用於持續整合和持續部署 (CI/CD) 管線。 它會執行靜態分析工具,並將程式代碼連線到雲端服務。 您可以在任何建置程式中使用 適用於雲端的 Defender CLI,透過內建安全性掃描器掃描映像是否有安全性弱點。 它會將掃描結果傳送至 適用於雲端的 Defender 入口網站。 Cloud Security Explorer 接著可以存取容器映射及其弱點。
必要條件
已上線 適用於雲端的 Defender的 Azure 訂用帳戶。 如果您尚未擁有 Azure 帳戶,請建立免費帳戶。
下列其中一個 CI/CD 管線工具:Jenkins、BitBucket Pipelines、Google Cloud Build、Bamboo、CircleCI、Travis CI、TeamCity、Oracle DevOps 服務、AWS CodeBuild
針對 Azure DevOps,Azure DevOps 組織上安裝的 Microsoft Security DevOps (MSDO) 延伸模組。
建立用戶端識別碼和秘密的安全性系統管理員許可權。
設定
在下列各節中,我們會說明如何擷取用戶端標識碼和秘密、更新 CI/CD 管線腳本,以及將環境變數新增至 CI/CD 管線。
擷取 API 令牌
若要允許將來自 適用於雲端的 Defender CLI 的安全性資料傳遞至 適用於雲端的 Defender 後端,適用於雲端的 Defender 中的安全性系統管理員必須先從 適用於雲端的 Defender 產生 API 金鑰以進行驗證。
產生令牌時,安全性系統管理員會選取要與令牌相關聯的訂用帳戶範圍。 從此令牌「推送」到 適用於雲端的 Defender 的數據會限定為令牌所關聯的訂用帳戶。 這些 API 令牌是不可變的,只能產生/刪除。
安全性系統管理員必須從該處安全地將令牌傳遞至要新增至 CI/CD 管線的開發人員。
登入 Azure 入口網站。
移至 [適用於雲端的 Microsoft Defender> 管理>環境設定>整合]。
選取 [新增整合 ],然後選取 [DevOps Ingestion]。
輸入令牌的描述性名稱,選取的租用戶會儲存令牌資訊。 當您輸入秘密的描述和到期日時,會產生客戶端密碼。
在組態中啟用令牌,並建立令牌。
複製每個令牌。 選取 [ 確定] 之後,就無法編輯或擷取它們/
在 [整合] 數據表中,會顯示新的 擷取 。
更新 CI/CD 管線腳本
每個 CI/CD 管線工具都有不同的語法。 此程式代碼是 Bitbucket 管線的範例:
image: atlassian/default-image:3
pipelines:
default:
- parallel:
- step:
name: 'MSDO trivy test'
script:
- curl -L -o ./msdo_linux.zip https://www.nuget.org/api/v2/package/Microsoft.Security.DevOps.Cli.linux-x64/
- unzip ./msdo_linux.zip
- chmod +x tools/guardian
- chmod +x tools/Microsoft.Guardian.Cli
- ls -lah .
- tools/guardian init --force
- tools/guardian run -t trivy --export-file ./ubuntu-test.sarif --publish-file-folder-path ./ubuntu-test.sarif
管線變數
在安全地接收令牌之後,開發人員必須設定金鑰的環境變數。 環境變數會透過開發人員可從 curl 接收的殼層腳本傳遞至 CLI,或手動將殼層腳本複製到其存放庫。
名稱 | 值 |
---|---|
GDN_PUSH_TOKEN_CLIENT_ID | <用戶端識別碼> |
GDN_PUSH_TOKEN_CLIENT_ID | <用戶端識別碼> |
GDN_PUSH_TOKEN_CLIENT_SECRET | <用戶端祕密> |
GDN_PIPELINENAME | bitbucket、jenkins、gcp、bamboo、circle、travis、teamcity、oci、aws |
GDN_PUSH_TOKEN_TENANT_ID | <租用戶標識碼> |
在 Cloud Security Explorer 中檢閱結果
成功執行管線之後,請再次流覽至 適用於雲端的 Microsoft Defender。
在 [適用於雲端的 Defender] 功能表中,選取 [雲端安全性總管]。
選取 [ 選取資源類型 ] 下拉式列表,選取 [DevOps],然後選取 [ 完成]。
+選取圖示以新增搜尋準則。
選擇 [ 選取條件 ] 下拉式清單。 然後選取 [ 數據],然後選取 [ 推送]。
選擇 [ 選取資源類型 ] 下拉式清單。 然後選取 [容器],然後選取 [容器映射],然後選取 [完成]。
選取在環境設定中建立整合期間選取的範圍。
選取 [搜尋]。
請參閱管線到影像對應的結果。
與受監視的容器相互關聯
在 Cloud Security Explorer 中,輸入下列查詢:CI/CD 管線 -管線 + 容器映射 ->>包含在容器緩存器 (group) 中。 +
檢閱 資源名稱 以查看容器對應。