本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的基础设施安全 Amazon Key Management Service
作为一项托管服务, Amazon Key Management Service (Amazon KMS) 受《Amazon Web Services:安全流程概述》中描述的 Amazon 全球网络安全程序的
要通过 Amazon KMS 网络进行访问,您可以调用 Amazon KMS API 参考中描述的Amazon Key Management Service API 操作。 Amazon KMS 需要 TLS 1.2,建议在所有地区使用 TLS 1.3。 Amazon KMS 还支持所有区域(中国区域除外)的 Amazon KMS 服务终端节点混合后量子 TLS。 Amazon KMS 不支持中的 FIPS 端点的混合后量子 TLS。 Amazon GovCloud (US)要使用标准 Amazon KMS 端点或 Amazon KMS FIPS 端点,客户端必须支持 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密(PFS)的密码套件,例如 Ephemeral Diffie-Hellman(DHE)或 Elliptic Curve Ephemeral Diffie-Hellman(ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。
此外,必须使用访问密钥 ID 和与 IAM 主体关联的秘密访问密钥来对请求进行签名。或者,您可以使用 Amazon Security Token Service(Amazon STS)生成临时安全凭证来对请求进行签名。
您可以从任何网络位置调用这些 API 操作,但 Amazon KMS 支持全局策略条件,允许您根据源 IP 地址、VPC 和 VPC 终端节点控制对 KMS 密钥的访问。您可以在密钥策略和 IAM policy 中使用这些条件键。但是,这些情况可能会 Amazon 阻止您代表您使用 KMS 密钥。有关详细信息,请参阅Amazon 全局条件键。
例如,以下密钥策略声明允许可以代入该KMSTestRole
角色的用户将其 Amazon KMS key 用于指定的加密操作,除非源 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" ] } } } }
物理主机的隔离
所 Amazon KMS 使用的物理基础设施的安全受到《Amazon Web Services:安全流程概述》的 “物理和环境安全” 部分所述的控制措施的
Amazon KMS 由专用的强化硬件安全模块 (HSMs) 提供支持,该模块具有抵御物理攻击的特定控件。 HSMs 它们是没有虚拟化层的物理设备,例如虚拟机管理程序,在多个逻辑租户之间共享物理设备。的密钥材料 Amazon KMS keys 仅存储在上的易失性存储器中 HSMs,并且仅在使用 KMS 密钥时存储。当 HSM 退出操作状态(包括预期和意外关机和重置)时,此内存将被擦除。有关操作的详细信息 Amazon KMS HSMs,请参阅Amazon Key Management Service 加密详细信息。