Azure active directory 多个资源的同一Azure AD访问令牌

Azure active directory 多个资源的同一Azure AD访问令牌,azure-active-directory,Azure Active Directory,我们正在评估是否可以使用“相同”的azure AAD访问令牌访问多个WebAPI。 以下是流程: Client -> webapi1 -> webapi2 1) client authenticates against AAD and acquires token1 <br> 2) client calls webapi1 with token1<br> 3) webapi1 calls webapi2 with token1 Client->webapi

我们正在评估是否可以使用“相同”的azure AAD访问令牌访问多个WebAPI。 以下是流程:

Client -> webapi1 -> webapi2

1) client authenticates against AAD and acquires token1 <br>
2) client calls webapi1 with token1<br>
3) webapi1 calls webapi2 with token1
Client->webapi1->webapi2
1) 客户端根据AAD进行身份验证并获取令牌1
2) 客户端使用令牌1调用webapi1
3) webapi1使用令牌1调用webapi2
假设两个webapi都配置为验证相同的访问群体(“xxxx”)和权限,是否存在任何复杂/安全问题来为两个API使用相同的令牌


非常感谢您的任何输入。

在这种情况下,就Azure AD而言,webapi1和webapi2本质上是相同的API

这种方法的一个缺点可能是API上的权限太多

假设API A要求访问组织中所有用户的电子邮件。现在,从AAD的角度来看,由于APIB实际上是同一个应用程序,所以它也做到了这一点,尽管它并不需要它

通常,我们会尝试遵循最小特权原则,即应用程序的每个部分都有它所需要的访问权限,而不是更多。因此,再次使用相同的受众可能会违背这一点

另一个问题是,另一个有权调用API A的应用程序也有权调用API B


我可以理解您避免获取额外令牌的往返的原因,但是令牌可以缓存。

我很好奇您为什么要这样做?我可以想出一些原因,但想听听你的理由。其中一个原因是为了避免往返AAD获取webapi2特定的令牌。对,尽管你可以缓存令牌:)希望你不是太早优化。但我想知道这种方法的缺点:)