Azure AD启用emit_as_roles后服务主体角色显示异常咨询
结论与解释
这是Azure AD服务主体的预期行为,具体逻辑如下:
- 启用
emit_as_roles的groups声明后,Azure AD对用户主体和服务主体的处理逻辑一致:会将符合条件的安全组ID映射填充到roles声明字段,直接覆盖原本应显示的应用角色(即你配置的read角色)。 - 尽管官方文档提到服务主体的JWT默认不发出组可选声明,但一旦手动配置了
emit_as_roles的groups声明,就会触发上述角色覆盖逻辑,导致应用角色无法在roles字段中显示。 - 禁用
emit_as_roles(默认设置)时,roles字段不会被安全组信息占用,因此能正常显示服务主体已分配的read应用角色,这符合设计预期。
内容的提问来源于stack exchange,提问作者Johannes Schmidt
相关产品推荐
相关产品推荐

