使用客户托管密钥加密 OpenSearch UI 应用程序元数据 - 亚马逊 OpenSearch 服务

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

使用客户托管密钥加密 OpenSearch UI 应用程序元数据

视觉资产和配置以元数据形式存储在 OpenSearch UI 应用程序中。这包括已保存的查询、可视化和仪表板。来自关联数据源的数据不存储在元数据中。有关加密数据源中数据的信息,请参阅 Amazon OpenSearch 服务中的 OpenSearch 域名数据保护和针对 OpenSearch 无服务器集合的 Amaz on Serverless 中的加密

您的 OpenSearch 界面元数据受静态加密保护。这样可以防止未经授权的访问。加密使用 AWS Key Management Service (AWS KMS) 来存储和管理加密密钥。默认情况下, OpenSearch 用户界面元数据使用 AWS 自有密钥进行加密。

您还可以使用客户管理密钥 (CMK) 功能来管理自己的加密密钥。这可以帮助您满足监管和合规要求。要使用 CMK,您必须创建一个新的 OpenSearch UI 应用程序并在创建过程中启用 CMK。目前不支持将现有 OpenSearch UI 应用程序从 AWS 自有密钥更新为 CMK。

何时使用客户托管密钥:

  • 您的组织对密钥管理有监管合规要求

  • 您需要对加密密钥使用情况进行审计跟踪

  • 你想控制密钥轮换计划

  • 您需要与现有的密钥管理工作流程集成

使用客户管理的密钥时,您可以完全控制该密钥。这包括以下能力:

  • 建立和维护密钥策略

  • 创建和维护 IAM 策略和授权

  • 启用和禁用密钥

  • 轮换密钥的加密材料

  • 为密钥添加标签

  • 创建密钥别名

  • 安排删除密钥

注意

客户管理的密钥必须与 OpenSearch 用户界面应用程序 AWS 区域 相同。您不能使用来自其他地区的密钥。

使用客户托管密钥的先决条件

在使用客户托管密钥加密 OpenSearch 用户界面应用程序元数据之前,必须先在中 AWS KMS创建对称加密密钥。有关创建密钥的说明,请参阅《AWS KMS 开发者指南》中的创建密钥

您的客户托管密钥的密钥策略必须授予 OpenSearch 用户界面使用该密钥的权限。使用以下密钥策略,将placeholder values替换为您自己的信息:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOpenSearchUIToUseKey", "Effect": "Allow", "Principal": { "Service": [ "application.opensearchservice.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowKeyAdministration", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:root" }, "Action": "kms:*", "Resource": "*" } ] }

该策略包含两条语句:

  • 第一条语句允许 OpenSearch UI 使用密钥进行加密操作。

  • 第二条语句 AWS 账户 允许您的用户管理密钥。这包括更新密钥策略、启用或禁用密钥以及计划删除密钥的权限。您可以通过将根委托人替换为特定的 IAM 用户或角色来进一步限制这些权限。

有关密钥策略的更多信息,请参阅《AWS KMS 开发人员指南》 AWS KMS中的使用密钥策略

使用控制台创建采用客户托管密钥加密的应用程序

在控制台中创建 OpenSearch UI 应用程序时,您可以指定用于加密应用程序元数据的客户托管密钥。

使用控制台创建采用客户托管密钥加密的 OpenSearch UI 应用程序
  1. https://console.aws.amazon.com/aos/家中登录亚马逊 OpenSearch 服务控制台。

  2. 在左侧导航窗格中,选择 OpenSearch UI(控制面板)

  3. 选择创建应用程序

  4. 应用程序名称中,输入应用程序的名称。

  5. 根据需要配置身份验证和管理员设置。有关更多信息,请参阅 开始使用 Amazon OpenSearch 服务中的 OpenSearch 用户界面

  6. 加密部分中,对于静态加密,选择使用客户托管密钥

  7. 从列表中选择现有的客户托管密钥,或者选择创建密钥以在中创建新密钥 AWS KMS。

    注意

    密钥必须与您正在创建的应用程序 AWS 区域 相同。

  8. (可选)向应用程序添加标签。

  9. 选择创建

使用客户托管密钥加密创建应用程序 AWS CLI

要使用创建使用客户托管密钥加密的 OpenSearch UI 应用程序 AWS CLI,请使用带参数的 create-applic ation 命令。--kms-key-arn

placeholder values 替换为您自己的信息。

aws opensearch create-application \ --name my-application \ --kms-key-arn arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

如果您未指定--kms-key-arn参数,则 OpenSearch 使用 AWS托管密钥加密应用程序的元数据。

监控客户托管密钥的使用情况

当您在 OpenSearch 用户界面应用程序中使用客户托管密钥时,会在 AWS CloudTrail 日志中 AWS KMS 记录该密钥的每一次使用情况。您可以使用这些日志来监控密钥的使用方式和时间。日志显示哪个用户或服务访问了密钥。

AWS AWS KMS 每年自动轮换客户管理的密钥。您也可以根据需要手动轮换密钥。有关密钥轮换的更多信息,请参阅AWS KMS 开发人员指南中的轮换 KMS 密钥

有关监控密钥使用情况的更多信息,请参阅AWS KMS 开发者指南 AWS CloudTrail中的使用记录 AWS KMS API 调用

注意

使用客户托管的密钥会产生 AWS KMS 费用。费用基于存储的 API 请求和密钥的数量。有关定价的详细信息,请参阅AWS 密钥管理服务定价

更新加密设置

创建 OpenSearch UI 应用程序后,您无法更改其加密设置。如果您需要使用其他客户托管密钥,则必须创建新的应用程序。如果您需要在 AWS托管密钥和客户托管密钥之间切换,则还必须使用所需的加密设置创建一个新的应用程序。

重要

在禁用或删除客户托管密钥之前,请考虑以下事项:

  • 如果您禁用密钥,应用程序将无法访问其加密的元数据。您必须重新启用相同的密钥才能恢复访问权限。

  • 如果删除密钥,则应用程序的已保存对象将永久无法访问。这包括查询、可视化和仪表板。已删除的密钥无法恢复。

  • 我们建议您在对密钥状态进行任何更改之前记录您的密钥 ARN。

后续步骤

为应用程序配置 CMK 加密后,您可以: