当自建应用集成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创建
具体操作,请参见通过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版本。
- 在实例管理页面,单击软件密钥管理或硬件密钥管理页签后,选择目标KMS实例。 
- 单击实例ID或单击操作列详情,在详情页,实例CA证书区域单击下载并妥善保管。 - CA证书下载后文件名默认为PrivateKmsCA_kst-******.pem。  
获取KMS实例域名地址
- 在实例管理页面,单击软件密钥管理或硬件密钥管理页签后,选择目标KMS实例。 
- 单击实例ID进入到详情页,查看实例VPC地址。 
- 将实例VPC地址中的 - https://去掉,即KMS实例域名地址(也称为KMS实例Endpoint)。
相关文档
- 对于长期不使用的应用接入点,建议您及时删除。具体操作,请参见管理应用接入点。 
- 对于使用超过1年的ClientKey,建议及时更换。具体操作,请参见更换ClientKey。 
- KMS会在ClientKey即将到期时发送告警事件,请您务必关注和及时处理。详细内容,请参见告警事件。