調查的兩條路徑
Corvo 透過告警串流接收符合條件的錯誤,並使用服務帳戶模擬身分,在調查期間讀取相關資料。Google Cloud 授權、告警傳送與 Agent 調查流程
設定連線
Onboarding 的每個專案變更步驟都會將使用者帶到 Google Cloud Console。你需要啟用必要 API、建立或沿用corvo-agent 服務帳戶、授予所選的唯讀角色,並允許 Corvo 的執行身分模擬該服務帳戶。Corvo 會先驗證存取權,再儲存連線設定。
Corvo 執行環境透過 IAM Credentials API,為客戶的服務帳戶取得短期 access token。目前系統取得的 token 有效期為一小時,並會在到期前更新。
Agent 如何讀取 GCP 資料
Corvo 會將短期 token 提供給 Agent 的 GCP 指令環境。連線設定中的專案會成為這些請求的預設專案。 Google Cloud IAM 會決定此身分可以存取哪些資源。標準設定提供唯讀權限;onboarding 時選擇的額外服務則決定其他可用的唯讀能力。 Agent 使用這些權限蒐集調查所需證據。此模擬身分流程不需要下載服務帳戶金鑰。錯誤如何送達 Corvo
- Cloud Run 服務將錯誤寫入 Cloud Logging。
- 設定好的 log sink 篩選符合服務與嚴重程度條件的項目。
- Log sink 的 writer 身分將這些項目發布到 Corvo 的中央 Pub/Sub topic。
- Corvo 接收項目,判斷是否需要調查。
- 需要處理的事件會交由 Agent 執行。
- Agent 使用可用的 GCP 資料與儲存庫內容完成調查,產生調查結果與相關 PR。