控制台和登录入口整合在这里了。

确定

密钥管理服务

密钥管理服务 (Key Management Service) 是一款安全易用的管理类服务。在密钥管理服务中,您可以根据需要创建、删除和管理加密密钥。

免费开通

密钥管理服务

阿里云云密钥管理服务(KMS)是一种安全,易于使用的服务,用于创建,控制和管理用于保护数据的加密密钥。

借助阿里云KMS,您可以有效地保护密钥的机密性,完整性和可用性,同时节省成本。 您可以将其与其他阿里云服务(如ApsaraDB for RDS,OSS等)集成,以加密关键信息,例如存储在这些服务中的证书和密钥。 您可以安全,方便地使用这些密钥,并专注于开发加密/解密功能场景。

KMS要解决的主要需求:

角色 问题 KMS如何解决
应用/网站开发者 我的程序需要使用密钥、证书用于加密或者签名,我希望密钥管理的功能是安全且独立的。不论我的应用部署在哪里,都能安全的访问到密钥。我绝不接受把明文的密钥到处部署,这太危险了 使用信封加密技术,主密钥存放在KMS服务中,只部署加密后的数据密钥,仅在需要使用时调用KMS服务解密数据密钥
服务开发者 我不想承担客户密钥、数据的安全责任。我希望用户自己管理他的密钥;在拥有授权的情况下,我会使用用户指定的密钥加密他的数据。这样,我就能专注于服务功能的开发 基于信封加密技术以及KMS开放的API,服务能够集成KMS,使用用户指定的主密钥完成数据密钥的加解密,能够轻松的实现明文不落盘的要求,也不用为管理用户的密钥而犯愁
首席安全官(CSO) 我希望公司的密钥管理能满足合规需求。我需要确保密钥都被合理的授权,任何使用密钥的情况都必须被审计 KMS服务接入RAM服务实现统一的授权管理

优点

完全托管

  • 通过存储在KMS中客户主密钥(CMK),实现数据密钥的轻松加密/解密。

  • 管理底层基础架构的可用性,安全性和可维护性。

安全

  • 通过TLS协议传输数据,以确保数据的安全性。

轻松管理用户密钥

  • 使用指定的用户主密钥,轻松加密/解密数据。

  • 免除了将明文直接存储在存储设备中的隐患。

易于使用

  • 支持使用RESTful API与第三方集成。

  • 与RAM集成,支持统一授权管理。

  • 提供统一且易于使用的API;支持标准的HTTPS协议。

多区域支持

  • 支持全球五个地区;对于不同区域中的每个用户有独立的使用限制。

经济实惠

  • 与采购昂贵的硬件设备相比,节省成本。

  • 根据您的业务需求,按需付费。

产品详情

阿里云云密钥管理服务(KMS)是一种完全托管的服务,用于创建,删除和管理加密密钥以保护您的数据。 对于常见的密钥管理方案,您可以使用API或阿里云管理控制台来生成和管理用户主密钥(CMK)。

对于普通的加密/解密场景,您可以直接使用API加解密少量数据,或者通过信封加密技术在本地加密大量数据。

此外,您可以定义数据加密的使用策略。 您可以将其与各种阿里云存储服务集成,以确保存储数据的安全性。

您能够使用SDK和API轻松加密数据或数据密钥。


功能

密钥管理类功能

  • 允许您创建,查看,启用和禁用用户主密钥。

  • 您能够查看整个主密钥列表,包括与KMS集成的所有服务为您创建的密钥。

安全

  • 在使用SDK访问密钥时,启用HTTPS协议以保护数据安全。

  • 支持HMAC-SHA1签名方案。

  • 保持用于保护数据的密钥的机密性,完整性和可用性。

多区域支持

地域 地域Id 公共网络地址 专有网络地址
华东1(杭州) cn-hangzhou kms.cn-hangzhou.aliyuncs.com kms-vpc.cn-hangzhou.aliyuncs.com
新加坡 ap-southeast-1 kms.ap-southeast-1.aliyuncs.com kms-vpc.ap-southeast-1.aliyuncs.com
华东2(上海) cn-shanghai kms.cn-shanghai.aliyuncs.com kms-vpc.cn-shanghai.aliyuncs.com
华北2(北京) cn-beijing kms.cn-beijing.aliyuncs.com kms-vpc.cn-beijing.aliyuncs.com
华南1(深圳) cn-shenzhen kms.cn-shenzhen.aliyuncs.com kms-vpc.cn-shenzhen.aliyuncs.com
日本 ap-northeast-1 kms.ap-northeast-1.aliyuncs.com kms-vpc.ap-northeast-1.aliyuncs.com
德国 eu-central-1 kms.eu-central-1.aliyuncs.com kms-vpc.eu-central-1.aliyuncs.com

易于集成

  • 轻松与其他阿里云服务(如ApsaraDB for RDS)集成,以保护您存储在这些服务中的数据。

  • 加密存储在对象存储服务中的静态文件,以确保安全性。

信封加密技术

  • 允许您传输和使用加密的数据;其中,数据密钥被封装在信封中;而用户主密钥,被保存在KMS中。

  • 允许您仅在需要时才访问KMS解密数据密钥。

可扩展性和可靠性

  • 根据您的业务需求自动调整以满足加密需求。

  • 您的主密钥的加密版本会有多个副本,以确保高可靠性和高可用性。

  • 通常会部署在区域内的多个可用区域中,以确保加密密钥的高可用性。

场景

下面列出了几个常见的KMS使用场景:

