AWS S3

集成版本:4.0

使用场景

  1. 管理存储桶
  2. 从存储分区下载文件
  3. 将文件上传到存储分区

在 Google Security Operations 中配置 AWS S3 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
实例名称 字符串 不适用 您打算为其配置集成的实例的名称。
说明 字符串 不适用 实例的说明。
AWS 访问密钥 ID 字符串 不适用 要在集成中使用的 AWS 访问密钥 ID。
AWS 密钥 密码 不适用 要在集成中使用的 AWS 密钥。
AWS 默认区域 字符串 不适用 集成中要使用的 AWS 默认区域,例如 us-west-2。
远程运行 复选框 尚未核查 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

操作

Ping

说明

使用 Google Security Operations Marketplace 标签页中的集成配置页面上提供的参数,测试与 AWS S3 的连接。

使用场景

测试连接。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功

“已使用提供的连接参数成功连接到 AWS S3 服务器!”

操作应失败并停止 playbook 执行

如果不成功

“无法连接到 AWS S3 服务器!错误为 {0}".format(exception.stacktrace)

常规

列出存储分区

说明

从 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"
    },
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码为 200 (is_success = true),则表示“已成功列出 AWS S3 中可用的存储分区”。

如果状态代码为其他值 (is_success=false):“操作无法列出 AWS S3 中的可用存储分区。

操作应失败并停止 playbook 执行

如果出现致命错误,例如凭据错误、无法连接到服务器等:“Error executing action "List Buckets". 原因:{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/*"
            }
        ]
    }
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码为 200 (is_success = true)“已成功检索到 AWS S3 中存储桶‘{0}’的政策信息”。format(bucket_name)

如果状态代码为其他值 (is_success=false):“操作无法返回有关 AWS S3 中 '{0}' 存储桶的政策的信息”。format(bucket_name)

操作应失败并停止 playbook 执行

如果出现致命错误,例如凭据错误、无法连接到服务器、其他错误:“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}/*'
    }]
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码 == 204(is_success = true)“已成功更新 AWS S3 中存储桶 "{0}" 的政策”。format(bucket_name)

如果状态代码为其他值 (is_success=false):“操作无法更新 AWS S3 中‘{0}’存储桶的政策”。format(bucket_name)

操作应失败并停止 playbook 执行

如果出现严重错误,例如凭据错误、无法连接到服务器、其他错误:“Error executing action "Set Bucket Policy". 原因:{0}''.format(error.Stacktrace)

列出存储分区对象

说明

允许用户停用用户账号。请求正文包含要停用的用户。相应账号的 enabled 属性应设置为 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"
            }
        }
    ]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码 == 200(is_success = true)“已成功返回 AWS S3 中存储桶 "{0}" 的对象”。format(bucket_name)

如果返回其他状态代码 (is_success=false):“操作无法返回 AWS S3 中‘{0}’存储桶的对象”。format(bucket_name)

操作应失败并停止 playbook 执行

如果出现严重错误,例如凭据错误、无法连接到服务器、其他错误:“Error executing action "List Bucket Objects". 原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:“{0}”存储分区对象

  • 键(映射为键)
  • 上次修改时间(映射为 LastModified)
  • 大小(字节)(映射为“大小”)
  • 所有者(映射为 Owner/DisplayName)
  • 存储类别(映射为存储类别)
常规

从存储分区下载文件

说明

从 AWS S3 中的存储桶下载文件。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
存储分区文件路径 字符串 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"
}

案例墙

结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码 == 200(is_success = true)“已成功从 AWS S3 下载‘{0}’”。format(bucket_file_path)

如果状态代码为其他值 (is_success=false):“操作无法从 AWS S3 下载 '{0}'。原因:具有该下载路径的文件已存在。”

操作应失败并停止 playbook 执行

如果出现致命错误,例如凭据错误、无法连接到服务器、SDK 错误等:“Error executing action "Download File From Bucket". 原因:{0}''.format(error.Stacktrace)

常规

将文件上传到存储分区

说明

将文件上传到 AWS S3 中的存储桶。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
文件路径 字符串 不适用 指定需要上传的文件的路径。
存储分区上传路径 字符串 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"
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果状态代码为 200 (is_success = true)“已成功将‘{0}’上传到 AWS S3 {1} 存储桶”。format(file_path, bucket name aka first string after s3://)

如果文件不存在 (is_success = false)“操作无法将 '{0}' 上传到 AWS S3。原因:具有相应上传路径的文件不存在。”

操作应失败并停止 playbook 执行

如果出现严重错误,例如凭据错误、无法连接到服务器、SDK 错误等:“Error executing action "Upload File To Bucket"”(执行操作“将文件上传到存储分区”时出错)。原因:{0}''.format(error.Stacktrace)

常规

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。