创建应用接入点

更新时间: 2023-11-24 16:21:24

当自建应用访问KMS实例的资源时,需要通过应用接入点AAP完成身份和权限验证。本文介绍如何创建应用接入点。

什么是应用接入点

应用接入点AAP(Application Access Point)是KMS提供的一种身份验证和访问控制机制,当自建应用访问KMS实例的资源时,对其进行身份认证和行为鉴权。建议您为每个集成KMS的应用单独创建应用接入点,以确保访问权限的独立性。应用接入点AAP包含两个关键信息:权限策略和身份凭证。

重要

KMS根据业务场景提供多种SDK,其支持的身份认证方式不同,有RAM认证(例如AccessKey、RAM角色等)和应用接入点AAP。建议您在创建应用接入点AAP前先了解SDK支持哪种认证方式。详细内容,请参见SDK参考

权限策略

用于设置允许哪些应用访问KMS实例,以及允许访问KMS实例中的哪些密钥、凭据。每个应用接入点可以配置1~3个权限策略。每个权限策略包含如下内容:

  • 作用域:应用允许访问的KMS实例。

  • RBAC权限:

    • CryptoServiceKeyUser:应用可以使用KMS实例进行密码运算操作。支持的接口列表,请参见密钥接口

    • CryptoServiceSecretUser:应用可以使用KMS实例进行凭据相关操作。支持的接口列表,请参见凭据接口

  • 允许访问资源:应用允许访问的密钥、凭据。支持在控制台直接选择,也可以手动输入,手动输入的资源格式如下:

    • 密钥:格式为key/密钥ID,如果允许访问当前KMS实例的所有密钥请输入key/*

    • 凭据:格式为secret/凭据ID,如果允许访问当前KMS实例的所有凭据请输入secret/*

  • 网络控制规则:自建应用所属服务器的私网IP地址,表示允许这些私网IP地址访问KMS实例。支持私网IP地址或者私网网段,多个IP地址之间用半角逗号(,)分隔。

身份凭证

身份凭证用于对KMS资源访问者进行身份认证和行为鉴权。支持两种身份凭证,本文以ClientKey为例进行介绍。

  • ClientKey(客户端密钥):应用与KMS实例之间通过ClientKey对请求进行数字签名和验证。包含凭证口令应用身份凭证内容

    重要
    • KMS不会保存ClientKey,如果您未保存或不慎遗失,请删除后新创建一个ClientKey。

    • ClientKey的有效期默认为5年,您也可以在创建ClientKey时指定有效期,推荐您设置为1年。请务必在到期前更换,以免无法正常访问KMS。具体操作,请参见更换ClientKey。建议您在更换完成后,在KMS删除不再使用的ClientKey。

    • 如果ClientKey泄露,请删除并创建新的ClientKey。每个应用接入点最多可以创建3个ClientKey。

    • ClientKey到期前6个月、3个月、1个月、7天,阿里云会通过短信、邮件、站内信提醒您。您也可以设置云监控告警,在到期前提醒。具体操作,请参见告警设置

  • RAMRole(RAM角色):当您应用程序的运行环境是ECS实例、ACK集群或函数计算并绑定了RAM角色,且需要通过KMS服务Endpoint获取凭据值时,可使用本方式。KMS将通过访问控制RAM对OpenAPI请求者进行委托认证。

前提条件

操作步骤

通过控制台创建

方式一:在实例管理页面快速创建(推荐)

该方式可以快速创建应用接入点,但有以下限制:

  • 应用接入点中的ClientKey有效期为5年,不支持自定义有效期。建议您使用1年后及时更换,具体操作,请参见更换ClientKey

  • 应用接入点中的权限策略,允许访问资源默认为指定KMS实例中的所有密钥和凭据。您可以在创建完成后修改权限策略。具体操作,请参见修改应用接入点

  1. 登录密钥管理服务控制台,在顶部菜单栏选择地域信息后,单击实例管理页面。

  2. 实例管理页面,单击快速创建应用接入点image.png

  3. 快速创建应用接入点面板,完成各项配置后,单击创建

  4. 保存凭证口令应用身份凭证内容

    浏览器默认自动下载凭证口令应用身份凭证内容凭证口令文件名默认为clientKey_****_Password.json应用身份凭证内容文件名默认为clientKey_****.json。您也可以根据控制台指引手动保存。

方式二:在应用管理页面创建

  1. 登录密钥管理服务控制台,在顶部菜单栏选择地域信息后,在左侧导航栏单击应用管理页面。

  2. 创建应用接入点AAP并配置权限策略。

    1. 应用管理页面,单击创建应用接入点

    2. 配置基本信息,其中认证方式请选择ClientKey,然后单击下一步

    3. 配置权限与访问控制,单击下一步

      单击可选策略后的加号图标,创建权限策略。关于各配置项的详细信息,请参见权限策略

    4. 检查并确认信息无误后,单击创建

  3. 创建并保存应用身份凭证(ClientKey)。

    1. 创建成功对话框,单击创建凭证

    2. 身份凭证页签,单击创建凭证,然后单击确定

      • Client Key加密口令:8~64位,支持数字、英文大小写、特殊字符~!@#$%^&*?_-

      • 有效期:默认为5年,建议您设置为1年,以降低ClientKey被泄露的风险。

    3. 保存凭证口令应用身份凭证内容

      浏览器默认自动下载凭证口令应用身份凭证内容凭证口令文件名默认为clientKey_****_Password.json应用身份凭证内容文件名默认为clientKey_****.json。您也可以根据控制台指引手动保存。

通过OpenAPI创建

  1. 调用CreateNetworkRule接口设置允许访问KMS的私网IP或私网网段。

  2. 调用CreatePolicy接口设置允许应用访问的密钥和凭据,并绑定网络控制规则。

  3. 调用CreateApplicationAccessPoint接口设置认证方式,并绑定权限策略。

  4. 调用CreateClientKey接口设置ClientKey的加密口令、有效期,并绑定应用接入点。

通过Terraform创建

具体操作,请参见创建应用接入点

相关操作

通过SDK访问KMS实例时,还需要配置KMS实例CA证书以及KMS实例域名地址,建议您同步获取。

获取KMS实例CA证书

KMS实例内置SSL/TLS证书,使用HTTPS协议用于身份验证和加密通信。KMS实例CA证书,用于检查KMS实例SSL/TLS证书的有效性。例如:检查KMS实例SSL/TLS证书是否由对应的CA中心签发、是否在有效期内、以及对应的域名是否为KMS实例的域名地址(endpoint)。

说明

KMS实例仅支持TLS 1.2版本。

  1. 实例管理页面,单击获取实例CA证书区域的下载

  2. 获取实例CA证书对话框中选择实例ID,单击下载并妥善保管。

    CA证书下载后文件名默认为PrivateKmsCA_kst-******.pem。

获取KMS实例域名地址

  1. 实例管理页面,单击软件密钥管理硬件密钥管理页签后,选择目标KMS实例。

  2. 单击实例ID进入到详情页,查看实例VPC地址

  3. 实例VPC地址中的https://去掉,即KMS实例域名地址(也称为KMS实例Endpoint)。

相关文档

  • 对于长期不使用的应用接入点,建议您及时删除。具体操作,请参见删除应用接入点

  • 对于使用超过1年的ClientKey,建议及时更换。具体操作,请参见更换ClientKey

阿里云首页 密钥管理服务 相关技术圈