1. 直接使用KMS对小量数据进行加密/解密:

您可以直接调用KMS API,指定特定的用户主密钥(CMK)加密和解密数据。此方案适用于少量数据(小于4KB)的加密和解密。 数据通过安全通道传输到KMS服务器,在服务器加密或解密,并通过安全通道返回。

保护服务器上的HTTPS证书:

流程:

  • 创建用户主密钥(CMK)。

  • 调用KMS的加密接口将明文证书加密为密文证书。

  • 在服务器上部署密文证书。

  • 当服务器启动并需要使用证书时,调用KMS的解密接口将密文证书解密为明文证书。

2. 使用信封加密技术对大量数据执行本地加密/解密:

信封加密技术类似于数字数字信封技术,它允许您通过将加密的数据密钥(DK)封装在信封中,以此方式来存储、传输和使用加密密钥,而不是直接使用用户主密钥(CMK)加密/解密数据。这种方案适合大量数据需要加密或解密的场景。

您可以直接调用KMS API,使用指定的用户主密钥生成和解密数据密钥,并使用数据密钥进行本地数据加密和解密。您不需要通过网络传输大量的数据,从而节省成本。

这消除了各种常见的安全风险,例如窃听和网络钓鱼。

加密本地文件:

加密流程:

  • 创建一个用户主密钥。

  • 调用KMS的GenerateDataKey接口生成数据密钥,获得明文数据密钥和密文数据密钥。

  • 使用明文数据密钥加密文件,生成密文文件。

  • 将密文数据密钥和密文文件绑定,存储到永久存储设备或服务。

解密本地文件:

解密流程:

  • 从永持久储设备或服务中读取密文数据密钥和密文文件。

  • 调用KMS的解密接口解密密文数据密钥,获得明文数据密钥。

  • 使用明文数据密钥解密文件。

使用入门

为了更好地管理您的密钥,可以访问KMS API和SDK。

通过管理控制台使用密钥管理服务

阿里云管理控制台提供了一个简单的基于Web的用户界面,用于创建、查看、启用和禁用您的密钥。

KMS API参考

您可以调用KMS API来加密和解密数据密钥。 请阅读API简介

有关如何使用阿里云KMS管理控制台或API的分步指南,请参阅快速入门指南

KMS SDK参考

您可以使用阿里云云密钥管理服务 SDKs 轻松管理、使用用户主密钥。阿里云密钥管理服务提供四种语言(Java,Python, PHP和C#)的SDK。

查看 Java SDK示例代码

资源

阿里云云密钥管理服务(KMS)是一种易于使用、安全、有效的方式来管理用于保护数据的加密密钥。以下是文档,SDK和其他资源的链接,这些资源可以帮助您了解KMS的工作原理。

开发者资源

常见问题

1. 什么是用户主密钥(CMK)?

用户主密钥是用户在阿里云云密钥管理服务(KMS)中创建的主密钥,用于加密数据密钥和生成信封。它也可以直接用于加密少量的数据。

2. 什么是信封加密技术?

信封加密技术类似于数字数字信封技术,它允许您通过将加密的数据密钥(DK)封装在信封中,以此方式来存储、传输和使用加密密钥,而不是直接使用用户主密钥(CMK)加密/解密数据。

3. 在哪些区域可以访问KMS?

以下是KMS可用的区域及其对应的公用/专用网络地址列表:

地域 地域Id 公共网络地址 专有网络地址
华东1(杭州) cn-hangzhou kms.cn-hangzhou.aliyuncs.com kms-vpc.cn-hangzhou.aliyuncs.com
新加坡 ap-southeast-1 kms.ap-southeast-1.aliyuncs.com kms-vpc.ap-southeast-1.aliyuncs.com
华东2(上海) cn-shanghai kms.cn-shanghai.aliyuncs.com kms-vpc.cn-shanghai.aliyuncs.com
华北2(北京) cn-beijing kms.cn-beijing.aliyuncs.com kms-vpc.cn-beijing.aliyuncs.com
华南1(深圳) cn-shenzhen kms.cn-shenzhen.aliyuncs.com kms-vpc.cn-shenzhen.aliyuncs.com
日本 ap-northeast-1 kms.ap-northeast-1.aliyuncs.com kms-vpc.ap-northeast-1.aliyuncs.com
德国 eu-central-1 kms.eu-central-1.aliyuncs.com kms-vpc.eu-central-1.aliyuncs.com

4. 为何会出现KMS端点无法访问?

为了确保数据安全性,当您使用SDK访问它时,KMS仅支持HTTPS协议。

5. 解密时为何出现 Forbidden.KeyNotFound 的错误?

上述错误的出现,通常是因为您访问了错误的地域,试图解密数据。各个地域的密钥管理服务是完全独立的,请确保您解密时访问的地域与加密时一致。

6. 如何使用KMS管理用户密钥?

基于信封加密技术和KMS的开放API,您可以使用指定的用户主密钥加密和解密数据密钥。然后,您不必将纯文本直接存储在存储设备中。这样,您可以轻松地专注于开发工作,而不必担心管理用户的密钥。

7. 每个区域中一个用户可以创建多少个用户主密钥?

每个用户最多可以在每个区域中创建200个用户主密钥。如果您需要创建超过200个用户主密钥,您可以通过工单系统向阿里云提交请求。

8. 什么是加密上下文?

加密上下文是String-String格式的JSON字符串,可用于KMS Encrypt、GenerateDataKey和Decrypt API,以保护数据完整性。