当自建应用集成SDK时(KMS实例SDK和凭据SDK),需要通过应用接入点AAP中的ClientKey完成身份和权限验证。本文介绍如何创建应用接入点。
注意事项
建议您为每个集成KMS的应用单独创建应用接入点,以确保访问权限的独立性。
ClientKey的有效期默认为5年,您可以在创建ClientKey时指定有效期,推荐您设置为1年。请务必在到期前更换,以免无法正常访问KMS。具体操作,请参见更换ClientKey。
前提条件
已购买和启用KMS实例。具体操作,请参见购买和启用KMS实例。
通过控制台创建
支持快速创建和标准创建。当您的应用需要快速集成SDK时,可以使用快速创建方式,相比于标准创建该方式有以下限制:
快速创建仅支持通过KMS实例Endpoint使用密钥和凭据,标准创建既支持通过KMS实例Endpoint使用密钥和凭据,也支持通过KMS服务Endpoint使用凭据。
应用接入点中的ClientKey有效期为5年,不支持自定义有效期。建议您使用1年后及时更换,具体操作,请参见更换ClientKey。
应用接入点中的权限策略,允许访问资源默认为指定KMS实例中的所有密钥和凭据。您可以在创建完成后修改权限策略。具体操作,请参见管理应用接入点。
方式一:快速创建
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
在应用接入页签,单击创建应用接入点,在创建应用接入点面板完成各项配置。
配置项
说明
创建模式
选择快速创建。
作用域(KMS实例)
选择应用要访问的KMS实例。
应用接入点名称
自定义应用接入点的名称。
认证方式
默认为ClientKey,不支持修改。
默认权限策略
默认为
key/*
secret/*
,不支持修改。即应用可以访问指定KMS实例中的所有密钥和凭据。单击确定,浏览器会自动下载ClientKey。
ClientKey包含应用身份凭证内容(ClientKeyContent)和凭证口令(ClientKeyPassword)。 应用身份凭证内容(ClientKeyContent)文件名默认为
clientKey_****.json
。凭证口令(ClientKeyPassword)文件名默认为clientKey_****_Password.txt
。
方式二:标准创建
登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击 。
创建网络规则。
说明如果您不需要基于来源IP限制访问,则不需要设置网络规则。但为了更高的安全性,通常建议您合理设置。
单击网络规则页签,然后单击创建网络规则。
在创建网络规则面板完成各项配置后,单击确定。
配置项
说明
规则名称
自定义网络规则的名称。
网络类型
Private:应用通过KMS实例Endpoint使用密钥和凭据。
Public:应用通过KMS服务Endpoint(公网接入地址)使用凭据。
VPC:应用通过KMS服务Endpoint(VPC接入地址)使用凭据。仅华东1(杭州)、华东2(上海)、华南1(深圳)、华北3(张家口)支持该选项。
说明密码运算操作:仅支持使用KMS实例SDK通过KMS实例Endpoint访问。您创建应用接入点时,网络类型请选择Private。
获取凭据值:可以使用KMS实例SDK,也可以使用凭据SDK。建议您使用凭据SDK,并且应用接入点中网络类型选择Private,以获取更高的QPS和更高的安全性。
KMS实例SDK:网络类型只能选择Private,来源IP只能设置为KMS实例绑定的VPC中的IP。
凭据SDK:网络类型可以选择Private、Public、VPC。
允许访问的源IP地址
一般情况下,请填写您应用服务器相应网络类型的IP地址。如果使用代理服务器等,请填写代理服务器的IP地址。
网络类型是Private,请填写KMS实例关联的VPC中的IP。
网络类型是Public,请填写公网IP地址。
网络类型是VPC,请填写VPC ID和VPC IP地址。
描述信息
自定义描述信息。
创建权限策略。
单击权限策略,然后单击创建权限策略。
在创建权限策略面板,完成各项配置后,单击确定。
配置项
说明
权限策略名称
自定义权限策略名称。
作用域
如果您创建网络规则时,网络类型选择Private,则此处选择指定的KMS实例,网络类型选择Public或VPC,则此处选择KMS共享网关。
RBAC权限
允许访问的资源
勾选应用需要访问的密钥和凭据。
重要勾选多个凭据时,如果凭据名称总长度超限会报“参数非法”错误,此时请使用通配符配置允许访问的凭据。
例如,配置为
secret/rds-ibm*
,表示允许访问前缀为rds-ibm
的凭据。网络控制规则
选择您已经创建的网络规则。
说明如果您不需要基于来源IP限制访问,则不需要选择网络规则。但为了更高的安全性,通常建议您合理设置。
描述信息
自定义描述信息。
创建应用接入点AAP。
单击应用接入页签,然后单击创建应用接入点。
在创建应用接入点面板,完成各项配置后。
配置项
说明
创建模式
选择标准创建。
应用接入点名称
自定义应用接入点名称。
认证方式
支持ClientKey和RAMRole。本文以ClientKey为例介绍。
Client Key加密口令
ClientKey的加密口令。8~64位,支持数字、英文大小写、特殊字符
~!@#$%^&*?_-
,且需要包含其中两种类型。有效期
ClientKey的有效期。
重要推荐您设置为1年,以降低ClientKey被泄露的风险。请务必在到期前更换,以免无法正常访问KMS。具体操作,请参见更换ClientKey。
权限策略
选择您已经创建的权限策略。
描述信息
自定义描述信息。
单击确定,浏览器会自动下载ClientKey。
ClientKey包含应用身份凭证内容(ClientKeyContent)和凭证口令(ClientKeyPassword)。 应用身份凭证内容(ClientKeyContent)文件名默认为
clientKey_****.json
。凭证口令(ClientKeyPassword)文件名默认为clientKey_****_Password.txt
。
通过OpenAPI创建
调用CreateNetworkRule接口设置允许访问KMS的私网IP或私网网段。
调用CreatePolicy接口设置允许应用访问的密钥和凭据,并绑定网络控制规则。
调用CreateApplicationAccessPoint接口设置认证方式,并绑定权限策略。
调用CreateClientKey接口设置ClientKey的加密口令、有效期,并绑定应用接入点。
通过Terraform创建
具体操作,请参见创建应用接入点。
相关操作
当应用接入点的作用域是KMS实例时,应用集成SDK时需要配置实例CA证书、KMS实例域名地址。作用域是KMS共享网关时不需要。
获取KMS实例CA证书
KMS实例内置SSL/TLS证书,使用HTTPS协议用于身份验证和加密通信。KMS实例CA证书,用于检查KMS实例SSL/TLS证书的有效性。例如:检查KMS实例SSL/TLS证书是否由对应的CA中心签发、是否在有效期内、以及对应的域名是否为KMS实例的域名地址(endpoint)。
KMS实例仅支持TLS 1.2版本。
在实例管理页面,单击获取实例CA证书区域的下载。
在获取实例CA证书对话框中选择实例ID,单击下载并妥善保管。
CA证书下载后文件名默认为PrivateKmsCA_kst-******.pem。
获取KMS实例域名地址
在实例管理页面,单击软件密钥管理或硬件密钥管理页签后,选择目标KMS实例。
单击实例ID进入到详情页,查看实例VPC地址。
将实例VPC地址中的
https://
去掉,即KMS实例域名地址(也称为KMS实例Endpoint)。
相关文档
对于长期不使用的应用接入点,建议您及时删除。具体操作,请参见管理应用接入点。
对于使用超过1年的ClientKey,建议及时更换。具体操作,请参见更换ClientKey。
KMS会在ClientKey即将到期时发送告警事件,请您务必关注和及时处理。详细内容,请参见告警事件。