Google Cloud Storage
本文提供相關指引,說明如何將 Cloud Storage 與 Google Security Operations 的 SOAR 模組整合。
整合版本:9.0
這項整合功能使用一或多個開放原始碼元件。 您可以從 Cloud Storage bucket 下載這項整合的原始碼副本。
用途
在 Google SecOps SOAR 平台中,Google Cloud Storage 整合功能可解決下列用途:
事件證據儲存:應對手冊可自動收集事件相關證據 (例如記錄和惡意軟體樣本),並儲存在 Cloud Storage 值區中,提供防竄改的證據保存庫。
分享威脅情報:您的安全團隊可以使用 Cloud Storage,與其他團隊或機構安全地分享威脅情報動態消息,例如惡意 IP 位址和網域清單。分享動態消息可促進威脅防禦合作,並加快回應速度。
惡意軟體分析沙箱整合:劇本可自動將事件中的可疑檔案提交至雲端惡意軟體分析沙箱。您可以將分析結果儲存在 Cloud Storage 中,以便查看及採取進一步行動,提供有效率且可擴充的惡意軟體分析。
備份安全設定:使用 Google SecOps 的 SOAR 功能,自動定期將重要安全設定 (例如防火牆規則和入侵偵測系統簽章) 備份到 Cloud Storage。自動備份可確保業務持續運作,並在發生意外或惡意變更時加快復原速度。
網路釣魚活動構件儲存空間:在調查網路釣魚活動時,使用 Google SecOps 的 SOAR 功能,將網路釣魚電子郵件、附件和其他構件儲存在 Cloud Storage 中。構件儲存空間可集中分析及保存證據,以備採取法律行動。
事前準備
如要使用整合功能,您需要 Google Cloud 服務帳戶。你可以使用現有的服務帳戶,也可以建立新的服務帳戶。
建立服務帳戶
如需建立服務帳戶的指引,請參閱「建立服務帳戶」。
在「將專案存取權授予這個服務帳戶」下方,將下列角色授予服務帳戶:
Storage Admin
如果您未在 Google Cloud上執行工作負載,則必須在建立服務帳戶後,以 JSON 格式建立服務帳戶金鑰。如果您未使用 GKE 電子郵件的 Workload Identity Federation,請在設定整合參數時,提供下載的 JSON 檔案內容。
基於安全考量,建議您使用 Workload Identity Federation for GKE 電子郵件地址,而非服務帳戶 JSON 金鑰。如要進一步瞭解工作負載身分,請參閱「工作負載身分」。
將 Cloud Storage 與 Google SecOps 整合
整合作業需要下列參數:
參數 | 說明 |
---|---|
Service Account |
選用 服務帳戶金鑰 JSON 檔案的內容。 您可以設定這個參數或 如要設定這個參數,請提供您在建立服務帳戶時下載的服務帳戶 JSON 檔案完整內容。 |
Workload Identity Email |
選用 服務帳戶的用戶端電子郵件地址。 您可以設定這個參數或 如要使用 Workload Identity Federation for GKE 電子郵件地址模擬服務帳戶,請將 |
Project ID |
選用 用於 Cloud Storage 整合的專案 ID。如未設定這個參數的值,系統會從 |
Quota Project ID |
選用 您用於 Google Cloud API 和帳單的專案 ID。 Google Cloud 如要使用這個參數,您必須將 如未設定這個參數的值,系統會從 |
如需在 Google SecOps 中設定整合功能的詳細操作說明,請參閱「設定整合功能」。
如有需要,您之後可以變更。設定整合執行個體後,您就可以在劇本中使用該執行個體。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。
動作
對於可搭配存取控制清單 (ACL) 使用的動作,您可以指定存取權,並套用 bucket 和個別物件的權限。詳情請參閱存取控制清單 (ACL)。
從 bucket 下載物件
使用這項動作,從 Cloud Storage bucket 下載特定物件 (檔案)。
這項操作不會對實體執行。
動作輸入內容
「從 bucket 下載物件」動作需要下列參數:
參數 | 說明 |
---|---|
Bucket Name |
必要 包含要下載物件的 Cloud Storage 值區名稱。 |
Object Name |
必要 要下載的物件全名。 如果物件位於值區的資料夾中,請加入資料夾路徑,例如 |
Download Path |
必要 下載物件的絕對路徑,指向現有目錄,例如 |
動作輸出內容
「從 bucket 下載物件」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例說明使用「從值區下載物件」動作時收到的 JSON 結果輸出內容:
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
輸出訊息
在案件總覽頁面中,「從值區下載物件」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「從 Bucket 下載物件」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
取得 Bucket 的存取控制清單
使用「Get a Bucket's Access Control List」動作,擷取並顯示指定 Cloud Storage bucket 的 ACL。
這項操作不會對實體執行。
動作輸入內容
「Get a Bucket's Access Control List」動作需要下列參數:
參數 | 說明 |
---|---|
Bucket Name |
必要 您要擷取 ACL 的 Cloud Storage bucket 名稱。如要擷取多個 bucket 的 ACL,請以半形逗號分隔 bucket 名稱,例如 |
動作輸出內容
「取得 Bucket 的存取控制清單」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
輸出訊息
在案件牆上,「取得值區的存取控制清單」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「取得 Bucket 的存取控制清單」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
列出 Bucket 物件
使用「列出 Bucket 物件」動作,列出儲存在 Cloud Storage bucket 中的物件。
這項操作不會對實體執行。
動作輸入內容
List Bucket Objects 動作需要下列參數:
參數 | 說明 |
---|---|
Bucket Name |
必要 要從中擷取物件的值區名稱。 |
Max Objects to Return |
選用 要傳回的物件數。 根據預設,每次執行動作時,動作會傳回 50 個物件。 |
Retrieves the Access Control List of an object |
選用 如果選取這個動作,系統會擷取物件 ACL。 預設為未選取。 |
動作輸出內容
「列出 Bucket 物件」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
下列範例說明使用「列出 Bucket 物件」動作時收到的 JSON 結果輸出內容:
如果未選取
Retrieves the Access Control List of an object
參數:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }
如果選取
Retrieves the Access Control List of an object
參數:{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
輸出訊息
在案件牆上,「列出 Bucket 物件」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「列出 Bucket 物件」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
列出值區
使用「列出 bucket」動作,從 Cloud Storage 擷取 bucket 清單。
這項操作不會對實體執行。
動作輸入內容
List Buckets 動作需要下列參數:
參數 | 說明 |
---|---|
Max Results |
選用 要傳回的值區數量上限。 根據預設,這項動作會傳回 50 個值區。 |
動作輸出內容
「列出 Bucket」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
以下範例說明使用「列出 Bucket」動作時收到的 JSON 結果輸出內容:
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
輸出訊息
在案件總覽上,「列出 Bucket」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "List Buckets". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「列出 Bucket」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
乒乓
使用 Ping 動作測試與 Cloud Storage 的連線。
這項操作不會對實體執行。
動作輸入內容
無
動作輸出內容
這個動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
輸出訊息
在案件總覽頁面中,「Ping」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
動作成功。 |
Failed to connect to the Google Cloud Storage server! Error is
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用 Ping 動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
移除值區的公開存取權
使用「Remove Public Access From Bucket」動作,從 Cloud Storage bucket 移除公開存取權。
如要執行這項動作,您必須將 Storage Admin
角色授予整合服務中使用的服務帳戶。
這項操作不會對實體執行。
動作輸入內容
「Remove Public Access From Bucket」動作需要下列參數:
參數 | 說明 |
---|---|
Resource Name |
必要 值區的資源名稱。 |
Prevent Public Access From Bucket |
必要 選取後,這項動作會將 bucket 設為禁止公開存取。 |
動作輸出內容
「Remove Public Access From Bucket」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
輸出訊息
在案件總覽中,移除值區的公開存取權動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
動作成功。 |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「Remove Public Access From Bucket」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
更新 Bucket 的 ACL 項目
使用「更新 Bucket 的 ACL 項目」動作,更新指定 Cloud Storage Bucket 中的 ACL 項目。
動作輸入內容
「更新 Bucket 的 ACL 項目」動作需要下列參數:
參數 | 說明 |
---|---|
Bucket Name |
必要 要修改 ACL 的值區名稱。 |
Entity |
必要 擁有權限的實體。 可能的值如下:
如要進一步瞭解實體,請參閱資源表示法。 |
Role |
必要 實體所需的存取權。 可能的值如下:
|
動作輸出內容
「更新 Bucket 的 ACL 項目」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
輸出訊息
在案件牆上,「Update an ACL entry on Bucket」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。現有角色與 Role 參數值不符。檢查 Role 參數值。 |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
動作成功。 |
|
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「更新 Bucket 的 ACL 項目」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
將物件上傳至 bucket
使用「將物件上傳至 bucket」動作,將物件上傳至 Cloud Storage bucket。
這項操作不會對實體執行。
動作輸入內容
「將物件上傳至 Bucket」動作需要下列參數:
參數 | 說明 |
---|---|
Bucket Name |
必要 要上傳物件的值區名稱。 |
Source File Path |
必要 要上傳檔案的絕對路徑,例如 |
Object Name |
必要 值區中上傳物件的名稱。 |
動作輸出內容
「Upload an Object To a Bucket」動作會提供下列輸出內容:
動作輸出類型 | 可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果 | 可用 |
JSON 結果
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
輸出訊息
在案件牆上,「Upload an Object To a Bucket」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
指令碼結果
下表說明使用「將物件上傳至 Bucket」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success |
True 或False |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。