上传SSO SAML证书至Azure企业应用遇访问错误,需配置何种权限?
Azure企业应用SAML证书上传:InvalidAuthenticationToken错误解决及权限配置
先修正令牌受众问题
这个错误核心是访问令牌的受众(aud)不匹配,调用Microsoft Graph API时,必须确保令牌的受众是https://graph.microsoft.com:
- 如果用OAuth2.0 v1端点获取令牌,请求的
resource参数必须设为https://graph.microsoft.com,不能用Azure管理API的https://management.azure.com。 - 如果用v2端点,
scope参数要包含https://graph.microsoft.com/.default或者具体的权限范围。
所需的Graph API应用权限
自动化脚本上传SAML证书需要配置应用权限(委托权限仅适合交互式场景,不推荐用于自动化),具体权限如下:
Application.ReadWrite.All:允许读写所有企业应用的配置,包括SAML证书,适合全局操作场景。Application.ReadWrite.OwnedBy:如果你的服务主体是目标企业应用的所有者,用这个权限更严谨,仅能操作自己拥有的应用。
注意:以上权限必须由全局管理员或应用程序管理员授予管理员同意,否则令牌会缺少有效权限。
额外验证步骤
- 检查Azure AD中服务主体的权限:进入“Azure AD -> 企业应用 -> 你的服务主体 -> 权限”,确认已授予的权限状态为“已同意”。
- 上传证书的Graph API请求格式:使用
PATCH /applications/{application-id}端点,请求体需包含格式正确的keyCredentials数组,证书内容要做base64编码,类型指定为AsymmetricX509Cert,用法设为Verify。
内容的提问来源于stack exchange,提问作者New Programmer
相关产品推荐
相关产品推荐

