Azure active directory 为什么我不能在图形资源管理器中向Approvles对象添加元素?
我在azure中创建了一个应用程序,现在我对向应用程序用户添加特定角色感兴趣,以便允许将角色数据作为SAML集成的一部分放入令牌中 问题是我无法运行补丁并向Approvles对象添加第三个元素。这是我运行GET-Here后的对象 {ID} } 我只是在该集合中添加第三个元素,如下所示Azure active directory 为什么我不能在图形资源管理器中向Approvles对象添加元素?,azure-active-directory,saml,Azure Active Directory,Saml,我在azure中创建了一个应用程序,现在我对向应用程序用户添加特定角色感兴趣,以便允许将角色数据作为SAML集成的一部分放入令牌中 问题是我无法运行补丁并向Approvles对象添加第三个元素。这是我运行GET-Here后的对象 {ID} } 我只是在该集合中添加第三个元素,如下所示 , { "allowedMemberTypes": ["User"], "description": "groupdescription1", "displayNam
, {
"allowedMemberTypes": ["User"],
"description": "groupdescription1",
"displayName": "groupdisplayName1",
"id": "9ef0f137-69c7-4ae1-ad90-28363c1f58ba",
"isEnabled": true,
"origin": "Application",
"value": null
}
但是,在使用第三个元素运行补丁更新后,我收到
{
"error": {
"code": "Request_BadRequest",
"message": "One or more properties on the service principal does not match the application object.",
"innerError": {
"request-id": "819a5e01-3005-413a-9c36-a698dd90b88d",
"date": "2019-08-29T21:03:23"
}
}
}
我可以用2个元素运行补丁更新。这没关系。但是为什么它不允许第三个元素呢
我在这里读
此功能在当前版本中被禁用
这是否意味着我无法实现增加第三个角色的目标?
我错过了什么?感谢您的帮助
我在这里看到过
这在1点上是可能的。您只需要保留原来的两个批准,并向请求主体添加一个新的批准
{
"appRoles": [{
"allowedMemberTypes": ["User"],
"description": "msiam_access",
"displayName": "msiam_access",
"id": "b9632174-c057-4f7e-951b-be3adc52bfe6",
"isEnabled": true,
"origin": "Application",
"value": null
}, {
"allowedMemberTypes": ["User"],
"description": "User",
"displayName": "User",
"id": "18d14569-c3bd-439b-9a66-3a2aee01d14f",
"isEnabled": true,
"origin": "Application",
"value": null
}, {
"allowedMemberTypes": ["User"],
"description": "groupdescription1",
"displayName": "groupdisplayName1",
"id": "9ef0f137-69c7-4ae1-ad90-28363c1f58ba",
"isEnabled": true,
"origin": "Application",
"value": {a meaningful value here}
}]
}
请注意,为新方法的“值”设置一个有意义的值。解决方案:从新对象中删除属性“原点”
此对象无效
{
"allowedMemberTypes": ["User"],
"description": "groupdescription1",
"displayName": "groupdisplayName1",
"id": "9ef0f137-69c7-4ae1-ad90-28363c1f58ba",
"isEnabled": true,
"ORIGIN": "Application",
"value": null
}
一旦我删除origin属性并重试补丁,它就像一个符咒一样工作
我想这个错误是很明显的
服务主体上的一个或多个属性与应用程序对象不匹配
只是没有无效的字段名。我错误地认为我可以从GET复制对象,并粘贴到补丁体中 对我来说,问题是使用
源代码:“ServicePrincipal”
,然后我可以在“value”属性中设置任何内容(但不允许使用空格)。Hi@joey。我同意你的看法。表明它不能包含在任何POST或修补程序请求中。
{
"allowedMemberTypes": ["User"],
"description": "groupdescription1",
"displayName": "groupdisplayName1",
"id": "9ef0f137-69c7-4ae1-ad90-28363c1f58ba",
"isEnabled": true,
"ORIGIN": "Application",
"value": null
}