Google Cloud API

本文提供相關指引,協助您設定及整合Google Cloud API 與 Google Security Operations SOAR。

整合版本:4.0

將 Google Cloud API 與 Google SecOps SOAR 整合

整合作業需要下列參數:

參數 說明
Test URL 選用

用於驗證 API 驗證的測試網址。 Google Cloud 這個參數會使用 GET 要求。

Service Account Json File Content 選用

服務帳戶金鑰 JSON 檔案的內容。

您可以設定這個參數、Workload Identity Email 參數,或設定所有先前的整合參數。

如要設定這個參數,請提供您在建立服務帳戶時下載的服務帳戶金鑰 JSON 檔案完整內容。

如要進一步瞭解如何使用服務帳戶做為驗證方法,請參閱「服務帳戶總覽」和「服務帳戶模擬」。

在這項整合中,使用服務帳戶金鑰 JSON 檔案進行驗證的優先順序,高於工作負載身分識別電子郵件。

Organization ID 選用

要在整合中使用的機構 ID。

如要在執行動作期間從這個參數擷取值,請設定下列預留位置:{{org_id}}

Project ID 選用

要在整合中使用的專案 ID。

如要在執行動作期間從這個參數擷取值,請設定下列預留位置:{{project_id}}

Quota Project ID 選用

您用於 Google Cloud API 和帳單的專案 ID。 Google Cloud 如要使用這個參數,您必須將 Service Usage Consumer 角色授予服務帳戶。

整合功能會將這個參數值附加至所有 API 要求。

如果未設定此參數的值,整合服務會從 Google Cloud 服務帳戶擷取專案 ID。

Workload Identity Email 選用

服務帳戶的用戶端電子郵件地址。

您可以設定這個參數或 Service Account Json File Content 參數。

在這項整合中,使用服務帳戶金鑰 JSON 檔案進行驗證的優先順序,高於工作負載身分識別電子郵件。

如要使用 Workload Identity 模擬服務帳戶,請將 Service Account Token Creator 角色授予服務帳戶。如要進一步瞭解 Workload Identity,以及如何使用這項功能,請參閱「工作負載的身分」。

OAuth Scopes 選用

以半形逗號分隔的 OAuth 範圍清單,執行 Google Cloud API 要求時必須使用這些範圍。

Verify SSL 必要

如果選取這個選項,整合服務會驗證用於連線至 Google Cloud 服務的 SSL 憑證是否有效。

(此為預設選項)。

如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。

如有需要,您之後可以變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

Google Cloud API 整合包含下列動作:

執行 HTTP 要求

使用「執行 HTTP 要求」動作執行 HTTP 要求。

這項操作不會在 Google SecOps 實體上執行。

動作輸入內容

「執行 HTTP 要求」動作需要下列參數:

參數 說明
Method 選用

要在要求中使用的方法。

預設值為 GET

可能的值包括:
  • GET
  • POST
  • PUT
  • PATCH
  • DELETE
  • HEAD
  • OPTIONS
URL Path 選用

要執行的網址。

預設值為 https://

URL Params 選用

網址參數。

動作會使用您在網址路徑參數中直接提供的值,以及一併提供的任何值。

這個參數需要 JSON 物件格式做為輸入內容。預設值如下:

{
    "URL Field Name": "URL_FIELD_VALUE"
    }
Headers 選用

HTTP 要求中使用的標頭。

這個參數需要 JSON 物件格式做為輸入內容。預設值如下:

{
    "Content-Type": "application/json; charset=utf-8",
    "Accept": "application/json",
    "User-Agent" : "GoogleSecOps"
    }
Cookie 選用

要在 Cookie 標頭中使用的參數。

這個參數會覆寫 Headers 參數中提供的 Cookie。

這個參數需要 JSON 物件格式做為輸入內容。預設值如下:

{
    "Cookie_1": "COOKIE_1_VALUE"
    }
Body Payload
選填

HTTP 要求的內容。這個動作會根據 Headers 參數中提供的 Content-Type 標頭值,建構不同的酬載。

