

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

# 的安全 AWS Key Management Service
<a name="kms-security"></a>

云安全 AWS 是重中之重。作为 AWS 客户，您可以从专为满足大多数安全敏感型组织的要求而构建的数据中心和网络架构中受益。

安全是双方共同承担 AWS 的责任。[责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)将此描述为云的安全性和云中的安全性：
+ **云安全** *— AWS 负责保护在 AWS 云中运行 AWS 服务的基础架构。* AWS 还为您提供可以安全使用的服务。作为[AWS 合规计划合规计划合规计划合](https://aws.amazon.com/compliance/programs/)的一部分，第三方审计师定期测试和验证我们安全的有效性。要了解适用于 AWS Key Management Service (AWS KMS) 的合规计划，请参阅按合规计划划分的[范围内的AWSAWS 服务按合规计划](https://aws.amazon.com/compliance/services-in-scope/)。
+ **云端安全** *-您的责任由您使用的 AWS 服务决定。*此外 AWS KMS，除了您的配置和使用外 AWS KMS keys，您还应对其他因素负责，包括数据的敏感性、贵公司的要求以及适用的法律和法规 

本文档可帮助您了解在使用时如何应用分担责任模型 AWS Key Management Service。它向您展示了如何进行配置 AWS KMS 以满足您的安全和合规性目标。

**Topics**
+ [数据保护](data-protection.md)
+ [Identity and access management](security-iam.md)
+ [日志记录和监控](security-logging-monitoring.md)
+ [合规性验证](kms-compliance.md)
+ [恢复能力](disaster-recovery-resiliency.md)
+ [基础结构安全性](infrastructure-security.md)

# 中的数据保护 AWS Key Management Service
<a name="data-protection"></a>

AWS Key Management Service 存储和保护您的加密密钥，使其高度可用，同时为您提供强大而灵活的访问控制。

**Topics**
+ [保护密钥材料](#encryption-key-mgmt)
+ [数据加密](#data-encryption)
+ [互联网络流量隐私](#inter-network-privacy)

## 保护密钥材料
<a name="encryption-key-mgmt"></a>

默认情况下， AWS KMS 生成并保护 KMS 密钥的加密密钥材料。此外，还为在外部创建和保护的密钥材料 AWS KMS 提供了选项 AWS KMS。

### 保护中生成的密钥材料 AWS KMS
<a name="kms-key-material"></a>

创建 KMS 密钥时，默认情况下， AWS KMS 会生成并保护 KMS 密钥的加密材料。

为了保护 KMS 密钥的密钥材料，请 AWS KMS 依靠[经过验证的硬件安全模块（）的 FIPS 140-3 安全等级 3](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884) 的分布式队伍（）。HSMs每个 AWS KMS HSM 都是专用的独立硬件设备，旨在提供专用的加密功能，以满足安全性和可扩展性要求。 AWS KMS（在中国地区 HSMs AWS KMS 使用的已获得OSCCA认证，符合中国所有相关法规，但未[通过](https://www.oscca.gov.cn/) FIPS 140-3加密模块验证计划进行验证。） 

在 HSM 中生成 KMS 密钥的密钥材料时，默认情况下会对其进行加密。密钥材料仅在 HSM 易失性存储器中解密，并且仅在加密操作中使用该密钥所需的几毫秒内解密。每当密钥材料未处于活跃使用状态时，都会在 HSM 中对其进行加密，然后传输到[高度耐用](https://docs.aws.amazon.com/kms/latest/cryptographic-details/durability-protection.html) (99.999999999%)、低延迟的永久存储中，在那里它与密钥材料保持分离和隔离。 HSMs明文密钥材料永远不会离开 HSM [安全边界](https://docs.aws.amazon.com/kms/latest/cryptographic-details/internal-communication-security.html#hsm-security-boundary)；并且永远不会写入磁盘或持久性存放在任何存储介质中。（唯一的例外是非对称密钥对的公有密钥，此密钥对不是秘密的。）

AWS 断言，作为一项基本的安全原则，任何类型的纯文本加密密钥材料都不存在人为交互。 AWS 服务任何人（包括 AWS 服务 操作员）都无法查看、访问或导出纯文本密钥材料。即使在灾难性故障和灾难恢复事件中，该原则也适用。中的纯文本客户密钥材料用 AWS KMS 于 AWS KMS FIPS 140-3 中的加密操作， HSMs 仅在响应客户或其代表向服务提出的授权请求时才进行验证。

对于[客户管理的密钥](concepts.md#customer-mgn-key) AWS 账户 ，创建密钥的人是密钥的唯一且不可转让的所有者。拥有者账户对控制密钥访问权限的授权策略拥有完全和排他性的控制权。对于 AWS 托管式密钥 AWS 账户 ，可以完全控制授权向的请求的 IAM 策略 AWS 服务。

### 保护外部生成的密钥材料 AWS KMS
<a name="other-key-material"></a>

AWS KMS 提供了中生成的密钥材料的替代方案 AWS KMS。

[自定义密钥存储](key-store-overview.md#custom-key-store-overview)是一项可选 AWS KMS 功能，允许您创建由在外部生成和使用的密钥材料支持的 KMS 密钥 AWS KMS。密[AWS CloudHSM 钥存储库](keystore-cloudhsm.md)中的 KMS 密钥由您控制的 AWS CloudHSM 硬件安全模块中的密钥提供支持。 HSMs 它们已通过 [FIPS 140-2安全级别3或140-3安全级别3](https://docs.aws.amazon.com/cloudhsm/latest/userguide/compliance.html) 的认证。[外部密钥存储](keystore-external.md)中的 KMS 密钥由您在外部控制和管理的外部密钥管理器中的密钥支持 AWS，例如私有数据中心的物理 HSM。

另一个可选功能可使您为 KMS 密钥[导入密钥材料](importing-keys.md)。为了在导入的密钥材料传输到时对其进行保护 AWS KMS，您可以使用 AWS KMS HSM 中生成的 RSA 密钥对中的公钥来加密密钥材料。导入的密钥材料在 HSM 中解密，然后在 AWS KMS HSM 中的对称密钥下重新加密。像所有 AWS KMS 密钥材料一样，纯文本导入的密钥材料永远不会留下未加密的 HSMs 密钥。但是，提供密钥材料的客户负责密钥材料在 AWS KMS之外的安全使用、持久性和维护。

## 数据加密
<a name="data-encryption"></a>

中的数据 AWS KMS 由它们所代表 AWS KMS keys 的加密密钥材料组成。此密钥材料仅以纯文本形式存在于 AWS KMS 硬件安全模块 (HSMs) 中，并且仅在使用时才存在。否则，密钥材料将被加密并存储在持久性存储中。

为 KMS 密钥 AWS KMS 生成的密钥材料永远不会离开 AWS KMS HSMs 未加密的边界。它不会在任何 AWS KMS API 操作中导出或传输。[多区域密钥](multi-region-keys-overview.md)是个例外， AWS KMS 它使用跨区域复制机制将多区域密钥的密钥材料从一个 HSM 复制 AWS 区域 到另一个 HSM 中的 HSM。 AWS 区域有关详细信息，请参阅 AWS Key Management Service 加密详细信息中的[多区域密钥复制过程](https://docs.aws.amazon.com/kms/latest/cryptographic-details/replicate-key-details.html)。

**Topics**
+ [静态加密](#encryption-at-rest)
+ [传输中加密](#encryption-in-transit)

### 静态加密
<a name="encryption-at-rest"></a>

AWS KMS 生成符合 [FIPS 140-3 安全级别 3 的硬件安全模块](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884) () AWS KMS keys 中的密钥材料。HSMs唯一的例外是中国区域 HSMs ，用于生成 KMS 密钥的区域符合所有相关的中国法规，但未通过 FIPS 140-3 加密模块验证计划进行验证。 AWS KMS 密钥材料未使用时，会利用 HSM 密钥进行加密，并写入耐久的持久性存储中。KMS 密钥的密钥材料和保护密钥材料的加密密钥永远不会以纯文本 HSMs 形式保留。

KMS 密钥的密钥材料的加密和管理完全由 AWS KMS处理。

有关更多详细信息，请参阅 “ AWS Key Management Service 加密详细信息 AWS KMS keys” 中的 “[使用](https://docs.aws.amazon.com/kms/latest/cryptographic-details/kms-keys.html)”。

### 传输中加密
<a name="encryption-in-transit"></a>

为 KMS 密钥 AWS KMS 生成的密钥材料永远不会在 AWS KMS API 操作中导出或传输。 AWS KMS 在 API 操作中使用密[钥标识符](concepts.md#key-id)表示 KMS 密钥。同样， AWS KMS [自定义密钥存储库中 KMS 密钥的密钥](key-store-overview.md#custom-key-store-overview)材料不可导出，也不会在 AWS KMS 或 AWS CloudHSM API 操作中传输。

但是，某些 AWS KMS API 操作会返回[数据密钥](data-keys.md)。此外，客户可以使用 API 操作来为选定的 KMS 密钥[导入密钥材料](importing-keys.md)。

所有 AWS KMS API 调用都必须使用传输层安全 (TLS) 进行签名和传输。 AWS KMS 需要 TLS 1.2，建议在所有地区使用 TLS 1.3。 AWS KMS 还支持所有区域（中国区域除外）的 AWS KMS 服务终端节点混合后量子 TLS。 AWS KMS 不支持中的 FIPS 端点的混合后量子 TLS。 AWS GovCloud (US)对 AWS KMS 的调用还需要一个现代化的密码套件，该套件支持*完美向前保密*，这意味着任何密钥（如私有密钥）的泄露都不会影响会话密钥。

如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。要使用标准 AWS KMS 端点或 AWS KMS FIPS 端点，客户端必须支持 TLS 1.2 或更高版本。有关可用的 FIPS 端点的更多信息，请参阅《美国联邦信息处理标准（FIPS）第 140-3 版》[https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)。有关 AWS KMS FIPS 终端节点的列表，请参阅中的[AWS Key Management Service 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/kms.html)。 AWS 一般参考

 AWS KMS 服务主机与之间的通信 HSMs 在经过身份验证的加密方案中使用椭圆曲线密码学 (ECC) 和高级加密标准 (AES) 进行保护。有关更多详细信息，请参阅 AWS Key Management Service 加密详细信息中的[内部通信安全](https://docs.aws.amazon.com/kms/latest/cryptographic-details/internal-communication-security.html)。

## 互联网络流量隐私
<a name="inter-network-privacy"></a>

AWS KMS 支持一组 AWS 管理控制台 和一组 API 操作，使您能够创建、 AWS KMS keys 管理和在加密操作中使用它们。

AWS KMS 支持两种网络连接选项，从您的专用网络到 AWS。
+ 通过互联网进行的 IPSec VPN 连接
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/)，它通过标准的以太网光纤电缆将您的内部网络连接到某个 Direct Connect 位置。

所有 AWS KMS API 调用都必须使用传输层安全 (TLS) 进行签名和传输。这些调用还需要一个现代化的密码套件，该套件支持[完美向前保护](https://en.wikipedia.org/wiki/Forward_secrecy)。只有已知的 AWS KMS API 主机才允许通过 AWS 内部网络访问存储 KMS 密钥材料的硬件安全模块 (HSMs)。

要直接 AWS KMS 从您的虚拟私有云 (VPC) 连接而不通过公共互联网发送流量，请使用由提供支持的 VPC 终端节点[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/)。有关更多信息，请参阅 [AWS KMS 通过 VPC 终端节点连接到](kms-vpc-endpoint.md)。

AWS KMS 还支持传输层安全 (TLS) 网络加密协议的[混合后量子密钥交换](pqtls.md)选项。当您连接到 AWS KMS API 端点时，可以将此选项与 TLS 配合使用。

# 的身份和访问管理 AWS Key Management Service
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) 可帮助您安全地控制对 AWS 资源的访问权限。管理员控制谁可以*进行身份验证*（登录）和*授权*（拥有权限）使用 AWS KMS 资源。有关更多信息，请参阅 [将 IAM 策略与配合使用 AWS KMS](iam-policies.md)。

[密钥策略](key-policies.md)是控制中对 KMS 密钥的访问的主要机制 AWS KMS。每个 KMS 密钥都必须有一个密钥策略。您可以使用 [IAM policy](iam-policies.md) 和[授权](grants.md)以及密钥政策来控制对您的 KMS 密钥的访问。有关更多信息，请参阅 [KMS 密钥访问权限和权限](control-access.md)。

如果您使用的是亚马逊虚拟私有云（亚马逊 VPC），则可以[创建一个接口 VPC 终端节点](kms-vpc-endpoint.md)来 AWS KMS 提供支持[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/)。您还可以使用 VPC 终端节点策略来确定哪些委托人可以访问您的 AWS KMS 终端节点、他们可以进行哪些 API 调用以及他们可以访问哪个 KMS 密钥。

**Topics**
+ [AWS 的托管策略 AWS Key Management Service](security-iam-awsmanpol.md)
+ [将服务相关角色用于 AWS KMS](using-service-linked-roles.md)

# AWS 的托管策略 AWS Key Management Service
<a name="security-iam-awsmanpol"></a>

 AWS 托管策略是由创建和管理的独立策略 AWS。 AWS 托管策略旨在为许多常见用例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住， AWS 托管策略可能不会为您的特定用例授予最低权限权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管策略中定义的权限。如果 AWS 更新 AWS 托管策略中定义的权限，则更新会影响该策略所关联的所有委托人身份（用户、组和角色）。 AWS 最有可能在启动新的 API 或现有服务可以使用新 AWS 服务 的 API 操作时更新 AWS 托管策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

## AWS 托管策略： AWSKeyManagementServicePowerUser
<a name="security-iam-awsmanpol-AWSKeyManagementServicePowerUser"></a>

您可以将 `AWSKeyManagementServicePowerUser` 策略附加到 IAM 身份。

您可以使用 `AWSKeyManagementServicePowerUser` 托管式策略为您账户中的 IAM 主体授予高级用户的权限。高级用户可以创建 KMS 密钥、使用和管理他们创建的 KMS 密钥，以及查看所有 KMS 密钥和 IAM 身份。具有 `AWSKeyManagementServicePowerUser` 托管式策略的主体还可以从其他来源获取权限，包括密钥策略、其他 IAM policy 和授权。

`AWSKeyManagementServicePowerUser`是一项 AWS 托管 IAM 策略。有关 AWS 托管策略的更多信息，请参阅 *IAM 用户指南*中的[AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

**注意**  
此策略中特定于 KMS 密钥的权限（例如 `kms:TagResource` 和 `kms:GetKeyRotationStatus`）仅在该 KMS 密钥的密钥策略[明确允许 AWS 账户 使用 IAM policy](key-policy-default.md#key-policy-default-allow-root-enable-iam) 以控制对密钥的访问时才有效。要确认权限是否特定于 KMS 密钥，请参阅 [AWS KMS 权限](kms-api-permissions-reference.md) 并在 **Resources**（资源）列中查找 **KMS 密钥**的值。  
此策略授予高级用户对任何 KMS 密钥执行操作的权限，以及允许该操作的密钥策略。对于跨账户权限（例如 `kms:DescribeKey` 和 `kms:ListGrants`），这可能包括不可信 AWS 账户中的 KMS 密钥。有关详细信息，请参阅 [IAM policy 的最佳实践](iam-policies-best-practices.md) 和 [允许其他账户中的用户使用 KMS 密钥](key-policy-modifying-external-accounts.md)。要确认权限是否对其他账户中的 KMS 密钥有效，请参阅 [AWS KMS 权限](kms-api-permissions-reference.md) 并查找 **Cross-account use**（跨账户使用）列中 **Yes**（是）的值。  
为了让委托人能够毫无错误地查看 AWS KMS 控制台，委托人需要[标记：permis GetResources sion，该标签](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html)未包含在`AWSKeyManagementServicePowerUser`策略中。您可以在单独的 IAM policy 中允许此权限。

[AWSKeyManagementServicePowerUser](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSKeyManagementServicePowerUser) 托管 IAM 策略必须包含以下权限。
+ 允许主体创建 KMS 密钥。由于此过程包括设置密钥策略，因此高级用户可以授予自己和其他人使用和管理他们创建的 KMS 密钥的权限。
+ 允许主体创建和删除所有 KMS 密钥上的[别名](kms-alias.md)和[标签](tagging-keys.md)。更改标签或别名可以允许或拒绝使用和管理 KMS 密钥的权限。有关更多信息，请参阅 [ABAC for AWS KMS](abac.md)。
+ 允许主体获取有关所有 KMS 密钥的详细信息，包括其密钥 ARN、加密配置、密钥策略、别名、标签和[轮换状态](rotate-keys.md)。
+ 允许主体列出 IAM 用户、组和角色。
+ 此策略不允许主体使用或管理他们未创建的 KMS 密钥。但他们可以更改所有 KMS 密钥上的别名和标签，这可能会允许或拒绝其使用或管理 KMS 密钥的权限。

要查看此策略的权限，请参阅《 AWS 托管策略参考》[AWSKeyManagementServicePowerUser](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AWSKeyManagementServicePowerUser.html)中的。

## AWS 托管策略： AWSServiceRoleForKeyManagementServiceCustomKeyStores
<a name="security-iam-awsmanpol-AWSServiceRoleForKeyManagementServiceCustomKeyStores"></a>

您不能将 `AWSServiceRoleForKeyManagementServiceCustomKeyStores` 附加到自己的 IAM 实体。此策略附加到服务相关角色，该角色 AWS KMS 允许查看与您的 AWS CloudHSM 密钥库关联的 AWS CloudHSM 集群，并创建网络以支持您的自定义密钥库与其 AWS CloudHSM 集群之间的连接。有关更多信息，请参阅 [授权 AWS KMS 管理 AWS CloudHSM 和 Amazon EC2 资源](authorize-kms.md)。

## AWS 托管策略： AWSServiceRoleForKeyManagementServiceMultiRegionKeys
<a name="security-iam-awsmanpol-AWSServiceRoleForKeyManagementServiceMultiRegionKeys"></a>

您不能将 `AWSServiceRoleForKeyManagementServiceMultiRegionKeys` 附加到自己的 IAM 实体。此策略会附加到一个向 AWS KMS 授予相关权限的服务相关角色，以将对多区域主密钥的密钥材料做出的任何更改同步到其副本密钥。有关更多信息，请参阅 [授权同步多 AWS KMS 区域密钥](multi-region-auth-slr.md)。

## AWS KMS AWS 托管策略的更新
<a name="security-iam-awsmanpol-updates"></a>

查看 AWS KMS 自该服务开始跟踪这些更改以来 AWS 托管策略更新的详细信息。要获得有关此页面更改的自动提示，请订阅 AWS KMS [文档历史记录](dochistory.md) 页面上的 RSS 源。


| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  [AWSKeyManagementServiceMultiRegionKeysServiceRolePolicy](multi-region-auth-slr.md) – 对现有策略的更新  |  AWS KMS 在策略版本 v2 的托管策略中添加了声明 ID (`Sid`) 字段。  |  2024 年 11 月 21 日  | 
|  [AWSKeyManagementServiceCustomKeyStoresServiceRolePolicy](authorize-kms.md) - 对现有策略的更新  |  AWS KMS 添加了`ec2:DescribeVpcs``ec2:DescribeNetworkAcls`、和`ec2:DescribeNetworkInterfaces`权限以监控包含您的 AWS CloudHSM 集群的 VPC 中的变化，以便在出现故障时 AWS KMS 可以提供清晰的错误消息。  |  2023 年 11 月 10 日  | 
|  AWS KMS 已开始跟踪更改  |  AWS KMS 开始跟踪其 AWS 托管策略的更改。  |  2023 年 11 月 10 日  | 

# 将服务相关角色用于 AWS KMS
<a name="using-service-linked-roles"></a>

AWS Key Management Service 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种与之直接关联的 IAM 角色的独特类型。 AWS KMS服务相关角色由服务定义 AWS KMS 并包含该服务代表您调用其他 AWS 服务所需的所有权限。

服务相关角色使设置变得 AWS KMS 更加容易，因为您不必手动添加必要的权限。 AWS KMS 定义其服务相关角色的权限，除非另有定义，否则 AWS KMS 只能担任其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

只有在先删除相关资源后，才能删除服务相关角色。这样可以保护您的 AWS KMS 资源，因为您不会无意中删除访问资源的权限。

有关支持服务相关角色的其他服务的信息，请参阅[使用 IAM 的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并查找**服务相关角色**列中显示为**是**的服务。选择**是**和链接，查看该服务的服务关联角色文档。

要查看有关本主题中所讨论服务相关角色的更新的详细信息，请参阅 [AWS KMS AWS 托管策略的更新](security-iam-awsmanpol.md#security-iam-awsmanpol-updates)。

**Topics**
+ [授权 AWS KMS 管理 AWS CloudHSM 和 Amazon EC2 资源](authorize-kms.md)
+ [授权同步多 AWS KMS 区域密钥](multi-region-auth-slr.md)

# 授权 AWS KMS 管理 AWS CloudHSM 和 Amazon EC2 资源
<a name="authorize-kms"></a>

要支持您的 AWS CloudHSM 密钥存储， AWS KMS 需要获得有关您的 AWS CloudHSM 集群信息的权限。它还需要权限才能创建将您的 AWS CloudHSM 密钥库连接到其 AWS CloudHSM 集群的网络基础架构。要获得这些权限， AWS KMS 请在 AWS 账户中创建**AWSServiceRoleForKeyManagementServiceCustomKeyStores**服务相关角色。创建 AWS CloudHSM 密钥存储库的用户必须拥有允许他们创建服务相关角色的`iam:CreateServiceLinkedRole`权限。

要查看有关**AWSKeyManagementServiceCustomKeyStoresServiceRolePolicy**托管策略更新的详细信息，请参阅[AWS KMS AWS 托管策略的更新](security-iam-awsmanpol.md#security-iam-awsmanpol-updates)。

**Topics**
+ [关于 AWS KMS 服务相关角色](#about-key-store-slr)
+ [创建服务相关角色](#create-key-store-slr)
+ [编辑服务相关角色描述](#edit-key-store-slr)
+ [删除服务相关角色](#delete-key-store-slr)

## 关于 AWS KMS 服务相关角色
<a name="about-key-store-slr"></a>

[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)是一个 IAM 角色，它授予一项 AWS 服务代表您调用其他 AWS 服务的权限。它旨在让您更轻松地使用多种集成 AWS 服务的功能，而无需创建和维护复杂的 IAM 策略。有关更多信息，请参阅 [将服务相关角色用于 AWS KMS](using-service-linked-roles.md)。

对于 AWS CloudHSM 密钥存储，使用**AWSKeyManagementServiceCustomKeyStoresServiceRolePolicy**托管策略 AWS KMS 创建**AWSServiceRoleForKeyManagementServiceCustomKeyStores**服务相关角色。此策略向该角色授予以下权限：
+ [cloudhsm: describe\$1](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html) — 检测连接到您的自定义密钥存储 AWS CloudHSM 库的集群中的更改。
+ [ec2: CreateSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html) — 在[连接 AWS CloudHSM 密钥存储库](connect-keystore.md)以创建安全组时使用，该组允许 AWS CloudHSM 集群 AWS KMS 之间的网络流量流动。
+ [ec2: AuthorizeSecurityGroupIngress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupIngress.html) — 当您[连接 AWS CloudHSM 密钥存储](connect-keystore.md)以允许网络访问包含您的 AWS CloudHSM 集群的 VPC 时使用。 AWS KMS 
+ [ec2: CreateNetworkInterface](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html) — 在[连接 AWS CloudHSM 密钥库](connect-keystore.md)以创建用于 AWS CloudHSM 集群 AWS KMS 之间通信的网络接口时使用。
+ [ec2: RevokeSecurityGroupEgress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RevokeSecurityGroupEgress.html) — 当您[连接 AWS CloudHSM 密钥存储](connect-keystore.md)库以从 AWS KMS 创建的安全组中删除所有出站规则时使用。
+ [ec2: DeleteSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteSecurityGroup.html) — 用于[断开 AWS CloudHSM 密钥存储](disconnect-keystore.md)的连接，以删除连接 AWS CloudHSM 密钥库时创建的安全组。
+ [ec2: DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html) — 用于监控在包含您的 AWS CloudHSM 集群的 VPC 中 AWS KMS 创建的安全组中的更改，以便在出现故障时 AWS KMS 可以提供清晰的错误消息。
+ [ec2: DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html) — 用于监控包含您的 AWS CloudHSM 集群的 VPC 中的更改， AWS KMS 以便在出现故障时提供清晰的错误消息。
+ [ec2: DescribeNetworkAcls](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkAcls.html) — 用于监控包含您的 AWS CloudHSM 集群的 VPC 的网络 ACLs变化， AWS KMS 以便在出现故障时提供清晰的错误消息。
+ [ec2: DescribeNetworkInterfaces](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNetworkInterfaces.html) — 用于监控在包含您的 AWS CloudHSM 集群的 VPC 中 AWS KMS 创建的网络接口的变化，以便在出现故障时 AWS KMS 可以提供清晰的错误消息。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudhsm:Describe*",
        "ec2:CreateNetworkInterface",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateSecurityGroup",
        "ec2:DescribeSecurityGroups",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:DeleteSecurityGroup",
        "ec2:DescribeVpcs",
        "ec2:DescribeNetworkAcls",
        "ec2:DescribeNetworkInterfaces"
      ],
      "Resource": "*"
    }
  ]
}
```

------

由于**AWSServiceRoleForKeyManagementServiceCustomKeyStores**服务相关角色仅受信任`cks.kms.amazonaws.com`，因此 AWS KMS 只能担任此服务相关角色。此角色仅限于查看您的 AWS CloudHSM 集群以及将 AWS CloudHSM 密钥库连接到其关联 AWS CloudHSM 集群 AWS KMS 所需的操作。它不提供 AWS KMS 任何其他权限。例如， AWS KMS 无权创建、管理或删除您的 AWS CloudHSM 集群或备份。 HSMs

**区域**

与 AWS CloudHSM 密钥库功能一样，该**AWSServiceRoleForKeyManagementServiceCustomKeyStores**角色在所有可用 AWS 区域 的地方 AWS KMS AWS CloudHSM 都受支持。有关每项服务支持的列表 AWS 区域 ，请参阅中的[AWS Key Management Service 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/kms.html)以及[AWS CloudHSM 终端节点和配额*Amazon Web Services 一般参考*](https://docs.aws.amazon.com/general/latest/gr/cloudhsm.html)。

有关服务如何使用 AWS 服务相关角色的更多信息，请参阅 IAM 用户指南中的[使用服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。

## 创建服务相关角色
<a name="create-key-store-slr"></a>

AWS KMS 如果该角色**AWSServiceRoleForKeyManagementServiceCustomKeyStores**尚不存在，则在您创建 AWS CloudHSM 密钥库 AWS 账户 时会自动在中创建该角色。您无法直接创建或重新创建此服务相关角色。

## 编辑服务相关角色描述
<a name="edit-key-store-slr"></a>

您无法在**AWSServiceRoleForKeyManagementServiceCustomKeyStores** 服务相关角色中编辑角色名称或策略语句，但可以编辑角色描述。有关说明，请参阅《IAM 用户指南》**中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除服务相关角色
<a name="delete-key-store-slr"></a>

AWS KMS AWS 账户 即使您已经删除了[所有 AWS CloudHSM 密钥库，也不会从中删除**AWSServiceRoleForKeyManagementServiceCustomKeyStores**](delete-keystore.md)服务相关角色。尽管目前没有删除**AWSServiceRoleForKeyManagementServiceCustomKeyStores**服务相关角色的程序， AWS KMS 但除非您有有效的 AWS CloudHSM 密钥存储，否则不要代入该角色或使用其权限。

# 授权同步多 AWS KMS 区域密钥
<a name="multi-region-auth-slr"></a>

要支持[多区域密钥](multi-region-keys-auth.md)， AWS KMS 需要权限才能将多区域主键的[共享属性](multi-region-keys-overview.md#mrk-sync-properties)与其副本密钥同步。要获得这些权限， AWS KMS 请在 AWS 账户中创建**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**服务相关角色。创建多区域密钥的用户必须具有能让其创建服务相关角色的 `iam:CreateServiceLinkedRole` 权限。

您可以在 AWS CloudTrail 日志中查看记录 AWS KMS 同步共享属性的[SynchronizeMultiRegionKey](ct-synchronize-multi-region-key.md) CloudTrail 事件。

要查看有关**AWSKeyManagementServiceMultiRegionKeysServiceRolePolicy**托管策略更新的详细信息，请参阅[AWS KMS AWS 托管策略的更新](security-iam-awsmanpol.md#security-iam-awsmanpol-updates)。

**Topics**
+ [关于多区域密钥的服务相关角色](#about-multi-region-slr)
+ [创建服务相关角色](#create-mrk-slr)
+ [编辑服务相关角色描述](#edit-mrk-slr)
+ [删除服务相关角色](#delete-mrk-slr)

## 关于多区域密钥的服务相关角色
<a name="about-multi-region-slr"></a>

[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)是一个 IAM 角色，它授予一项 AWS 服务代表您调用其他 AWS 服务的权限。它旨在让您更轻松地使用多种集成 AWS 服务的功能，而无需创建和维护复杂的 IAM 策略。

对于多区域密钥，使用**AWSKeyManagementServiceMultiRegionKeysServiceRolePolicy**托管策略 AWS KMS 创建**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**服务相关角色。此策略将授予角色 `kms:SynchronizeMultiRegionKey` 权限，从而允许它同步多区域密钥的共享属性。

由于**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**服务相关角色仅受信任`mrk.kms.amazonaws.com`，因此 AWS KMS 只能担任此服务相关角色。此角色仅限于 AWS KMS 需要同步多区域共享属性的操作。它不提供 AWS KMS 任何其他权限。例如， AWS KMS 没有创建、复制或删除任何 KMS 密钥的权限。

有关服务如何使用 AWS 服务相关角色的更多信息，请参阅 IAM 用户指南中的[使用服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
        {
            "Sid" : "KMSSynchronizeMultiRegionKey",
            "Effect" : "Allow",
            "Action" : [
                "kms:SynchronizeMultiRegionKey"
            ],
            "Resource" : "*"
        }
    ]
}
```

------

## 创建服务相关角色
<a name="create-mrk-slr"></a>

AWS KMS 如果您创建多区域密钥 AWS 账户 时会自动在中创建**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**服务相关角色（如果该角色尚不存在）。您无法直接创建或重新创建此服务相关角色。

## 编辑服务相关角色描述
<a name="edit-mrk-slr"></a>

您无法编辑**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**服务相关角色中的角色名称或策略声明，但可以编辑角色描述。有关说明，请参阅 *IAM 用户指南*中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除服务相关角色
<a name="delete-mrk-slr"></a>

AWS KMS 不会从您的中删除**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**服务相关角色 AWS 账户 ，也无法将其删除。但是，除非您的 AWS 账户 和区域中有多区域密钥，否则 AWS KMS 不会代入该**AWSServiceRoleForKeyManagementServiceMultiRegionKeys**角色或使用其任何权限。

# 登录和监控 AWS Key Management Service
<a name="security-logging-monitoring"></a>

监控是了解 AWS KMS中的 AWS KMS keys 的可用性、状态和使用情况的重要环节。监控有助于维护 AWS 解决方案的安全性、可靠性、可用性和性能。 AWS 提供了多种用于监控您的 KMS 密钥的工具。

**AWS CloudTrail 日志**  
对 AWS KMS API 操作的每一次调用都会作为事件捕获 AWS CloudTrail 到日志中。这些日志记录了来自 AWS KMS 控制台的所有 API 调用， AWS KMS 以及和其他 AWS 服务发出的调用。跨账户 API 调用（例如调用不同 AWS 账户账户中的 KMS 密钥）会记录在两个账户的 CloudTrail 日志中。  
在进行故障排除或审核时，您可以使用日志重新构建 KMS 密钥的生命周期。您还可以查看其在加密操作中对 KMS 密钥的管理和使用情况。有关更多信息，请参阅 [使用记录 AWS KMS API 调用 AWS CloudTrail](logging-using-cloudtrail.md)。

**Amazon CloudWatch 日志**  
监控、存储和访问来自 AWS CloudTrail 和其他来源的日志文件。有关更多信息，请参阅 [Amazon CloudWatch 用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。  
对于 AWS KMS， CloudWatch 存储有用的信息，可帮助您防止 KMS 密钥及其保护的资源出现问题。有关更多信息，请参阅 [使用 Amazon 监控 KMS 密钥 CloudWatch](monitoring-cloudwatch.md)。

**Amazon EventBridge**  
AWS KMS 当您的 KMS 密钥被[轮换](rotate-keys.md)或[删除](deleting-keys.md)，或者您的 KMS 密钥中[导入的密钥材料](importing-keys.md)过期时，会生成 EventBridge 事件。搜索 AWS KMS 事件（API 操作）并将其路由到一个或多个目标函数或流，以捕获状态信息。有关更多信息，请参阅[使用 Amazon 监控 KMS 密钥 EventBridge](kms-events.md)和 [Amazon EventBridge 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

**亚马逊 CloudWatch 指标**  
您可以使用指标监控您的 KMS 密钥，这些 CloudWatch 指标收集原始数据并将其处理 AWS KMS 为性能指标。数据以两周为间隔记录，因此您可以查看当前信息和历史信息的趋势。这有助于您了解 KMS 密钥的使用情况以及它们的使用情况随时间推移的变化。有关使用 CloudWatch 指标监控 KMS 密钥的信息，请参阅[AWS KMS 指标和维度](monitoring-cloudwatch.md#kms-metrics)。

**亚马逊 CloudWatch 警报**  
监控您指定的时间段内的某个指标的变化。然后在多个时间段内根据相对于给定阈值的指标值执行操作。例如，您可以创建一个 CloudWatch 警报，当有人尝试使用计划在加密操作中删除的 KMS 密钥时触发该警报。这表示 KMS 密钥仍在使用中，可能不应删除。有关更多信息，请参阅 [创建检测待删除 KMS 密钥的使用的警报](deleting-keys-creating-cloudwatch-alarm.md)。

**AWS Security Hub CSPM**  
您可以使用监控自己的 AWS KMS 使用情况，以了解安全行业标准和最佳实践的合规性 AWS Security Hub CSPM。Security Hub CSPM 使用安全控件来评估资源配置和安全标准，以帮助您遵守各种合规框架。有关更多信息，请参阅《AWS Security Hub User Guide》**中的 [AWS Key Management Service controls](https://docs.aws.amazon.com/securityhub/latest/userguide/kms-controls.html)。

# 合规性验证 AWS Key Management Service
<a name="kms-compliance"></a>

 AWS Key Management Service 作为多个合规计划的一部分，第三方审计师对安全性和 AWS 合规性进行评估。其中包括 SOC、PCI、FedRAMP、HIPAA 及其他。

**Topics**
+ [合规性和安全性文档](#compliance-documents)
+ [了解详情](#compliance-more)

## 合规性和安全性文档
<a name="compliance-documents"></a>

以下合规和安全文件包括 AWS KMS。要查看它们，请使用 [AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/what-is-aws-artifact.html)。
+ 云计算合规性控制目录 (C5)
+ ISO 27001:2013 适用性声明 (SoA)
+ ISO 27001:2013 认证
+ ISO 27017:2015 适用性声明 (SoA)
+ ISO 27017:2015 认证
+ ISO 27018:2015 适用性声明 (SoA)
+ ISO 27018:2014 认证
+ ISO 9001:2015 认证
+ PCI DSS 合规证明 (AOC) 和责任摘要
+ 服务组织控制 (SOC) 1 报告
+ 服务组织控制 (SOC) 2 报告
+ 服务组织控制 (SOC) 2 保密性报告
+ FedRAMP-高

有关使用的帮助 AWS Artifact，请参阅在 Artifact [中 AWS 下载报告](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)。

## 了解详情
<a name="compliance-more"></a>

您在使用 AWS KMS 时的合规责任取决于您的数据的敏感性、贵公司的合规目标以及适用的法律和法规。如果您在使用 AWS KMS 时必须遵守已发布的标准，请 AWS 提供资源来帮助：
+ [AWS 按合规计划划分的范围内的 AWS 服务](https://aws.amazon.com/compliance/services-in-scope/)-此页面列出了特定合规计划范围内的服务。有关一般信息，请参阅 [AWS 合规性计划](https://aws.amazon.com/compliance/programs/)。
+ [安全与合规性快速入门指南](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) — 这些部署指南讨论了架构注意事项，并提供了在上部署以安全性和合规性为重点的基准环境的步骤。 AWS
+ [AWS 合规资源](https://aws.amazon.com/compliance/resources/) — 此工作簿和指南集可能适用于您所在的行业和所在地。
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)— 该 AWS 服务评估您的资源配置在多大程度上符合内部实践、行业指导方针和法规。
+ [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)— 此 AWS 服务可全面了解您的安全状态 AWS。Security Hub CSPM 使用安全控制来评估您的 AWS 资源，并检查您的资源是否符合安全行业标准和最佳实践。有关受支持服务及控制措施的列表，请参阅 [Security Hub CSPM 控制措施参考](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html)。

# 韧性在 AWS Key Management Service
<a name="disaster-recovery-resiliency"></a>

 AWS 全球基础设施是围绕 AWS 区域 可用区构建的。 AWS 区域 提供多个物理隔离和隔离的可用区，这些可用区通过低延迟、高吞吐量和高度冗余的网络连接。利用可用区，您可以设计和操作在可用区之间无中断地自动实现失效转移的应用程序和数据库。与传统的单个或多个数据中心基础架构相比，可用区具有更高的可用性、容错性和可扩展性。

除了 AWS 全球基础架构外，还 AWS KMS 提供多项功能来帮助支持您的数据弹性和备份需求。有关 AWS 区域 和可用区的更多信息，请参阅[AWS 全球基础设施](https://aws.amazon.com/about-aws/global-infrastructure/)。

## 区域隔离
<a name="regional-isolation"></a>

AWS Key Management Service (AWS KMS) 是一项自给自足的区域服务，可供所有 AWS 区域人使用。的区域隔离设计 AWS KMS 可确保一个区域的可用性问题 AWS 区域 不会影响任何其他地区的 AWS KMS 运行。 AWS KMS 旨在确保*计划内停机时间为零*，所有软件更新和扩展操作都可以在不察觉的情况下无缝执行。

 AWS KMS [服务等级协议](https://aws.amazon.com/kms/sla/) (SLA) 包括所有 KMS 的 99.999% 的服务承诺。 APIs为履行这一承诺， AWS KMS 会确保执行 API 请求所需的所有数据和授权信息在接收该请求的所有区域主机上都可用。

在每个区域的至少三个可用区 (AZs) 中复制 AWS KMS 基础架构。为确保多台主机故障不会影响 AWS KMS 性能，旨在 AWS KMS 为来自区域内任何一台 AZs 的客户流量提供服务。

您对 KMS 密钥属性或权限所做的更改将复制到该区域中的所有主机，以确保该区域中的任何主机都能正确处理后续请求。使用您的 KMS 密钥进行[加密操作](kms-cryptography.md#cryptographic-operations)的请求会被转发到一组 AWS KMS 硬件安全模块 (HSMs)，其中任何一个模块都可以使用 KMS 密钥执行操作。

## 多租户设计
<a name="multi-tenant"></a>

的多租户设计使其 AWS KMS 能够满足 99.999% 的可用性 SLA，保持较高的请求率，同时保护密钥和数据的机密性。

通过部署多个完整性控制执行机制，以确保实际用于执行加密操作的 KMS 密钥始终是您为该操作指定的密钥。

KMS 密钥的明文密钥材料受到全面保护。密钥材料在创建后将立即在 HSM 中加密，并且加密后的密钥材料会立即移动到安全、低延迟的存储中。加密后的密钥仅在使用时才在 HSM 中检索和解密。明文密钥仅在完成加密操作所需的时间内驻留在 HSM 内存中。然后会在 HSM 中重新加密，并将加密后的密钥退回存储。纯文本密钥材料永远不会离开 HSMs；它永远不会写入永久存储空间。

## 中的弹性最佳实践 AWS KMS
<a name="customer-action"></a>

要优化 AWS KMS 资源的弹性，请考虑以下策略。
+ 要支持备份和灾难恢复策略，请考虑使用*多区域密钥*，这是指在一个 AWS 区域 中创建并且仅复制到您指定区域的 KMS 密钥。使用多区域密钥，您可以在 AWS 区域 （同一分区内）之间移动加密资源，而无需暴露纯文本，并在需要时在任何目标区域中解密资源。相关的多区域密钥是可互操作的，因为它们共享相同的密钥材料和密钥 ID，但使用独立的密钥策略以实现高精度访问控制。有关详细信息，请参阅 [AWS KMS中的多区域密钥](multi-region-keys-overview.md)。
+ 要在多租户服务（例如）中保护您的密钥 AWS KMS，请务必使用访问控制，包括[密钥策略](key-policies.md)和 [IAM 策略](iam-policies.md)。此外，您还可以 AWS KMS 使用由提供支持的 *VPC 接口终端节点*向发送请求 AWS PrivateLink。当您这样做时，您 AWS KMS 的 Amazon VPC 和之间的所有通信都将完全使用仅限于您的 VPC 的专用 AWS KMS 终端节点在 AWS 网络内进行。您可以使用 [VPC 端点策略](https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html#edit-vpc-endpoint-policy)创建额外的授权层，从而进一步保护这些请求的安全。有关详细信息，请参阅[通过 VPC 端点连接到 AWS KMS](kms-vpc-endpoint.md)。

# 中的基础设施安全 AWS Key Management Service
<a name="infrastructure-security"></a>

作为一项托管服务， AWS Key Management Service (AWS KMS) 受《[Amazon Web Services：安全流程概述》中描述的 AWS 全球网络安全程序的](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)保护。

要通过 AWS KMS 网络进行访问，您可以调用 AWS KMS API [参考中描述的AWS Key Management Service API](https://docs.aws.amazon.com/kms/latest/APIReference/) 操作。 AWS KMS 需要 TLS 1.2，建议在所有地区使用 TLS 1.3。 AWS KMS 还支持所有区域（中国区域除外）的 AWS KMS 服务终端节点混合后量子 TLS。 AWS KMS 不支持中的 FIPS 端点的混合后量子 TLS。 AWS GovCloud (US)要使用[标准 AWS KMS 端点](https://docs.aws.amazon.com/general/latest/gr/kms.html)或 [AWS KMS FIPS 端点](https://docs.aws.amazon.com/general/latest/gr/kms.html)，客户端必须支持 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密（PFS）的密码套件，例如 Ephemeral Diffie-Hellman（DHE）或 Elliptic Curve Ephemeral Diffie-Hellman（ECDHE）。大多数现代系统（如 Java 7 及更高版本）都支持这些模式。

此外，必须使用访问密钥 ID 和与 IAM 主体关联的秘密访问密钥来对请求进行签名。或者，您可以使用 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html)（AWS STS）生成临时安全凭证来对请求进行签名。

您可以从任何网络位置调用这些 API 操作，但 AWS KMS 支持全局策略条件，允许您根据源 IP 地址、VPC 和 VPC 终端节点控制对 KMS 密钥的访问。您可以在密钥策略和 IAM policy 中使用这些条件键。但是，这些情况可能会 AWS 阻止您代表您使用 KMS 密钥。有关更多信息，请参阅 [AWS 全局条件键](conditions-aws.md)。

例如，以下密钥策略声明允许可以代入该`KMSTestRole`角色的用户将其 AWS KMS key 用于指定的[加密操作](kms-cryptography.md#cryptographic-operations)，除非源 IP 地址是策略中指定的 IP 地址之一。

------
#### [ JSON ]

****  

```
{
  "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"
        ]
      }
    }
  }
}
```

------

## 物理主机的隔离
<a name="compliance-physical-security"></a>

所 AWS KMS 使用的物理基础设施的安全受到《[Amazon Web Services：**安全流程概述》的 “物理和环境安全**” 部分所述的控制措施的](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)约束。您可以在上一节中列出的合规性报告和第三方审计结果中找到更多详细信息。

AWS KMS 由专用的强化硬件安全模块 (HSMs) 提供支持，该模块具有抵御物理攻击的特定控件。 HSMs 它们是*没有*虚拟化层的物理设备，例如虚拟机管理程序，在多个逻辑租户之间共享物理设备。的密钥材料 AWS KMS keys 仅存储在上的易失性存储器中 HSMs，并且仅在使用 KMS 密钥时存储。当 HSM 退出操作状态（包括预期和意外关机和重置）时，此内存将被擦除。有关操作的详细信息 AWS KMS HSMs，请参阅[AWS Key Management Service 加密详细信息](https://docs.aws.amazon.com/kms/latest/cryptographic-details/)。