本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Amazon OpenSearch 服务加密静态数据
OpenSearch 服务域提供静态数据加密,这是一项有助于防止未经授权访问您的数据的安全功能。该功能使用 AWS Key Management Service (AWS KMS) 来存储和管理您的加密密钥,并使用 256 位密钥 (AES-256) 使用高级加密标准算法来执行加密。如果启用,该功能会对域的以下方面进行加密:
-
所有索引(包括 UltraWarm 存储中的索引)
-
OpenSearch 日志
-
交换文件
-
应用程序目录中的所有其他数据
-
自动快照
以下内容在您启用静态数据加密时不会 加密,但您可以执行额外的步骤来保护它们:
注意
如果已在现有域上启用冷存储, UltraWarm 则无法在该域上启用静态加密。您必须先禁用 UltraWarm 或冷存储,启用静态加密,然后重新启用 UltraWarm 或冷存储。如果要将索引保留在 UltraWarm 或冷存储中,则必须在禁用索引 UltraWarm 或冷存储之前将其移至热存储。
OpenSearch 服务仅支持对称加密KMS密钥,不支持非对称加密密钥。要了解如何创建对称密钥,请参阅 AWS Key Management Service 开发人员指南中的创建密钥。
无论是否启用静态加密,所有域都会使用 AES -256 和 OpenSearch 服务管理的密钥自动加密自定义软件包。
权限
要使用 OpenSearch 服务控制台配置静态数据的加密,您必须具有读取权限 AWS KMS,例如以下基于身份的策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:List*", "kms:Describe*" ], "Resource": "*" } ] }
如果要使用 AWS 自有密钥以外的密钥,则还必须有权为该密钥创建授权。这些权限通常采用基于资源的策略的形式,您在创建密钥时会指定该策略。
如果您想将密钥保留为 OpenSearch 服务专用,则可以在该密钥策略中添加 kms: ViaService 条件:
"Condition": { "StringEquals": { "kms:ViaService": "es.
us-west-1
.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } }
有关更多信息,请参阅《AWS Key Management Service 开发人员指南》 AWS KMS中的使用密钥策略。
启用静态数据加密
对新域名上的静态数据进行加密需要 OpenSearch 或 Elasticsearch 5.1 或更高版本。在现有域名上启用它需要或 Elasticsearch 6.7 OpenSearch 或更高版本。
启用静态数据控制台加密
-
在 AWS 控制台中打开该域,然后选择操作和编辑安全配置。
-
在 Encryption(加密)下,选择 Enable encryption of data at rest(启用静态数据加密)。
-
选择要使用的 AWS KMS 密钥,然后选择 “保存更改”。
您也可以通过配置启用加密API。以下请求允许对现有域中的静态数据进行加密:
{ "ClusterConfig":{ "EncryptionAtRestOptions":{ "Enabled": true, "KmsKeyId":"arn:aws:kms:us-east-1:123456789012:alias/my-key" } } }
已禁用或已删除的KMS密钥
如果您禁用或删除用于加密域名的密钥,则该域将无法访问。 OpenSearch 服务会向您发送通知,通知您它无法访问KMS密钥。立即重新启用密钥以访问您的域。
如果您的密钥被删除, OpenSearch 服务团队将无法帮助您恢复数据。 AWS KMS 只有在等待至少七天后才会删除密钥。如果您的密钥正在等待删除,请取消删除或拍摄手动快照,以防止数据丢失。
禁用静态数据加密
在您配置一个域以对静态数据进行加密后,您无法禁用该设置。相反,您可以随时拍摄现有域的手动快照,创建另一个域,迁移您的数据和删除旧域。
监控对静态数据进行加密的域
对静态数据进行加密的域有两个额外指标:KMSKeyError
和 KMSKeyInaccessible
。仅当域发现您的加密密钥存在问题时,才会显示这些指标。有关这些指标的完整说明,请参阅集群指标。您可以使用 OpenSearch 服务控制台或 Amazon CloudWatch 控制台查看它们。
提示
每个指标都代表一个域的重大问题,因此我们建议您为这两个指标创建 CloudWatch 警报。有关更多信息,请参阅 Amazon OpenSearch 服务的推荐 CloudWatch 警报。
其他考虑因素
-
自动密钥轮换会保留 AWS KMS 密钥的属性,因此轮换不会影响您访问 OpenSearch 数据的能力。加密 OpenSearch 服务域不支持手动密钥轮换,这包括创建新密钥和更新对旧密钥的所有引用。如需了解更多信息,请参阅 AWS Key Management Service 开发人员指南中的轮换密钥。
-
某些实例类型不支持静态数据加密。有关详细信息,请参阅Amazon OpenSearch 服务中支持的实例类型。
-
对静态数据进行加密的域对其自动快照使用了不同的存储库名称。有关更多信息,请参阅 还原快照。
-
虽然我们强烈建议启用静态加密,但这可能会增加额外的CPU开销和几毫秒的延迟。但是,大多数使用案例对这些差异并不敏感,影响的程度取决于集群、客户端和使用情况配置文件的配置。