无法创建架构扩展
Unable To Create Schema Extensions
我们有多个 Azure 帐户用于我们的各种环境。我能够在我们用于预生产和开发的帐户上创建架构扩展,但对于我们的生产 Azure 帐户,我无法创建架构扩展,即使设置完全相同。
像我们的其他帐户一样,我使用全局管理员的 OAuth 2.0 令牌,并使 HTTP POST 到 https://graph.windows.net/ourinstance.onmicrosoft.com/applications/ourmultitenantappId/extensionProperties?api-version=1.6 有效负载:
{
"name": "SA",
"dataType": "String",
"targetObjects": [
"User"
]
}
图 API returns 带有 HTTP 403 Forbidden 和 Authorization_RequestDenied 错误消息。
我已经确定我正在使用的用户帐户具有全局管理员访问角色,我已经在旧 Azure 门户和新 Azure 门户中创建了多个全局管理员用户帐户,我已经比较了所有用户和多租户应用程序之间的设置生产 Azure 帐户和预生产 Azure 帐户,并比较了清单,但无济于事。
这些我至少检查了5次。我不知道为什么我总是收到 Authorization_RequestDenied 错误消息。
有什么我可能错过的吗?
据我所知,有两种403
错误。
第一个就是这样权限不足,无法完成操作。对于此问题,请确保该应用具有 Directory.ReadWrite.All
权限。
第二个错误类似于 对象的大小超出了限制。请减少值的数量并重试您的请求。如果应用程序尝试为已设置 100 个扩展 属性 值的对象设置附加扩展 属性 的值,则会发生此错误。目前,没有解决此问题的方法,请检查是否有未使用的架构扩展并取消注册该扩展。
已通过 Microsoft 支持解决问题。
尽管我已经在 UI 中添加了所需的权限,但结果表明 OAuth 令牌没有必要的权限。我必须使用 https://login.microsoftonline.com/{tenant-id}/oauth2/authorize?client_id={client-id}&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2F&response_mode=query&resource=https%3A%2F%2Fgraph.windows.net%2F&state=12345&prompt=admin_consent
明确授予管理员对应用程序的同意
我们有多个 Azure 帐户用于我们的各种环境。我能够在我们用于预生产和开发的帐户上创建架构扩展,但对于我们的生产 Azure 帐户,我无法创建架构扩展,即使设置完全相同。
像我们的其他帐户一样,我使用全局管理员的 OAuth 2.0 令牌,并使 HTTP POST 到 https://graph.windows.net/ourinstance.onmicrosoft.com/applications/ourmultitenantappId/extensionProperties?api-version=1.6 有效负载:
{
"name": "SA",
"dataType": "String",
"targetObjects": [
"User"
]
}
图 API returns 带有 HTTP 403 Forbidden 和 Authorization_RequestDenied 错误消息。
我已经确定我正在使用的用户帐户具有全局管理员访问角色,我已经在旧 Azure 门户和新 Azure 门户中创建了多个全局管理员用户帐户,我已经比较了所有用户和多租户应用程序之间的设置生产 Azure 帐户和预生产 Azure 帐户,并比较了清单,但无济于事。
这些我至少检查了5次。我不知道为什么我总是收到 Authorization_RequestDenied 错误消息。
有什么我可能错过的吗?
据我所知,有两种403
错误。
第一个就是这样权限不足,无法完成操作。对于此问题,请确保该应用具有 Directory.ReadWrite.All
权限。
第二个错误类似于 对象的大小超出了限制。请减少值的数量并重试您的请求。如果应用程序尝试为已设置 100 个扩展 属性 值的对象设置附加扩展 属性 的值,则会发生此错误。目前,没有解决此问题的方法,请检查是否有未使用的架构扩展并取消注册该扩展。
已通过 Microsoft 支持解决问题。
尽管我已经在 UI 中添加了所需的权限,但结果表明 OAuth 令牌没有必要的权限。我必须使用 https://login.microsoftonline.com/{tenant-id}/oauth2/authorize?client_id={client-id}&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2F&response_mode=query&resource=https%3A%2F%2Fgraph.windows.net%2F&state=12345&prompt=admin_consent