如何在 Azure 活动目录中设置服务主体显示名称

how to set the service principle display name in azure active directory

我正在尝试创建使用 Microsoft graph 的服务原则 API。按照我参考的文档 create service principle。我只是想确定通过图 API 创建的服务原则。所以我只是在图表中添加显示名称 API body.Below 是我的服务原则 Json body.

$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 + '",

}

它returns一条错误消息

{   "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"     }   } }

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

用新名称更新 App 对象 PostmanGraphs:

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

当一个应用程序对象在 AAD 中注册时,它会自动创建一个服务主体。看到这个 document.