用途:该技能用于向 IndyKite AuthZEN REST 接口发起单次 KBAC 授权决策,即询问“某主体能否对某资源执行某动作”,返回布尔值 decision。决策由项目当前处于 ACTIVE 状态的 2.0-kbac 策略针对 IKG 评估得出。
主要能力:构造并发送(subject, action, resource, context)请求,读取 decision。true 表示至少有一条 ACTIVE 策略授予该三元组且条件满足;false 表示无策略授予,属于正常 200 响应而非错误。
使用方式:请求体包含 subject.type/id、resource.type/id、action.name 与可选 context.input_params。subject.id 与 resource.id 为节点 external_id,action.name 区分大小写。仅当匹配策略的 condition 引用 $name 参数时才需提供 input_params,键名去掉前导 $ 并保持类型。发送 POST <API_URL>/access/v1/evaluation,需配置 AppAgent 凭据,部分场景还需用户访问令牌。技能内含 scripts/evaluate.sh 辅助脚本,可用 --print 预览 curl。
适用场景:判断单个主体对单个资源的单次动作是否放行;在应用中做实时鉴权门控;排查单次决策为 true 或 false 的原因。
限制:不负责编写或修改策略(需用 indykite-authzen-kbac-policies);不用于批量决策(indykite-authzen-evaluations);不用于枚举允许的动作、资源或主体(对应 search 系列技能);不读写图数据。前置条件包括存在覆盖该三元组的 ACTIVE 策略、已配置凭据的 AppAgent、IKG 中已存在相关节点与关系。缺少必需 input_params 会返回 422,而非静默 false。完整请求/响应结构、错误码与排查步骤见技能内 references 文档。