管理 区域 - Amazon Security Lake

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理 区域

Amazon Security Lake AWS 区域 可以收集您启用该服务的安全日志和事件。对于每个区域,您的数据都存储在不同的 Amazon S3 存储桶中。您可以为不同的区域指定不同的数据湖配置(例如,不同的来源和留存设置)。您还可以定义一个或多个汇总区域来整合多个区域的数据。

检查区域状态

Security Lake 可以跨多个 AWS 区域收集数据。要跟踪数据湖的状态,了解每个区域的当前配置可能会有所帮助。选择您的首选访问方式,然后按照以下步骤获取区域的当前状态。

Console
查看地区状态
  1. 打开 Security Lake 控制台:https://console.aws.amazon.com/securitylake/

  2. 在导航窗格中,选择区域。此时会显示区域页面,其中提供了当前已启用 Security Lake 的区域的概览。

  3. 选择一个区域,然后选择编辑,查看该区域的详细信息。

API

要获取当前区域中日志收集的状态,请使用 Security Lake API 的GetDataLakeSources操作。如果您使用的是 AWS CLI,请运行该get-data-lake-sources命令。对于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 CLI 命令列出指定区域中所有账户和已启用源的日志收集状态。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠 (\) 行继续符来提高可读性。

$ aws securitylake get-data-lake-sources \ --regions "us-east-1" \ --query 'dataLakeSources[].[account,sourceName]'

要确定您是否为某个区域启用了安全湖,请使用ListDataLakes操作。如果您使用的是 AWS CLI,请运行该list-data-lakes命令。对于 regions 参数,请指定区域的区域代码。例如,us-east-1 表示美国东部(弗吉尼亚州北部)区域。有关区域代码的列表,请参阅《AWS 一般参考》中的 Amazon Security Lake 端点ListDataLakes 操作会返回您在请求中指定的每个区域的数据湖配置设置。如果您未指定区域,Security Lake 会返回每个可用 Security Lake 的区域中您的数据湖的状态和配置设置。

例如,以下 AWS CLI 命令显示该eu-central-1区域中数据湖的状态和配置设置。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠 (\) 行继续符来提高可读性。

$ aws securitylake list-data-lakes \ --regions "us-east-1" "eu-central-1"

更改区域设置

选择首选方式,然后按照以下说明更新一个或多个 AWS 区域中的数据湖的设置。

Console
  1. 打开 Security Lake 控制台:https://console.aws.amazon.com/securitylake/

  2. 在导航窗格中,选择区域

  3. 选择一个区域,然后选择编辑

  4. 选择覆盖<区域>中所有账户的来源复选框,确认使用此处的选择覆盖该区域以前的选择。

  5. 选择存储类中,选择添加转换,为您的数据添加新的存储类。

  6. 对于标签,您可以选择为区域指定或编辑标签。标签是您可以为某些类型的 AWS 资源定义和分配的标签,包括您在特定 AWS 账户 区域的数据湖配置。要了解更多信息,请参阅为 Amazon Security Lake 资源添加标签

  7. 要将某个区域变为汇总区域,请在导航窗格中选择汇总区域(在设置下)。然后选择 Modify (修改)。在选择汇总区域部分,选择添加汇总区域。选择数据提供区域,并向 Security Lake 提供跨多个区域复制数据的权限。完成后,选择保存以保存更改。

API

要以编程方式更新数据湖的区域设置,请使用 Security Lake API 的UpdateDataLake操作。如果您使用的是 AWS CLI,请运行该update-data-lake命令。对于 region 参数,请指定您要更改设置的区域的区域代码。例如,us-east-1 表示美国东部(弗吉尼亚州北部)区域。有关区域代码的列表,请参阅《AWS 一般参考》中的 Amazon Security Lake 端点

使用其他参数为要更改的每个设置指定新值,例如,加密密钥 (encryptionConfiguration) 和留存设置 (lifecycleConfiguration)。

例如,以下 AWS CLI 命令更新该us-east-1区域的数据过期和存储类别转换设置。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠 (\) 行继续符来提高可读性。

