您可以使用KMS轻松地创建密钥,使用密钥加密、解密业务数据,保护您的数据安全。本文介绍如何创建及使用密钥。
概述
KMS提供默认密钥、软件密钥和硬件密钥三种密钥管理类型,以满足不同业务场景、安全与合规要求。更多详细信息,请您参见密钥服务概述、密钥管理类型和密钥规格。
默认密钥
服务密钥由云产品代您创建和管理,主密钥由您自主创建和管理。本文以创建和使用主密钥为例。
步骤一:创建主密钥
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
在密钥管理页面,单击默认密钥页签。
单击主密钥操作列的启用,完成配置项设置,然后单击确定。
配置项
说明
密钥别名
密钥的别名标识符。支持英文字母、数字、下划线(_)、短划线(-)和正斜线(/)。
描述信息
自定义密钥的说明信息。
高级选项
密钥材料来源
阿里云KMS:密钥材料将由KMS生成。
外部:KMS不会生成密钥材料,您需要自行导入密钥材料。更多信息,请参见导入对称密钥材料。
说明请仔细阅读并选中我了解使用外部密钥材料的方法和意义。
步骤二:使用密钥
您可在已集成KMS的阿里云产品中使用默认密钥。关于云产品集成KMS的更多信息,请参见云产品集成KMS加密概述、支持集成KMS加密的云产品。
关于云产品服务端加密集成KMS支持的密钥类型,请参考对应云产品的相关文档。
软件密钥
前提条件
已购买并启用KMS软件密钥管理实例。具体操作,请参见购买和启用KMS实例。
步骤一:创建密钥
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
在密钥管理页面,单击用户主密钥页签,实例ID选择软件密钥管理实例,单击创建密钥。
在创建密钥面板,完成配置项设置,然后单击确定。
配置项
说明
密钥类型
选择密钥是对称密钥还是非对称密钥。
重要如果您创建的密钥用于加密凭据值,请选择对称密钥。
密钥规格
密钥的规格。关于密钥规格遵循的标准、密钥算法等详细介绍,请参见密钥管理类型和密钥规格。
对称密钥规格:Aliyun_AES_256
非对称密钥规格:RSA_2048、RSA_3072、EC_P256、EC_P256K
密钥用途
密钥的用途。取值:
Encrypt/Decrypt:数据加密和解密。
Sign/Verify:产生和验证数字签名。
密钥别名
密钥的别名标识符。支持英文字母、数字、下划线(_)、短划线(-)和正斜线(/)。
标签
密钥的标签,方便您对密钥进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
说明标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。
标签键不能以aliyun或acs:开头。
每个密钥最多可以设置20个标签键值对。
自动轮转
仅对称密钥支持设置自动轮转,开关默认开启。详细内容,请参见密钥轮转。
轮转周期
支持设置为7~365天。
描述信息
密钥的说明信息。
高级设置
密钥的策略配置。
默认策略:如果密钥由当前主账号使用,或者资源共享单元中的主账号使用,请选择默认策略。
实例未共享给其他账号:仅当前主账号能管理及使用密钥。
实例已共享给其他账号:以主账号1将KMS实例A共享给主账号2为例介绍。
主账号1创建的密钥:仅主账号1能管理及使用密钥。
主账号2创建的密钥:主账号1和主账号2,都能管理及使用密钥。
自定义策略:如果密钥需要授权给RAM用户、RAM角色,或授权给其他账号使用,请选择自定义策略。
重要选择管理员、使用者时不消耗访问管理数量配额。选择其他账号使用者时,会消耗KMS实例的访问管理数量配额,按主账号个数计算消耗的配额,如果您取消了授权,请等待约5分钟,再查看配额,配额会返还。
管理员:对密钥进行管控类操作,不支持密码运算操作。支持选择当前主账号下的RAM用户和RAM角色。
使用者:仅支持使用密钥进行密码运算操作。支持选择当前主账号下的RAM用户和RAM角色。
其他账号使用者:使用密钥进行加解密,可以是其他阿里云账号的RAM用户或RAM角色。
RAM用户:格式为
acs:ram::<userId>:user/<ramuser>
,例如acs:ram::119285303511****:user/testpolicyuser
。RAM角色:格式为
acs:ram::<userId>:role/<ramrole>
,例如acs:ram::119285303511****:role/testpolicyrole
。说明授权给RAM用户、RAM角色后,您仍需在访问控制RAM侧,使用该RAM用户、RAM角色的主账号为其授权使用该密钥,RAM用户、RAM角色才能使用该密钥。
具体操作,请参见密钥管理服务自定义权限策略参考、为RAM用户授权、为RAM角色授权。
步骤二:使用密钥
软件密钥可被云产品集成用于服务端加密,也可被您的应用集成用于构建应用层密码技术方案。
云产品集成KMS密钥用于服务端加密
更多信息,请参见云产品集成KMS加密概述、支持集成KMS加密的云产品。关于云产品服务端加密集成KMS支持的密钥类型,请参考对应云产品的相关文档。
应用集成KMS密钥进行数据加密和解密
KMS提供了KMS实例SDK,帮助您轻松使用密码运算API,实现使用密钥对数据进行加密、解密、签名、验签等功能。具体信息,请参见KMS实例SDK。
此外,根据使用场景KMS提供了详细的指导文档,便于您使用密钥。如果您使用KMS密钥在线加密和解密数据,请参见使用KMS密钥在线加密和解密数据。如果您使用KMS密钥进行信封加密,请参见使用KMS密钥进行信封加密。
硬件密钥
前提条件
已购买并启用KMS硬件密钥管理实例。具体操作,请参见购买和启用KMS实例。
步骤一:创建密钥
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
在密钥管理页面,单击用户主密钥页签,实例ID选择硬件密钥管理实例,单击创建密钥。
在创建密钥面板,完成配置项设置,然后单击确定。
配置项
说明
密钥类型
选择要创建的密钥是对称密钥还是非对称密钥。
重要如果您创建的密钥用于加密凭据值,请选择对称密钥。
密钥规格
密钥的规格。关于密钥规格遵循的标准、密钥算法等详细介绍,请参见密钥管理类型和密钥规格。
对称密钥规格:Aliyun_AES_256、Aliyun_AES_192、Aliyun_AES_128、Aliyun_SM4
非对称密钥规格:RSA_2048、RSA_3072、RSA_4096、EC_P256、EC_P256K、EC_SM2
密钥用途
密钥的用途。取值:
Encrypt/Decrypt:数据加密和解密。
Sign/Verify:产生和验证数字签名。
密钥别名
密钥的别名标识符。支持英文字母、数字、下划线(_)、短划线(-)和正斜线(/)。
标签
密钥的标签,方便您对密钥进行分类管理。每个标签由一个键值对(Key:Value)组成,包含标签键(Key)、标签值(Value)。
说明标签键和标签值的格式:最多支持128个字符,可以包含英文大小写字母、数字、正斜线(/)、反斜线(\)、下划线(_)、短划线(-)、半角句号(.)、加号(+)、等于号(=)、半角冒号(:)、字符at(@)、空格。
标签键不能以aliyun或acs:开头。
每个密钥最多可以设置20个标签键值对。
描述信息
密钥的说明信息。
高级选项
策略配置
默认策略:如果密钥由当前主账号使用,或者资源共享单元中的主账号使用,请选择默认策略。
实例未共享给其他账号:仅当前主账号能管理及使用密钥。
实例已共享给其他账号:以主账号1将KMS实例A共享给主账号2为例介绍。
主账号1创建的密钥:仅主账号1能管理及使用密钥。
主账号2创建的密钥:主账号1和主账号2,都能管理及使用密钥。
自定义策略:如果密钥需要授权给RAM用户、RAM角色,或授权给其他账号使用,请选择自定义策略。
重要选择管理员、使用者时不消耗访问管理数量配额。选择其他账号使用者时,会消耗KMS实例的访问管理数量配额,按主账号个数计算消耗的配额,如果您取消了授权,请等待约5分钟,再查看配额,配额会返还。
管理员:对密钥进行管控类操作,不支持密码运算操作。支持选择当前主账号下的RAM用户和RAM角色。
使用者:仅支持使用密钥进行密码运算操作。支持选择当前主账号下的RAM用户和RAM角色。
其他账号使用者:使用密钥进行加解密,可以是其他阿里云账号的RAM用户或RAM角色。
RAM用户:格式为
acs:ram::<userId>:user/<ramuser>
,例如acs:ram::119285303511****:user/testpolicyuser
。RAM角色:格式为
acs:ram::<userId>:role/<ramrole>
,例如acs:ram::119285303511****:role/testpolicyrole
。说明授权给RAM用户、RAM角色后,您仍需在访问控制RAM侧,使用该RAM用户、RAM角色的主账号为其授权使用该密钥,RAM用户、RAM角色才能使用该密钥。
具体操作,请参见密钥管理服务自定义权限策略参考、为RAM用户授权、为RAM角色授权。
密钥材料来源
步骤二:使用密钥
硬件密钥可被云产品集成用于服务端加密,也可被您的应用集成用于构建应用层密码技术方案。
云产品集成KMS密钥用于服务端加密
更多信息,请参见云产品集成KMS加密概述、支持集成KMS加密的云产品。关于云产品服务端加密集成KMS支持的密钥类型,请参考对应云产品的相关文档。
应用集成KMS密钥进行数据加密和解密
KMS提供了KMS实例SDK,帮助您轻松使用密码运算API,实现使用密钥对数据进行加密、解密、签名、验签等功能。具体信息,请参见KMS实例SDK。
此外,根据使用场景KMS提供了详细的指导文档,便于您使用密钥。如果您使用KMS密钥在线加密和解密数据,请参见使用KMS密钥在线加密和解密数据。如果您使用KMS密钥进行信封加密,请参见使用KMS密钥进行信封加密。