AWS S3

本文說明如何將 AWS S3 與 Google Security Operations 整合。

應用實例

  1. 管理值區
  2. 從 bucket 下載檔案
  3. 把檔案上傳到 Bucket

在 Google Security Operations 中設定 AWS S3 整合

請參閱這篇說明文章,瞭解在 Google SecOps 中設定整合功能的詳細操作說明。

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填項目 說明
執行個體名稱 字串 不適用 您要設定整合的執行個體名稱。
說明 字串 不適用 執行個體的說明。
AWS 存取金鑰 ID 字串 不適用 用於整合的 AWS 存取金鑰 ID。
AWS 祕密金鑰 密碼 不適用 用於整合的 AWS 私密金鑰。
AWS 預設區域 字串 不適用 要在整合中使用的 AWS 預設區域,例如 us-west-2。
遠端執行 核取方塊 已取消勾選 勾選這個欄位,即可遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (服務專員) 的選項。

動作

乒乓

說明

在 Google Security Operations Marketplace 分頁的整合設定頁面中,使用提供的參數測試與 AWS S3 的連線。

用途

測試連線。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

如果成功:

「已使用提供的連線參數,成功連線至 AWS S3 伺服器!」

動作應會失敗並停止執行應對手冊:

如果未成功:

「無法連線至 AWS S3 伺服器!Error is {0}".format(exception.stacktrace)

一般

列出 bucket

說明

從 AWS S3 擷取儲存桶清單。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
    "Buckets": [
        {
            "CreationDate": %Y-%m-%dT%H:%M:%S,
            "Name": "testsiemplify"
        }
    ],
    "Owner": {
        "DisplayName": "lab_aws",
        "ID": "935dc3fed0e1d2c5b12242cf9927370824f2438681a2d3c0523f254dbde41aba"
    },
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

如果狀態碼 == 200 (is_success = true)「Successfully listed available buckets in AWS S3」(已成功列出 AWS S3 中的可用 bucket)。

如果其他狀態碼 (is_success=false):「動作無法列出 AWS S3 中的可用值區。

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他問題:「Error executing action "List Buckets" (執行「列出 Bucket」動作時發生錯誤)。原因:{0}''.format(error.Stacktrace)

一般

取得值區政策

說明

從 AWS S3 擷取值區政策相關資訊。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
值區名稱 字串 不適用 指定要從哪個值區擷取政策資訊。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
    "Policy": {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AddPerm",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::testsiemplify/*"
            }
        ]
    }
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

If status code == 200 (is_success = true) "Successfully retrieved information about the policy of the "{0}" bucket in AWS S3".format(bucket_name)

如果出現其他狀態碼 (is_success=false):「Action wasn't able to return information about the policy of the '{0}' bucket in AWS S3」。format(bucket_name)

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他問題:「Error executing action "Get Bucket Policy"。原因:{0}''.format(error.Stacktrace)

一般

設定值區政策

說明