$ update-data-lake \ --configurations '[{"region":"us-east-1","lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":45,"storageClass":"ONEZONE_IA"}]}}]'

配置汇总区域

汇总区域整合了来自一个或多个数据提供区域的数据。指定汇总区域可以帮助您遵守区域合规性要求。

在添加汇总区域之前,您首先需要在 AWS Identity and Access Management (IAM) 中创建两个不同的角色:

注意

当您使用 Security Lake 控制台时,Security Lake 会代您创建这些 IAM 角色或使用现有角色。但是,在使用 Security Lake API 时必须创建这些角色或 AWS CLI。

用于数据复制的 IAM 角色

此 IAM 角色授予 Amazon S3 跨多个区域复制源日志和事件的权限。

要授予这些权限,请创建一个带有前缀 SecurityLake 的 IAM 角色,并将以下示例策略附加到该角色。在 Security Lake 中创建汇总区域时,您需要该角色的 Amazon 资源名称 (ARN)。在此策略中,sourceRegions 是数据提供区域,destinationRegions 是汇总区域。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadS3ReplicationSetting", "Action": [ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging", "s3:GetObjectRetention", "s3:GetObjectLegalHold" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::aws-security-data-lake-[[sourceRegions]]*", "arn:aws:s3:::aws-security-data-lake-[[sourceRegions]]*/*" ], "Condition": { "StringEquals": { "s3:ResourceAccount": [ "{{bucketOwnerAccountId}}" ] } } }, { "Sid": "AllowS3Replication", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags", "s3:GetObjectVersionTagging" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::aws-security-data-lake-[[destinationRegions]]*/*" ], "Condition": { "StringEquals": { "s3:ResourceAccount": [ "{{bucketOwnerAccountId}}" ] } } } ] }

将以下信任策略附加到您的角色,以便允许 Amazon S3 代入该角色:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3ToAssume", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

如果您使用 AWS Key Management Service (AWS KMS) 中的客户托管密钥来加密您的 Security Lake 数据湖,则除了数据复制策略中的权限外,还必须授予以下权限。

{ "Action": [ "kms:Decrypt" ], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": [ "s3.{sourceRegion1}.amazonaws.com", "s3.{sourceRegion2}.amazonaws.com" ], "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::aws-security-data-lake-{sourceRegion1}*", "arn:aws:s3:::aws-security-data-lake-{sourceRegion2}*" ] } }, "Resource": [ "{sourceRegion1KmsKeyArn}", "{sourceRegion2KmsKeyArn}" ] }, { "Action": [ "kms:Encrypt" ], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": [ "s3.{destinationRegion1}.amazonaws.com", ], "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::aws-security-data-lake-{destinationRegion1}*", ] } }, "Resource": [ "{destinationRegionKmsKeyArn}" ] }

有关复制角色的更多信息,请参阅《Amazon 简单存储服务用户指南》中的设置权限

用于注册 AWS Glue 分区的 IAM 角色

此 IAM 角色授予对 Security Lake 使用的分区更新程序 AWS Lambda 功能的权限,该功能用于为从其他区域复制的 S3 对象注册 AWS Glue 分区。如果不创建此角色,订阅用户就无法从这些对象中查询事件。

要授予这些权限,请创建一个名为 AmazonSecurityLakeMetaStoreManager 的角色(您可能已在启用 Security Lake 时创建了此角色)。有关此角色的更多信息,包括示例策略,请参阅步骤 1:创建 IAM 角色

在 Lake Formation 控制台中,您还必须按照以下步骤向 AmazonSecurityLakeMetaStoreManager 授予数据湖管理员的权限:

  1. 打开 Lake Formation 控制台:https://console.aws.amazon.com/lakeformation/

  2. 以管理用户的身份登录。

  3. 如果显示欢迎使用 Lake Formation 窗口,请选择您在步骤 1 中创建或选择的用户,然后选择“开始”。

  4. 如果没有看到欢迎使用 Lake Formation 窗口,请执行以下步骤来配置 Lake Formation 管理员。

    1. 在导航窗格的权限下,选择管理角色和任务。在数据湖管理员部分,选择选择管理员

    2. 管理数据湖管理员对话框中,对于 IAM 用户和角色,选择您创建AmazonSecurityLakeMetaStoreManager的 IAM 角色,然后选择保存

