如何在azure活动目录中设置服务原则显示名称

问题描述

我正在尝试使用 Microsoft 图形 API 创建服务原则。在文档之后,我引用了 create service principle。我只想确定通过图形API创建的服务原则。所以我只是在图形 API 正文中添加显示名称。以下是我的服务原则 Json 正文。

$RESOURCE_GROUP = "TESTRG"
POST https://graph.microsoft.com/v1.0/servicePrincipals
Content-type: application/json

{
  "appId": "65415bb1-9267-4313-bbf5-ae259732ee12","displayName": "' + $RESOURCE_GROUP + "-" + $appId + '",}

返回错误信息

{   "error": {     "code": "Request_BadRequest","message": "Property displayName on the service principal does not match the application
     | object.","innerError": {       "date": "2021-01-24T07:33:25","request-id": "80792870-6524-4373-434342-434343",| "client-request-id": "80792870-6524-4373-434342-434343"     }   } }

解决方法

在这里,您需要确保首先更新您为服务主体提供的 App displayName,然后使用相同的 displayName 更新服务主体。基本上, servicePrinipal 对象使用相应的 Application 对象验证其属性。我在 POSTMAN 中对其进行了测试,发现它需要更新 App 对象上的显示名称,然后再更新 Service Principal 上的显示名称。请查看以下屏幕截图。

使用新名称 PostmanGraphs 更新 App 对象:

enter image description here

使用新名称 PostmanGraphs 更新服务主体对象:

enter image description here

当应用对象在 AAD 中注册时,它会自动创建一个服务主体。请参阅此document