本文說明如何透過 Secure Source Manager 的整合式密鑰掃描功能,保護機密資訊。
Secure Source Manager 中的密碼掃描功能可提升程式碼庫安全性。這項功能會分析推送至存放區或透過提取要求合併的提交內容,主動掃描您應加密或移除的機密資訊。如果偵測到這類資料,密碼掃描功能會自動拒絕推送或封鎖提取要求合併,防止敏感詳細資料遭到意外合併。
Secure Source Manager 中的密碼掃描功能會將下列類別的資訊視為機密資訊:
- 加密金鑰:包括 SSH 私密金鑰等項目。
- AWS 憑證:Amazon Web Services 的存取金鑰和密鑰。
- Google Cloud 憑證:服務帳戶金鑰和其他 Google Cloud 密鑰。
- OAuth 用戶端密鑰:用於透過 OAuth 驗證應用程式的密鑰。
- 密鑰:用於驗證或授權的機密金鑰。
啟用密碼掃描功能
請確認存放區已啟用下列角色和設定。
必要的角色
如要取得啟用密碼掃描功能所需的權限,請要求管理員授予您 Secure Source Manager 執行個體的「Secure Source Manager 存放區管理員」 (roles/securesourcemanager.repoAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要瞭解如何授予 Secure Source Manager 角色,請參閱「使用 IAM 控管存取權」和「授予使用者執行個體存取權」。
服務帳戶權限
如果您設定密碼掃描功能,使用自訂的 Sensitive Data Protection 檢查範本,Secure Source Manager 服務使用的服務帳戶就必須具備讀取範本的權限 (例如 DLP 讀取者角色 roles/dlp.reader)。
- 如果為存放區設定了每個存放區的服務帳戶,Secure Source Manager 就只會使用該服務帳戶。您必須將範本讀取權限授予每個存放區的服務帳戶。
- 如未設定每個存放區的服務帳戶,Secure Source Manager 會使用執行個體服務帳戶。
更新存放區設定
您可以透過 Secure Source Manager 介面,為存放區啟用密碼掃描功能:
- 前往要啟用密碼掃描功能的存放區。
- 按一下「設定」圖示。
- 找出「密鑰掃描」切換按鈕。
- 將切換鈕設為「開啟」。
- 選用:在「檢查範本」欄位中,輸入 Sensitive Data Protection 檢查範本的資源名稱。
使用密碼掃描功能
啟用密碼掃描後,系統會主動監控存放區的提交內容。如果系統在透過 Git 推送的提交中,或透過網頁介面的提取要求合併的提交中,發現敏感資訊,就會拒絕提交或封鎖合併。
從指令列推送時,您會收到錯誤訊息,指出存在機密資料。此時,您有兩種做法:
還原變更
如要移除私密資訊,可以使用下列指令還原有問題的提交:
git reset --soft COMMIT_ID
將 COMMIT_ID 替換為實際的提交 ID。
由於 Git 會保留所有提交的記錄,因此仍可從先前的提交還原機密資料。如要避免這種情況,請使用 git reset --soft 指令。然後修正檔案並再次提交,從分支的近期記錄中移除資料。
強制推送修訂版本 (略過密鑰掃描)
在特定情況下,如果系統偵測到的資訊可接受,具備適當權限的使用者可以選擇略過密碼掃描檢查,並強制推送提交。
git push -o dlpskip=true origin \
BRANCH_NAME
將 BRANCH_NAME 替換為要合併的分支名稱。