本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 AWS 安全代理程式連線至 GitLab 儲存庫
將您的 AWS Security Agent 連線至 GitLab Cloud 儲存庫,以啟用程式碼檢閱、威脅建模、滲透測試和自動化修復功能。開始之前,請檢閱 整合如何與 Agent Spaces 搭配使用 以了解如何在 Agent Spaces 之間重複使用註冊並跨 功能共用。
GitLab 整合提供多種用途:
-
程式碼檢閱 - 根據您的組織安全需求自動分析每個合併請求中的程式碼變更,並執行隨需完整儲存庫掃描
-
威脅建模 - 透過分析原始碼、資料流程和架構來提供應用程式理解
-
滲透測試內容 - 透過分析原始程式碼,為滲透測試提供應用程式理解
-
自動化修復 - 提交合併請求,並修正安全性評估期間發現的漏洞
將 GitLab 連線至 AWS Security Agent 需要提供具有適當許可的 GitLab 存取權杖,然後在 AWS 主控台中註冊連線。
GitLab 整合的運作方式
合併請求分析會在 GitLab 內進行。在您提供存取權杖、連接專案並在 AWS 管理主控台中啟用程式碼檢閱註解後,AWS Security Agent 會自動掃描每個新合併請求中的變更 (僅對變更的程式碼進行差異掃描),並將調查結果發佈為合併請求註解。
您可以在 AWS Security Agent Web 應用程式中建立並執行完整的程式碼檢閱,也就是掃描專案的整個程式碼庫,而不是在 GitLab 中。
滲透測試和威脅建模會在 AWS Security Agent Web 應用程式內啟動。使用者指定目標網域,然後選取連線的儲存庫以提供應用程式內容。如果您啟用自動修復,使用者可以透過開啟對連線儲存庫的合併請求,請求 AWS Security Agent 修正問題清單。
注意
公有 GitLab 儲存庫無法使用自動化修復,以避免在漏洞修正之前揭露漏洞。
先決條件
開始前,請確保您具備以下條件:
-
具有您想要連線之專案維護者或擁有者存取權的 GitLab.com 帳戶
-
具有連線類型所需範圍的 GitLab 存取字符:
-
個人 - 具有所有讀取許可和
api許可的個人存取字符。 -
群組 - 具有
read_api和read_repository範圍的群組存取字符。
-
-
在 AWS Security Agent Management Console 中設定整合的許可
重要
將字符過期設定為目前日期後最多 365 天。
注意
GitLab Personal Access Token 可用於多個 AWS 帳戶。與 GitHub 和 Atlassian 整合不同,將相同的 GitLab 帳戶連線至多個 AWS Security Agent 執行個體沒有限制。
註冊 GitLab 連線
-
在 AWS 安全代理程式管理主控台中,導覽至整合。
-
選擇新增整合作業。
-
選取 GitLab,然後選擇下一步。
-
在選擇帳戶類型下,選取下列其中一項:
-
Personal - 連接您的個別 GitLab 使用者帳戶。
-
群組 - 連接包含多個專案的 GitLab 群組。輸入您的群組 ID。
-
-
在存取字符欄位中,貼上您的 GitLab 存取字符。
-
在註冊名稱欄位中,輸入此連線的描述性名稱,例如
Engineering-Team-GitLab。有效字元包括字母、數字、句點、底線和連字號。 -
選擇連線。
您會返回整合頁面,其中會顯示新連線及其註冊名稱。
故障診斷 GitLab 整合
如果您在 GitLab 整合程序期間遇到問題,請使用下列指引來解決常見問題。
字符無效或過期
徵狀
-
整合無法連線
-
先前運作的整合會停止運作
-
指出身分驗證失敗的錯誤訊息
Resolution
-
在 GitLab 中,導覽至您的使用者設定,然後選取存取字符。
-
確認您的字符尚未過期。
-
確認字符具有其類型所需的範圍。
-
如果字符已過期,請建立新的字符,並在 AWS 主控台中更新整合。
速率限制
徵狀
-
程式碼檢閱期間的間歇性失敗
-
延遲合併請求分析
Resolution
-
GitLab 會將速率限制套用至 API 請求。如果您有大量的儲存庫或頻繁的合併請求,某些請求可能會受到調節。
-
等待速率限制時段重設,或聯絡 GitLab Support 以提高速率限制。
後續步驟
將 GitLab 連線至 AWS Security Agent 之後:
-
導覽至您要使用這些儲存庫的客服人員空間
-
選擇啟用程式碼檢閱或設定滲透測試,將特定專案連線至您的客服人員空間,並設定其用量
-
啟用程式碼修復,以允許 AWS Security Agent 使用漏洞修正來提交合併請求
-
如需私有託管的 GitLab 執行個體,請參閱 將 AWS 安全代理程式連線至 GitLab 自我管理