应用接入点AAP(Application Access Point)是KMS提供的一种身份验证和访问控制机制,当自建应用使用密钥或凭据时,对其进行身份认证和行为鉴权。本文介绍什么是应用接入点。
什么是应用接入点
应用接入点AAP包含两个关键信息:权限策略和身份凭证。
建议您为每个集成KMS的应用单独创建应用接入点,以确保访问权限的独立性。
权限策略
用于设置允许哪些应用使用指定的密钥和凭据。每个应用接入点可以配置1~3个权限策略。每个权限策略包含如下内容:
RBAC权限:
允许访问资源:应用允许访问的密钥、凭据。
网络控制规则:设置基于网络来源IP的控制规则,即配置允许哪些来源IP地址访问。
身份凭证
身份凭证用于对KMS资源访问者进行身份认证和行为鉴权。支持两种身份凭证,本文以ClientKey为例进行介绍。
ClientKey:应用与KMS之间通过ClientKey对请求进行数字签名和验证。ClientKey包含应用身份凭证内容(ClientKeyContent)和凭证口令(ClientKeyPassword)。
重要KMS不会保存ClientKey,如果您未保存或不慎遗失,请删除后新创建一个ClientKey。
ClientKey的有效期默认为5年,您也可以在创建ClientKey时指定有效期,推荐您设置为1年。请务必在到期前更换,以免无法正常访问KMS。具体操作,请参见更换ClientKey。建议您在更换完成后,在KMS删除不再使用的ClientKey。
如果ClientKey泄露,请删除并创建新的ClientKey。每个应用接入点最多可以创建3个ClientKey。
RAMRole:当您应用程序的运行环境是ECS实例、ACK集群或函数计算并绑定了RAM角色,且需要通过KMS服务Endpoint获取凭据值时,可使用本方式。KMS将通过访问控制RAM对OpenAPI请求者进行委托认证。
支持使用ClientKey的SDK
应用集成SDK时,请您先了解KMS提供的SDK,不同SDK的认证方式不同。关于SDK的详细介绍,请参见SDK参考。
如下SDK支持使用ClientKey作为认证方式:
KMS实例SDK:通过KMS实例Endpoint,使用KMS实例中的密钥和凭据。认证方式只支持ClientKey。
凭据SDK:可以通过KMS实例Endpoint使用KMS实例中的凭据,也可以通过KMS服务Endpoint使用当前阿里云账号下的凭据。
说明使用凭据SDK时,如通过KMS服务Endpoint,除ClientKey外还支持使用RAM用户AccessKey或RAM角色认证方式。
创建应用接入点时,如果权限策略的作用域是指定的KMS实例,表示通过KMS实例Endpoint使用凭据。如果权限策略的作用域是KMS共享网关,表示通过KMS服务Endpoint使用凭据。
ClientKey到期提醒
ClientKey到期前6个月、3个月、1个月、7天,阿里云会通过短信、邮件、站内信提醒您。您也可以设置云监控告警,在ClientKey到期前的180天、90天、30天、7天,阿里云会为您发送报警通知。详细内容,请参见告警设置。
日志与审计
KMS支持和操作审计集成,记录应用接入点的管控类操作事件。详细内容,请参见密钥管理服务支持被审计的事件说明、使用操作审计查询密钥管理服务的操作事件。
KMS支持和日志服务集成,记录应用接入点中ClientKey的调用情况。您可以在日志服务查看近180天的日志,在搜索框中直接输入ClientKey的Key ID值进行全文检索,如果查询结果显示存在access_key_id
字段值为ClientKey的Key ID,则说明ClientKey被调用。具体操作,请参见日志服务。
相关文档
关于如何创建应用接入点,请参见创建应用接入点。
关于应用集成SDK的详细介绍,请参见SDK参考。
关于KMS实例Endpoint和KMS服务Endpoint的详细介绍,请参见Endpoint说明。
关于QPS的详细介绍,请参见性能数据。