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

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

Amazon S OpenSearch ervice 中的静态数据加密

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

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

  • OpenSearch 日志

  • 交换文件

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

  • 自动快照

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

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

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

注意

如果在域上启用了冷存储, UltraWarm 则您无法在现有域上启用静态加密。必须先禁用 UltraWarm 或冷存储,再启用静态加密,然后重新启用 UltraWarm 或冷存储。如果要将索引保留在冷存储中 UltraWarm ,则必须先将其移至热存储,然后才能禁用 UltraWarm 或冷存储。

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

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

权限

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

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

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

如果您希望保持密钥专供 S OpenSearch ervice 使用,可将 k ms: 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 或更高版本。在现有域上启用它需要 Elasticsearch 6.7 OpenSearch 或更高版本。

启用静态数据控制台加密
  1. 在 Amazon 控制台中打开该域,然后选择操作编辑安全配置

  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 服务将向您发送通知,告知您它不能访问 KMS 密钥。立即重新启用密钥以访问您的域。

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

禁用静态数据加密

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

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

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

提示

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

其他考虑因素

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

  • 某些实例类型不支持静态数据加密。有关更多信息,请参阅 AZon S OpenSearch ervice 中支持的实例类型

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

  • 虽然我们强烈建议启用静态加密,但它可能会增加额外的 CPU 开销和几毫秒的延迟。但是,大多数使用案例对这些差异并不敏感,影响的程度取决于集群、客户端和使用情况配置文件的配置。