這個參數需要 JSON 物件格式做為輸入內容,但第三方產品需要 XML 或 multipart/form-data 內容時除外。如要使用 API 要求提交或上傳檔案,請在「Body Payload」參數中提供檔案的 base64 編碼版本,並將標頭設為 "Content-type": "multipart/form-data"

預設值如下:

{
    "Body Field Name": "BODY_FIELD_VALUE"
    }
Expected Response Values 選用

預期的回應值。

如果設定這個參數,動作會以非同步模式運作,並執行到收到預期值或達到逾時為止。

Save To Case Wall 選用

如果選取這個選項,系統會儲存檔案,並將儲存的檔案附加至案件總覽。檔案會以 .zip 副檔名封存。.zip 檔案未受密碼保護。

預設為未選取。

Password Protect Zip 選用

選取後,這項動作會將密碼新增至使用 Save To Case Wall 參數建立的 .zip 檔案。密碼如下:infected

處理可疑檔案時,請使用這個參數。

(此為預設選項)。

Follow Redirects 選用

如果選取這個選項,動作會跟隨重新導向。

(此為預設選項)。

Fail on 4xx/5xx 選用

如果選取這個選項,當回應的狀態碼為 4xx 或 5xx 錯誤時,動作就會失敗。

(此為預設選項)。

Base64 Output 選用

如果選取這個動作,系統會將回應轉換為 Base64 格式。

下載檔案時請使用這個參數。

JSON 結果不得超過 15 MB。

預設為未選取。

Fields To Return 必要

要傳回的欄位。可能的值如下:

  • response_data
  • redirects
  • response_code
  • response_cookies
  • response_headers
  • apparent_encoding
Request Timeout 必要

等待伺服器傳送資料的時間,超過這個時間後,動作就會失敗。

預設值為 120 秒。

動作輸出內容

「執行 HTTP 要求」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼結果 可用
JSON 結果

以下範例說明使用「執行 HTTP 要求」動作時收到的 JSON 結果輸出內容:

{
   "response_data": {
       "data": {
           "relationships": {
               "comment": [
                   {
                       "name": "item",
                       "description": "Object to which the comment belongs to."
                   },
                   {
                       "name": "author",
                       "description": "User who wrote the comment."
                   }
               ]
           }
       }
   },
   "redirects": [],
   "response_code": 200,
   "cookies": {},
   "response_headers": {
       "Content-Type": "application/json",
       "X-Cloud-Trace-Context": "VALUE",
       "Date": "Fri, 03 Nov 2023 16:14:13 GMT",
       "Server": "Google Frontend",
       "Content-Length": "36084"
   },
   "apparent_encoding": "ascii"
}
輸出訊息

「執行 HTTP 要求」動作會提供下列輸出訊息:

輸出訊息 訊息說明

Successfully executed API request.

Successfully executed API request, but the status code {4xx/5xx} was returned. Please check the request or try again later.

動作成功。
Failed to execute API request. Error: ERROR_REASON

動作失敗。

檢查伺服器的連線、輸入參數或憑證。

指令碼結果

下表說明使用「執行 HTTP 要求」動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

乒乓

使用「Ping」動作測試與「 Google Cloud」之間的連線。

這項操作不會在 Google SecOps 實體上執行。

動作輸入內容

動作輸出內容

「Ping」動作會提供下列輸出內容:

動作輸出類型 可用性
案件總覽附件 無法使用
案件總覽連結 無法使用
案件訊息牆表格 無法使用
補充資訊表格 無法使用
JSON 結果 可用
輸出訊息 可用
指令碼結果 可用
JSON 結果

以下範例說明使用「Ping」動作時收到的 JSON 結果輸出內容:

{
"endpoint": "TEST_URL"
}
輸出訊息

「Ping」動作會提供下列輸出訊息:

輸出訊息 訊息說明
Successfully tested connectivity. 動作成功。
Failed to test connectivity.

動作失敗。

檢查伺服器的連線、輸入參數或憑證。

指令碼結果

下表說明使用 Ping 動作時,指令碼結果輸出的值:

指令碼結果名稱
is_success TrueFalse

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。