Azure AD最佳实践:多应用与API是否应共用同一应用注册?
共用应用注册的合理性与风险说明
结论
该配置虽然可短期正常运行,但不符合IAM领域的标准设计原则,也存在大量安全、运维层面的风险,不属于合理的生产级方案。
具体风险
- 权限边界完全失效
客户端侧共用Reg1时,App1和App2共享完全相同的client ID、client secret,任意一方的凭据泄露都会直接导致两个应用的全部访问权限失控。同时你无法为两个应用配置差异化的API访问权限,完全满足不了最小权限要求。
API侧共用Reg2时,应用注册的aud(受众)声明全局唯一,所有签发到Reg2的访问令牌可以同时被API1、API2接受,无法实现接口级的访问隔离,只要用户持有有效令牌就能无差别调用两个API,根本做不到细粒度权限管控。 - 可审计性完全丧失
所有身份日志、授权日志只会关联到应用注册的唯一ID,你无法从日志中区分请求是来自App1还是App2,也无法区分调用的是API1还是API2,出现安全事件无法溯源,出现业务故障也无法快速定位来源。 - 运维成本指数级上升
任何针对应用注册的配置变更都会同步影响所有绑定的业务:比如给App1新增重定向URL会同时对App2生效,调整API2的令牌有效期会同步改动API1的配置。如果后续要下线其中一个业务,还需要额外评估对同注册下其他业务的影响,业务越多运维成本越高。 - 合规性不满足要求
等保2.0、PCI DSS、GDPR等主流合规规范都明确要求身份权限的最小隔离和可追溯,共用应用注册的做法会直接被判定为高风险不合规项。
落地建议
可以分阶段逐步拆分:优先拆分API侧的Reg2,再拆分客户端侧的Reg1,拆分过程可以做到对现有业务无感知。
内容的提问来源于stack exchange,提问作者Ben238
相关产品推荐
相关产品推荐

