Rest 防止来自uwanted内部服务/旅程的API调用

Rest 防止来自uwanted内部服务/旅程的API调用,rest,spring-security,mule-esb,Rest,Spring Security,Mule Esb,在web应用程序上,如何防止多层应用程序上的API/微服务受到保护,以确保不会有来自非预期旅程的不需要的调用?(内部) 假设使用共享登录服务(由IAM DB支持)的web登录API/webservice将生成JWT令牌。在正常行程中,最终用户将开始购买(如购买积分),这将触发更通用的购买服务(如积分)。由于业务的性质,登录和weblogin紧密耦合,就像bui credits和credits一样,但是不允许WEB登录服务调用credits服务 我们考虑的一个选项是,第二层(登录和信用)上的所有服

在web应用程序上,如何防止多层应用程序上的API/微服务受到保护,以确保不会有来自非预期旅程的不需要的调用?(内部)

假设使用共享登录服务(由IAM DB支持)的web登录API/webservice将生成JWT令牌。在正常行程中,最终用户将开始购买(如购买积分),这将触发更通用的购买服务(如积分)。由于业务的性质,登录和weblogin紧密耦合,就像bui credits和credits一样,但是不允许WEB登录服务调用credits服务

我们考虑的一个选项是,第二层(登录和信用)上的所有服务都应该与授权的调用者实现一个客户机id/secret。 在本例中,这将阻止从Web登录(红色箭头)调用该信用,因为Web登录无法劫持“购买信用”凭证,这不是一个有效的场景


欢迎任何想法,因为我无法在同一边界/应用程序中找到API安全模式。我知道B2B模式,但不确定它如何(或是否)适用

在层之间使用某种授权似乎是明智的

如果使用API管理器,则可以使用标准策略之一,如或JWT验证策略,这些策略可以应用于现有API之上,而无需修改它们