应用接入点概述

应用接入点AAP(Application Access Point)是KMS提供的一种身份验证和访问控制机制,当自建应用使用密钥或凭据时,对其进行身份认证和行为鉴权。本文介绍什么是应用接入点。

什么是应用接入点

应用接入点AAP包含两个关键信息:权限策略和身份凭证。

重要

建议您为每个集成KMS的应用单独创建应用接入点,以确保访问权限的独立性。

权限策略

用于设置允许哪些应用使用指定的密钥和凭据。每个应用接入点可以配置1~3个权限策略。每个权限策略包含如下内容:

  • RBAC权限:

    • CryptoServiceKeyUser:允许使用KMS实例中的密钥。支持实例API中的密码运算接口,具体请参见密钥接口

    • CryptoServiceSecretUser:允许使用KMS实例中的凭据。支持实例API中的凭据接口,具体请参见凭据接口

    • SecretUser:允许使用当前账号下的凭据。支持的接口为OpenAPI中的GetSecretVaule。

  • 允许访问资源:应用允许访问的密钥、凭据。

  • 网络控制规则:设置基于网络来源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被调用。具体操作,请参见日志服务

相关文档