Amazon OpenSearch Service 中的静态数据加密 - Amazon Opensearch Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon OpenSearch Service 中的静态数据加密

OpenSearch Service 域提供了静态数据加密,这是一种有助于防止他人未经授权访问您的数据的安全功能。该功能使用 Amazon Key Management Service (Amazon KMS) 存储和管理您的加密密钥,并使用具有 256 位密钥的高级加密标准算法 (AES-256) 来执行加密。如果启用,该功能会对域的以下方面进行加密:

  • 所有索引(包括 UltraWarm 存储中的索引)

  • OpenSearch 日志

  • 交换文件

  • 应用程序目录中的所有其他数据

  • 自动快照

以下内容在您启用静态数据加密时不会 加密,但您可以执行额外的步骤来保护它们:

  • 手动快照:您无法使用 Amazon KMS 密钥对手动快照进行加密。但是,您可以使用 S3 托管密钥的服务器端加密或 KMS 密钥对您用作快照存储库的存储桶进行加密。有关说明,请参阅注册手动快照存储库

  • 显示日志和错误日志:如果您发布了日志并希望对其进行加密,则可以使用与 OpenSearch Service 域相同的 Amazon KMS 密钥对其 CloudWatch Logs 日志组进行加密。有关更多信息,请参阅 Amazon CloudWatch Logs 用户指南中的使用 Amazon KMS 加密 CloudWatch Logs 中的日志数据

OpenSearch Service 仅支持对称 KMS 密钥,不支持非对称 KMS 密钥。要了解如何创建对称密钥,请参阅 Amazon Key Management Service 开发人员指南中的创建密钥

无论是否启用静态加密,所有域都会使用 AES-256 和 OpenSearch Service 托管的密钥自动加密自定义程序包

权限

要使用 OpenSearch Service 控制台配置静态数据加密,您必须拥有 Amazon KMS 的读取权限,如以下基于身份的策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:List*", "kms:Describe*" ], "Resource": "*" } ] }

如果要使用 Amazon 拥有密钥之外的密钥,您还必须拥有为密钥创建授权的权限。这些权限通常采用基于资源的策略的形式,您在创建密钥时会指定该策略。

如果您希望密钥专供 OpenSearch Service 使用,可将 kms:ViaService 条件添加到密钥策略:

"Condition": { "StringEquals": { "kms:ViaService": "es.us-west-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } }

有关更多信息,请参阅 Amazon Key Management Service 开发人员指南中的使用 Amazon KMS 中的密钥策略

启用静态数据加密

新域中的静态数据加密需要 OpenSearch 或 Elasticsearch 5.1 或更高版本。在现有域上启用它需要 OpenSearch 或 Elasticsearch 6.7 或更高版本。

启用静态数据控制台加密

  1. 在 Amazon 控制台中打开现有域、然后选择 Actions(操作)和 Edit security configuration(编辑安全配置)。

  2. Encryption(加密)下,选择 Enable encryption of data at rest(启用静态数据加密)。

  3. 选择要使用的 Amazon KMS 密钥,然后再选择 Save changes(保存更改)。

此外,您还可以通过配置 API 启用加密。以下请求允许对现有域中的静态数据进行加密:

{ "ClusterConfig":{ "EncryptionAtRestOptions":{ "Enabled": true, "KmsKeyId":"arn:aws:kms:us-east-1:123456789012:alias/my-key" } } }

已禁用或已删除 KMS 密钥

如果您禁用或删除了用于对某个域进行加密的密钥,该域将变得无法访问。OpenSearch Service 将向您发送通知,告知您它不能访问 KMS 密钥。立即重新启用密钥以访问您的域。

如果已删除密钥,则 OpenSearch Service 团队无法帮助您恢复数据。Amazon KMS 只会在至少七天等待期之后删除密钥。如果您的密钥正在等待删除,请取消删除或拍摄手动快照,以防止数据丢失。

禁用静态数据加密

在您配置一个域以对静态数据进行加密后,您无法禁用该设置。相反,您可以随时拍摄现有域的手动快照创建另一个域,迁移您的数据和删除旧域。

监控对静态数据进行加密的域

对静态数据进行加密的域有两个额外指标:KMSKeyErrorKMSKeyInaccessible。仅当域发现您的加密密钥存在问题时,才会显示这些指标。有关这些指标的完整说明,请参阅集群指标。您可以使用 OpenSearch Service 控制台或 Amazon CloudWatch 控制台查看它们。

提示

每个指标都表示域的一个重大问题,因此我们建议您为两者创建 CloudWatch 警报。有关更多信息,请参阅 为 Amazon OpenSearch Service 推荐的 CloudWatch 警报

其它考虑因素

  • 自动密钥轮换将保留 Amazon KMS 密钥的属性,因此轮换不会影响您访问 OpenSearch 数据的能力。加密 OpenSearch Service 域不支持手动密钥轮换,手动密钥轮换涉及创建新的密钥和将任何参考更新到旧密钥。如需了解更多信息,请参阅 Amazon Key Management Service 开发人员指南中的轮换密钥

  • 某些实例类型不支持静态数据加密。有关详细信息,请参阅Amazon OpenSearch Service 中支持的实例类型

  • 对静态数据进行加密的域对其自动快照使用了不同的存储库名称。有关更多信息,请参阅 还原快照

  • 加密 OpenSearch Service 域需要授权,每个加密密钥都有一个限制,即,每个委托人 500 个授权。此限制意味着您可以使用单个密钥进行加密的 OpenSearch Service 域的最大数量为 500。目前,OpenSearch Service 最多支持每账户(每区域)100 个域,因此此授权限制无关紧要。但是,如果每个账户的域限制提升,授权限制可能变得相关。

    如果您到那时需要加密超过 500 个域,可以创建额外的密钥。密钥是区域性而不是全球性的,因此,如果您在多个 Amazon Web Services 区域 区域中进行操作,则需要多个密钥。