有关更改数据湖管理员权限的更多信息,请参阅 AWS Lake Formation 开发人员指南中的创建数据湖管理员

添加汇总区域

选择您的首选访问方式,然后按照以下步骤添加汇总区域。

注意

一个区域可以向多个汇总区域提供数据。但是,一个汇总区域无法向其他汇总区域提供数据。

Console
  1. 打开 Security Lake 控制台:https://console.aws.amazon.com/securitylake/

  2. 在导航窗格中的设置下,选择汇总区域

  3. 选择修改,然后选择添加汇总区域

  4. 指定汇总区域以及数据提供区域。如果要添加多个汇总区域,请重复此步骤。

  5. 如果这是您首次添加汇总区域,对于服务访问权限,请创建一个新的 IAM 角色或使用现有 IAM 角色向 Security Lake 授予跨多个区域复制数据的权限。

  6. 完成后,选择保存

您也可以在启用 Security Lake 时添加汇总区域。有关更多信息,请参阅 Amazon Security Lake 入门

API

要以编程方式添加汇总区域,请使用 Security Lake API 的UpdateDataLake操作。如果您使用的是 AWS CLI,请运行该update-data-lake命令。在您的请求中,使用 region 字段指定要向汇总区域提供数据的区域。在replicationConfiguration参数regions数组中,为每个汇总区域指定区域代码。有关区域代码的列表,请参阅 AWS 一般参考 中的 Amazon Security Lake 端点

例如,以下命令设置ap-northeast-2为汇总区域。该us-east-1地区将向该ap-northeast-2地区提供数据。此示例还为添加到数据湖中的对象设定了 365 天的过期期。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠 (\) 行继续符来提高可读性。

$ aws securitylake update-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","replicationConfiguration": {"regions": ["ap-northeast-2"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole"},"lifecycleConfiguration": {"expiration":{"days":365}}}]'

您也可以在启用 Security Lake 时添加汇总区域。为此,请使用CreateDataLake操作(或者,如果使用 AWS CLI,则使用create-data-lake命令)。有关在入职期间配置汇总区域的更多信息,请参阅。Amazon Security Lake 入门

更新或移除汇总区域

选择您的首选访问方式,然后按照以下步骤更新或移除 Security Lake 中的汇总区域。

Console
  1. 打开 Security Lake 控制台:https://console.aws.amazon.com/securitylake/

  2. 在导航窗格中的设置下,选择汇总区域

  3. 选择 Modify(修改)。

  4. 要更改汇总区域的数据提供区域,请在汇总区域行中指定更新后的数据提供区域。

  5. 要移除汇总区域,请在汇总区域行中选择移除

  6. 完成后,选择保存

API

要以编程方式配置汇总区域,请使用 Security Lake API 的UpdateDataLake操作。如果您使用的是 AWS CLI,请运行该update-data-lake命令。在您的请求中,使用支持的参数指定汇总区域设置:

  • 要添加数据提供区域,请使用 region 字段为要添加的区域指定区域代码。在 replicationConfiguration 对象的 regions 阵列中,为每个要向其提供数据的汇总区域指定区域代码。有关区域代码的列表,请参阅 AWS 一般参考 中的 Amazon Security Lake 端点

  • 要移除数据提供区域,请使用 region 字段为要移除的区域指定区域代码。对于 replicationConfiguration 参数,请勿指定任何值。

例如,以下命令将us-east-1和配置us-east-2为贡献区域。两个区域都将向ap-northeast-3汇总区域提供数据。此示例是针对 Linux、macOS 或 Unix 进行格式化的,它使用反斜杠 (\) 行继续符来提高可读性。

$ aws securitylake update-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","replicationConfiguration": {"regions": ["ap-northeast-3"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole"},"lifecycleConfiguration": {"expiration":{"days":365}}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","replicationConfiguration": {"regions": ["ap-northeast-3"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole"}, "lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]'