AWS Key Management Service 中的基础设施安全性 - AWS Key Management Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

AWS Key Management Service 中的基础设施安全性

作为托管服务, AWS Key Management Service (AWS KMS)受到 AWS 在 AmazonWebServices: :安全流程概述(白皮书)

访问 AWS KMS 通过网络,您可以将 AWS KMS API操作描述在 AWS Key Management Service API Reference. 使用 标准 AWS KMS 终点,客户端必须支持TransportLayerSecurity(TLS)1.0或更高版本。使用 AWS KMS FIPS端点,客户端必须支持TLS1.2或更高版本。客户端还必须支持具有完全向前保密 (PFS) 的密码套件,例如 Ephemeral Diffie-Hellman (DHE) 或 Elliptic Curve Ephemeral Diffie-Hellman (ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

此外,必须使用访问密钥 ID 和与 IAM 委托人关联的秘密访问密钥来对请求进行签名。或者,您可以使用 AWS Security Token Service (AWS STS) 生成临时安全凭证来对请求进行签名。

您可以从任何网络位置调用这些API操作,但是 AWS KMS 支持全局策略条件,可以根据源IP地址、vPC和vpc端点,控制对CMK的访问。您可以在关键策略和 IAM 政策。但是,这些条件可以防止 AWS 代表您使用CMK。有关详细信息,请参阅 AWS 全局条件键

例如,以下关键策略声明允许用户假设 KMSTestRole 用于指定的使用此客户主密钥(CMK)的角色 加密操作 除非源IP地址是策略中指定的IP地址之一。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/KMSTestRole"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24" ] } } } }

物理主机的隔离

物理基础设施的安全性 AWS KMS 使用受到 物理和环境安全 部分 AmazonWebServices: :安全流程概述(白皮书) 您可以在上一节列出的合规报告和第三方审计结果中详细了解详情。

AWS KMS 受专门硬化硬件安全模块(HSMS)支持,专门设计用于抵抗物理攻击。HSMS是物理设备, 不要 拥有虚拟化层,例如虚拟机管理程序,这些虚拟化层在多个逻辑租户中共享物理设备。关键材料 AWS KMS 客户主密钥(CMK)仅存储在HSMS上的挥发性存储器中,并且仅在CMK正在使用时存储。当HSM从操作状态移出时,此内存会被擦除,包括预期和非预期停机和重置。有关 AWS KMS HSMS,请参阅 AWS Key Management Service 加密详情白皮书.