本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从中收集数据 AWS 服务 在安全湖中
Amazon Security Lake 可以从以下原生支持的 AWS 服务中收集日志和事件:
-
AWS CloudTrail 管理和数据事件(S3、Lambda)
-
亚马逊 Elastic Kubernetes 服务 (亚马逊 EKS) 审核日志
-
Amazon Route 53 resolver 查询日志
-
AWS Security Hub CSPM 发现
-
Amazon Virtual Private Cloud (Amazon VPC) 流日志
-
AWS WAF v2 日志
Security Lake 会自动将这些数据转换为安全湖中的开放网络安全架构框架 (OCSF) 和 Apache Parquet 格式。
要将上述一项或多项服务添加为 Security Lake 中的日志源,您无需在这些服务中单独配置日志记录, CloudTrail 管理事件除外。如果您在这些服务中配置了日志记录,那么您无需更改日志记录配置即可将其添加为 Security Lake 中的日志源。Security Lake 会通过独立且重复的事件流直接从这些服务中拉取数据。
先决条件:验证权限
要在 S AWS 服务 ecurity Lake 中添加为源,必须具有必要的权限。验证附加到您用于添加源的角色的 AWS Identity and Access Management (IAM) 策略是否有权执行以下操作:
建议角色对和s3:PutObject权限具有以下条件S3:getObject和资源范围。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowUpdatingSecurityLakeS3Buckets",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::aws-security-data-lake*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
}
]
}
这些操作允许您从中收集日志和事件, AWS 服务 并将它们发送到正确的 AWS Glue 数据库和表。
如果您使用 AWS KMS 密钥对数据湖进行服务器端加密,则还需要权限。kms:DescribeKey
添加一个 AWS 服务 作为来源
将添加 AWS 服务 为源后,Security Lake 会自动开始从中收集安全日志和事件。这些说明告诉你如何在 Security Lake 中添加原生支持的 AWS 服务 作为来源。有关添加自定义源的说明,请参阅在 Security Lake 中从自定义来源收集数据。
- Console
-
要添加一个 AWS 日志源(控制台)
在以下位置打开 Security Lake 控制台https://console.aws.amazon.com/securitylake/。
-
从导航窗格中选择来源。
-
选择 AWS 服务 要从中收集数据的,然后选择 “配置” 。
-
在源设置部分中,启用源并选择要用于数据摄取的数据源版本。默认情况下,最新版本的数据源由 Security Lake 采集。
如果您没有在指定区域启用新版本 AWS 日志源所需的角色权限,请联系您的 Security Lake 管理员。有关更多信息,请参阅更新角色权限。
要让您的订阅者摄取所选版本的数据源,您还必须更新订阅者设置。有关如何编辑订阅者的详细信息,请参阅 Amazon Security Lake 中的订阅者管理。
或者,您可以选择仅采集最新版本并禁用所有以前用于数据摄取的源版本。
-
在 “区域” 部分中,选择要收集源数据的区域。Security Lake 将从所选区域中的所有账户的来源收集数据。
-
选择启用。
- API
-
添加 AWS 日志源 (API)
要以编程方式将添加 AWS 服务 为源代码,请使用安全湖 API 的CreateAwsLogSource操作。如果你使用的是 AWS Command Line Interface (AWS CLI),请运行 create-aws-log-sou rce 命令。sourceName 和 regions 参数是必需的。或者,您可以将来源的范围限制为特定accounts或特定sourceVersion。
当您未在命令中提供参数时,Security Lake 会假定缺失的参数是指整个参数集。例如,如果您不提供accounts参数,则该命令将应用于组织中的整个账户集。
以下示例将 VPC 流日志添加为指定账户和区域中的来源。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠(\)行继续符来提高可读性。
如果您将此请求应用到尚未启用 Security Lake 的区域,则会收到错误。您可以通过在该区域启用 Security Lake 或使用regions参数仅指定已启用 Security Lake 的区域来解决错误。
$ aws securitylake create-aws-log-source \
--sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions=["us-east-2"],sourceVersion="2.0"
获取来源集合的状态
选择您的访问方法,然后按照步骤获取当前区域中启用了日志收集的账户和来源的快照。
- Console
-
- API
-
要获取当前区域的日志收集状态,请使用安全湖 API 的GetDataLakeSources操作。如果你使用的是 AWS CLI,请运行 get-data-lake-sou rces 命令。对于accounts参数,您可以将一个或多个 AWS 账户 ID 指定为列表。如果您的请求成功,Security Lake 将返回当前区域中这些账户的快照,包括 Security Lake 从哪些 AWS 来源收集数据以及每个来源的状态。如果您不包含accounts参数,则响应将包含当前区域中配置了 Security Lake 的所有账户的日志收集状态。
例如,以下 AWS CLI 命令检索当前区域中指定账户的日志收集状态。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠(\)行继续符来提高可读性。
$ aws securitylake get-data-lake-sources \
--accounts "123456789012" "111122223333"
正在移除 AWS 服务 作为来源
选择您的访问方法,然后按照以下步骤删除原生支持的 Security L AWS 服务 ake 来源。您可以移除一个或多个区域的来源。移除来源后,Security Lake 将停止从指定区域和账户中的来源收集数据,订阅用户也无法再从来源获取新数据。但是,订阅用户仍然可以获取 Security Lake 在该来源被移除之前从中收集的数据。您只能使用这些说明移除用作来源的原生支持的 AWS 服务 。有关移除自定义来源的更多信息,请参阅在 Security Lake 中从自定义来源收集数据。
- Console
-
- API
-
要以编程方式移除 AWS 服务 作为源代码,请使用安全湖 API 的DeleteAwsLogSource操作。如果你使用的是 AWS Command Line Interface (AWS CLI),请运行 delete-aws-log-sou rce 命令。sourceName 和 regions 参数是必需的。或者,您可以将删除范围限制为特定accounts或特定范围sourceVersion。
当您未在命令中提供参数时,Security Lake 会假定缺失的参数是指整个参数集。例如,如果您不提供accounts参数,则该命令将应用于组织中的整个账户集。
以下示例删除了作为指定账户和区域来源的 VPC 流日志。
$ aws securitylake delete-aws-log-source \
--sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"
以下示例删除了指定账户和区域中的 Route 53 作为来源。
$ aws securitylake delete-aws-log-source \
--sources sourceName=ROUTE53,accounts='["123456789012"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"
前面的示例是针对 Linux、macOS 或 Unix 格式的,它们使用反斜杠 (\) 续行符来提高可读性。