在 AWS S3 的儲存空間中設定政策。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
值區名稱 字串 不適用 指定要更新政策的值區名稱。
政策 JSON 物件 字串 不適用 指定要為值區設定的政策 JSON 物件。如需範例,請參閱 https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
bucket_policy = {
    'Version': '2012-10-17',
    'Statement': [{
        'Sid': 'AddPerm',
        'Effect': 'Allow',
        'Principal': '*',
        'Action': ['s3:GetObject'],
        'Resource': f'arn:aws:s3:::{bucket_name}/*'
    }]
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

如果狀態碼 == 204 (is_success = true)「Successfully updated policy of the "{0}" bucket in AWS S3」。format(bucket_name)

如果其他狀態碼 (is_success=false): "Action wasn't able to update the policy of the '{0}' bucket in AWS S3".format(bucket_name)

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤 (例如憑證錯誤、無法連線至伺服器等):「Error executing action "Set Bucket Policy". 原因:{0}''.format(error.Stacktrace)

列出 Bucket 物件

說明

允許使用者停用使用者帳戶。要求主體包含要停用的使用者。帳戶的帳戶啟用屬性應設為 false。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
值區名稱 字串 不適用 指定要從哪個值區擷取物件。
要傳回的物件數量上限 整數 不適用 指定要傳回的物件數量。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
"Contents": [
        {
            "Key": "text.txt",
            "LastModified": %Y-%m-%dT%H:%M:%S,
            "ETag": "d41d8cd98f00b204e9800998ecf8427e",
            "Size": 0,
            "StorageClass": "STANDARD",
            "Owner": {
                "DisplayName": "lab_aws",
                "ID": "935dc3fed0e1d2c5b12242cf9927370824f2438681a2d3c0523f254dbde41aba"
            }
        },
        {
            "Key": "text_1.txt",
            "LastModified": %Y-%m-%dT%H:%M:%S,
            "ETag": "d41d8cd98f00b204e9800998ecf8427e",
            "Size": 0,
            "StorageClass": "STANDARD",
            "Owner": {
                "DisplayName": "lab_aws",
                "ID": "935dc3fed0e1d2c5b12242cf9927370824f2438681a2d3c0523f254dbde41aba"
            }
        }
    ]
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

If status code == 200 (is_success = true) "Successfully returned objects of the "{0}" bucket in AWS S3".format(bucket_name)

如果其他狀態碼 (is_success=false):「動作無法在 AWS S3 中傳回 '{0}' 值區的物件」。format(bucket_name)

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他問題:「Error executing action "List Bucket Objects". 原因:{0}''.format(error.Stacktrace)

一般
案件總覽表格

表格名稱:「{0}」值區物件

欄:

  • 鍵 (對應為 Key)
  • 上次修改時間 (對應為 LastModified)
  • 大小 (位元組) (對應為「大小」)
  • 擁有者 (對應為擁有者/顯示名稱)
  • 儲存空間類別 (對應為儲存空間類別)
一般

從 Bucket 下載檔案

說明

從 AWS S3 的 bucket 下載檔案。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
Bucket 檔案路徑 字串 s3://{bucket_name}/{file_name} 指定值區中檔案的路徑。例如:s3://siemplify/syslog/log.txt
下載路徑 字串 不適用 指定檔案的下載路徑。

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
"bucket_file_path": "s3://testsiemplify/test/123.txt"
"download_path": "/usr/bin/share/download.txt"
}

案件總覽

結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

如果狀態碼 == 200 (is_success = true) "Successfully downloaded '{0}' from AWS S3".format(bucket_file_path)

如果其他狀態碼 (is_success=false):「動作無法從 AWS S3 下載 '{0}'。原因:下載路徑中已有同名檔案。

動作應會失敗並停止執行應對手冊:

如果發生嚴重錯誤,例如憑證錯誤、無法連線至伺服器、SDK 錯誤等:「Error executing action "Download File From Bucket". 原因:{0}''.format(error.Stacktrace)

一般

將檔案上傳至 bucket

說明

將檔案上傳至 AWS S3 中的 bucket。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
檔案路徑 字串 不適用 指定要上傳的檔案路徑。
值區上傳路徑 字串 s3://{bucket_name}/{file_name} 在值區中指定要上傳路徑的路徑。例如:s3://siemplify/syslog/log.txt

執行日期

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
"bucket_upload_path": "s3://testsiemplify/test/123.txt"
"file_path": "/usr/bin/share/download.txt"
}
案件總覽
結果類型 值 / 說明 類型
輸出訊息*

動作不得失敗,也不得停止應對手冊執行:

If status code == 200 (is_success = true) "Successfully uploaded '{0}' to AWS S3 {1} bucket".format(file_path, bucket name aka first string after s3://)

如果檔案不存在 (is_success = false)「Action wasn't able to upload '{0}' to AWS S3. 原因:該上傳路徑的檔案不存在。」

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器、SDK 錯誤等:「Error executing action "Upload File To Bucket" (執行「將檔案上傳至 Bucket」動作時發生錯誤)。原因:{0}''.format(error.Stacktrace)

一般

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