概述
数据加密服务中的密钥管理服务(Key Management Service,KMS),是一种安全、可靠、简单易用的密钥托管服务,帮助您轻松创建和管理密钥,保护密钥的安全。
云服务与KMS集成后,您只需在决定加密云服务数据时,选择一个KMS管理的用户主密钥,就可以轻松使用您选择的用户主密钥加解密您存储在这些云服务内的数据。
您可以选择云服务自动通过KMS创建的默认密钥,也可以选择您通过KMS自行创建或导入的自定义密钥。
原理介绍
云服务基于信封加密技术,通过调用KMS接口来加密云服务资源。由用户管理自己的用户主密钥,云服务在拥有用户授权的情况下,使用用户指定的用户主密钥对数据进行加密。
加密流程说明如下:
1.用户需要在KMS中创建一个用户主密钥。
2.云服务调用KMS的“create-datakey”接口创建数据加密密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。
说明密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。
3.云服务使用明文的数据加密密钥来加密明文文件,得到密文文件。
4.云服务将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。
说明用户通过云服务下载数据时,云服务通过KMS指定的用户主密钥对密文的数据加密密钥进行解密,并使用解密得到的明文的数据加密密钥来解密密文数据,然后将解密后的明文数据提供给用户下载。
OBS服务端加密
简介
当您启用服务端加密功能后,在上传对象时,数据会在服务端加密成密文后存储。在下载加密对象时,存储的密文会先在服务端解密为明文,再提供给您。
KMS通过使用硬件安全模块(HSM)保护密钥安全的托管,帮助您轻松创建和管理加密密钥。您的密钥明文不会出现在HSM之外,避免密钥泄露。KMS对密钥的所有操作都会进行访问控制及日志跟踪,提供所有密钥的使用记录,满足监督和合规性要求。
需要上传的对象可以通过KMS提供密钥的方式进行服务端加密。您首先需要在KMS中创建密钥(或者使用KMS提供的默认主密钥),当您在OBS中上传对象时使用该密钥进行服务端加密。
使用服务端加密方式上传文件(控制台)
步骤 1 在OBS管理控制台桶列表中,单击待操作的桶,进入“概览”页面。
步骤 2 在左侧导航栏,单击“对象”。
步骤 3 单击“上传对象”,系统弹出“上传对象”对话框。
步骤 4 单击“添加文件”,选择待上传的文件后,单击“打开”。
步骤 5 在服务端加密行,选择“SSE-KMS”,在下方的选择框中选择默认密钥或者自定义密钥,并单击“上传”,如图所示。
密钥名称:自定义密钥名称,是用户在数据加密服务中创建的密钥,主要用于加密保护数据。OBS会提供一个名为“obs/default”的默认密钥,用户可以选择使用默认密钥加密上传对象,也可以通过数据加密服务页面创建的自定义密钥加密上传对象。
步骤 6 对象上传成功后,可在对象列表中查看对象的加密状态。
说明对象的加密状态不可以修改。
使用中的密钥不可以删除,如果删除将导致加密对象不能下载。
使用服务端加密方式上传文件(API)
用户也可以通过调用OBS API接口,选择服务端加密SSE-KMS方式(SSE-KMS方式是指OBS使用KMS提供的密钥进行服务端加密)上传文件,详情请参考《对象存储服务API参考》。
EVS服务端加密
简介
当您由于业务需求需要对存储在云硬盘的数据进行加密时,EVS为您提供加密功能,可以对新创建的云硬盘进行加密。加密云硬盘使用的密钥由数据加密服务(DEW,Data Encryption Workshop)中的密钥管理(KMS,Key Management Service)功能提供,无需您自行构建和维护密钥管理基础设施,安全便捷。
哪些用户有权限使用云硬盘加密
- 安全管理员(拥有“Security Administrator”权限)可以直接授权EVS访问KMS,使用加密功能。
- 普通用户(没有“Security Administrator”权限)使用加密功能时,根据该普通用户是否为当前区域或者项目内第一个使用加密特性的用户,作如下区分:
- 是,即该普通用户是当前区域或者项目内第一个使用加密功能的,需先联系安全管理员进行授权,然后再使用加密功能。
- 否,即区域或者项目内的其他用户已经使用过加密功能,该普通用户可以直接使用加密功能。
对于一个租户而言,同一个区域内只要安全管理员成功授权EVS访问KMS,则该区域内的普通用户都可以直接使用加密功能。
如果当前区域内存在多个项目,则每个项目下都需要安全管理员执行授权操作。
云硬盘加密的密钥
加密云硬盘使用KMS提供的密钥,包括默认主密钥和用户主密钥 (CMK,Customer Master Key):
- 默认主密钥:由EVS通过KMS自动创建的密钥,名称为“evs/default”。默认主密钥不支持禁用、计划删除等操作。
- 用户主密钥:由用户自己创建的密钥,您可以选择已有的密钥或者新创建密钥。
使用用户主密钥加密云硬盘,若对用户主密钥执行禁用、计划删除等操作,将会导致云硬盘不可读写,甚至数据永远无法恢复,具体请参见下表。
用户主密钥不可用对加密云硬盘的影响
用户主密钥的状态 对加密云硬盘的影响 恢复方法 禁用 若加密云硬盘此时挂载至云服务器,则该云硬盘仍可以正常使用,但不保证一直可以正常读写。
若卸载加密云硬盘后,再重新挂载至云服务器将会失败。启用用户主密钥 计划删除 启用用户主密钥 已经被删除 取消删除用户主密钥 云硬盘数据永远无法恢复。
说明用户主密钥为付费使用,若为按需计费的密钥,请及时充值确保帐户余额充足,若为包年/包月的密钥,请及时续费,以避免加密云硬盘不可读写导致业务中断,甚至数据永远无法恢复。
使用KMS加密云硬盘(控制台)
步骤 1 在EVS管理控制台,单击“购买磁盘”。
步骤 2 配置“加密”参数。
- 展开“更多”,出现“加密”勾选框。
- 创建委托。
勾选“加密”,如果当前未授权EVS访问KMS,则会弹出“创建委托”对话框,单击“是”,授权EVS访问KMS,当授权成功后,EVS可以获取KMS密钥用来加解密云硬盘。
说明当您需要使用云硬盘加密功能时,需要授权EVS访问KMS。如果您有授权资格,则可直接授权。如果权限不足,需先联系拥有“Security Administrator”权限的用户授权,然后再重新操作。
- 设置加密参数。
勾选“加密”,若已经授权,会弹出“加密设置”对话框。
密钥名称是密钥的标识,您可以通过“密钥名称”下拉框选择需要使用的密钥。您可以选择使用的密钥如下:
- 默认主密钥:成功授权EVS访问KMS,系统会创建默认主密钥“evs/default”。
- 用户主密钥:即您已有的密钥或者新创建密钥。
步骤 3 根据界面提示,配置云硬盘的其他基本信息。
IMS服务端加密
用户可以采用加密方式创建私有镜像,确保镜像数据安全性。
约束条件
- 用户已启用数据加密服务。
- 加密镜像不能共享给其他用户。
- 加密镜像不能发布到应用超市。
- 如果云服务器的系统盘已加密,那么使用该云服务器创建的私有镜像也是加密的。
- 不能修改加密镜像使用的密钥。
- 加密镜像使用的密钥为禁用状态或者被删除时,该镜像无法使用。
- 对于加密镜像创建的弹性云服务器,其系统盘只能为加密状态,且磁盘密钥与镜像密钥一致。
使用KMS加密私有镜像(控制台)
创建加密镜像分为通过加密弹性云服务器创建加密镜像和通过外部镜像文件创建加密镜像。
1.通过加密弹性云服务器创建加密镜像
用户选择弹性云服务器创建私有镜像时,如果该云服务器的系统盘已加密,那么使用该云服务器创建的私有镜像也是加密的。镜像加密使用的密钥为创建该系统盘时使用的密钥。
2.通过外部镜像文件创建加密镜像
用户使用OBS桶中已上传的外部镜像文件创建私有镜像过程中,可以在注册镜像时勾选KMS加密完成镜像加密。
用户上传镜像文件时,可以选择“KMS加密”,使用KMS提供的密钥来加密上传的文件,如下图所示。
- 在IMS管理控制台,单击“创建私有镜像”。
- “创建方式”选择“系统盘镜像”。
- “选择镜像源”为“镜像文件”。
- 勾选“KMS加密”。密钥名称是密钥的标识,您可以通过“密钥名称”下拉框选择需要使用的密钥。您可以选择使用的密钥如下:
- 默认主密钥:KMS为使用IMS(Image Management Service,IMS)的用户创建一个默认主密钥“ims/default”。
- 用户主密钥:即您已有的密钥或者新创建密钥。
- 根据界面提示,配置其他信息。
RDS数据库加密
简介
关系型数据库支持MySQL、PostgreSQL引擎。
当启用加密功能后,用户创建数据库实例和扩容磁盘时,磁盘数据会在服务端加密成密文后存储。用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。
约束条件
- 当前登录用户已通过统一身份认证服务添加关系型数据库所在区域的KMS Administrator权限。
- 如果用户需要使用自定义密钥加密上传对象,则需要先通过数据加密服务创建密钥。
- 实例创建成功后,不可修改磁盘加密状态,且无法更改密钥。存放在对象存储服务上的备份数据不会被加密。
- 关系型数据库实例创建成功后,请勿禁用或删除正在使用的密钥,否则会导致服务不可用,数据无法恢复。
- 选择磁盘加密的实例,新扩容的磁盘空间依然会使用原加密密钥进行加密。
使用KMS加密数据库实例(控制台)
用户在通过关系型数据库(Relational Database Service,RDS)购买数据库实例时,可以选择“磁盘加密”,使用KMS提供的密钥来加密数据库实例的磁盘。
RDS服务端加密