在 OpenSearch 服务中创建 Amazon Security Lake 数据源集成 - 亚马逊 OpenSearch 服务

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

在 OpenSearch 服务中创建 Amazon Security Lake 数据源集成

您可以使用 Amazon OpenSearch Serverless 直接查询亚马逊安全湖中的安全数据。为此,您需要创建一个数据源,使您能够在 Security Lake 数据上使用 OpenSearch零 ETL 功能。创建数据来源时,您可以直接搜索存储在 Security Lake 中的数据,从中获取见解并分析这些数据。您可以提高查询性能,并使用按需索引对选定的 Security Lake 数据集进行高级 OpenSearch 分析。

先决条件

开始使用之前,请确保您已阅读以下文档:

创建数据来源之前,在 Security Lake 中执行以下操作:

  • 启用 Security Lake。将 Security Lake 配置为收集与您的 OpenSearch 资源AWS 区域相同的日志。有关说明,请参阅《Amazon Security Lake 用户指南》中的 Amazon Security Lake 入门

  • 设置 Security Lake 权限。请确保您已接受资源管理相关的服务关联角色权限,且控制台的问题页面未显示任何问题。。有关更多信息,请参阅《Amazon Security Lake 用户指南》中的Security Lake 服务关联角色

  • 共享 Security Lake 数据来源。使用与 Security Lake 相同的账户进行访问时,请确保没有消息要求 OpenSearch 在 Security Lake 控制台中向 Lake Formation 注册您的 Security Lake 存储桶。要进行跨账户 OpenSearch 访问,请在 Security Lake 控制台中设置 Lake Formation 查询订阅者。使用与您的 OpenSearch 资源关联的账户作为订阅者。有关更多信息,请参阅《Amazon Security Lake 用户指南》中的Security Lake 的订阅用户管理

此外,您还必须在 AWS 账户 中具备以下资源:

  • (可选)手动创建的 IAM 角色。您可以使用此角色以管理对数据来源的访问权限。或者,您可以让 S OpenSearch ervice 自动为您创建具有所需权限的角色。如果选择使用手动创建的 IAM 角色,请按照 手动创建的 IAM 角色所需权限 中的指导进行操作。

过程

您可以在 AWS 管理控制台 中设置数据来源,用于连接 Security Lake 数据库。

要使用设置数据源 AWS 管理控制台

  1. 导航到亚马逊 OpenSearch 服务控制台,网址为https://console.aws.amazon.com/aos/

  2. 在左侧导航窗格中,转到集中管理,然后选择连接的数据来源

  3. 选择连接

  4. 选择 Security Lake 作为数据来源类型。

  5. 选择下一步

  6. 数据连接详细信息下,输入名称和可选描述。

  7. IAM 权限访问设置下,选择如何管理对数据来源的访问权限。

    1. 如果要自动为此数据来源创建角色,请按照以下步骤操作:

      1. 选择创建新角色

      2. 输入 IAM 角色的名称。

      3. 选择一个或多个AWS Glue表来定义可以查询哪些数据。

    2. 如果要使用您自行管理的现有角色,请按照以下步骤操作:

      1. 选择使用现有角色

      2. 从下拉菜单中选择现有角色。

    注意

    使用自有角色时,您必须通过从 IAM 控制台附加所需策略,确保该角色具备所有必要的权限。有关更多信息,请参阅 手动创建的 IAM 角色所需权限

  8. (可选)在标签下,向数据来源添加标签。

  9. 选择下一步

  10. 在 “设置” 下 OpenSearch,选择设置方式 OpenSearch。

    1. 查看默认资源名称和数据留存设置。

      使用默认设置时,将为您创建一个新的 OpenSearch应用程序和 Essentials 工作区,无需支付额外费用。 OpenSearch 使您能够分析多个数据源。OpenSearch 包含工作区,可为常见使用案例提供量身定制的体验。工作区支持访问控制,使您能够为特定使用案例创建私有空间,并仅与协作伙伴共享。

  11. 使用自定义设置:

    1. 选择自定义

    2. 根据需要编辑集合名称和数据留存设置。

    3. 选择要使用的 OpenSearch 应用程序和工作区。

  12. 选择下一步

  13. 查看您的选择,如需进行任何更改,请选择编辑

  14. 选择连接以设置数据来源。创建数据来源期间,请留在此页面。准备就绪后,您将进入数据来源详情页面。

后续步骤

访问 OpenSearch 仪表板并创建仪表板

创建数据源后,S OpenSearch ervice 会为您提供 OpenSearch仪表板 URL。使用此 URL 通过 SQL 或 PPL 查询数据。Security Lake 集成提供预打包的 SQL 和 PPL 查询模板,助您开始分析日志。

有关更多信息,请参阅 在 OpenSearch 控制面板中配置和查询 Security Lake 数据源

其他资源

手动创建的 IAM 角色所需权限

创建数据来源时,您可以选择一个 IAM 角色,以管理对数据的访问权限。你有两个选择:

  1. 自动创建新的 IAM 角色

  2. 使用手动创建的现有 IAM 角色。

如果您使用手动创建的角色,则需为该角色关联正确的权限。这些权限必须允许访问特定的数据源,并允许 S OpenSearch ervice 担任该角色,这样 S OpenSearch ervice 才能安全地访问您的数据并与之交互。此外,向该角色授予您要查询的任何数据库和表的 LakeFormation权限。向该角色DESCRIBE授予您要通过直接查询连接进行查询的 SecurityLake数据库的权限。至少向数据来源角色授予数据库中表的 SELECT and DESCRIBE 权限。

以下示例策略演示了创建和管理数据来源所需的最低权限。如果您拥有更广泛的权限,例如 AdminstratorAccess 策略,则这些权限包含示例策略中的最低权限。

在以下示例政策中,placeholder text 用您自己的信息替换。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AmazonOpenSearchDirectQueryServerlessAccess", "Effect": "Allow", "Action": [ "aoss:APIAccessAll", "aoss:DashboardsAccessAll" ], "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collectionname/*" }, { "Sid": "AmazonOpenSearchDirectQueryGlueAccess", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartition", "glue:GetPartitions", "glue:GetTable", "glue:GetTableVersions", "glue:GetTables", "glue:SearchTables", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:table/databasename/*", "arn:aws:glue:us-east-1:111122223333:database/databasename", "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/default" ] }, { "Sid": "AmazonOpenSearchDirectQueryLakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] } ] }

该角色还必须具有指定目标 ID 的以下信任策略。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "directquery.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

有关创建角色的说明,请参阅使用自定义信任策略创建角色

默认情况下,该角色只能访问直接查询数据来源索引。尽管您可以配置该角色以限制或授予对数据来源的访问权限,但建议不要调整该角色的访问权限。如果您删除数据来源,该角色也将被删除。如果任何其他用户被映射到该角色,则将移除其访问权限。

查询使用客户托管密钥加密的 Securty Lake 数据

如果与数据连接关联的 Security Lake 存储桶使用服务器端加密并由客户托管AWS KMS key,则必须将 LakeFormation 服务角色添加到密钥策略中。这使得该服务能够访问并读取您查询的数据。

在以下示例政策中,placeholder text 用您自己的信息替换。

{ "Sid": "Allow LakeFormation to access the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }