命名空间:microsoft.graph
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
更新 agentIdentityBlueprintPrincipal 对象的属性。
重要
- 代理标识蓝图主体从其关联的代理标识蓝图注册继承特定属性。 这些属性是从代理标识蓝图注册同步的,但同步不是即时的或连续的。 有时,更新代理标识蓝图主体可能会提示目录从代理标识蓝图注册刷新属性,从而导致不属于原始请求的更新。
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
AgentIdentityBlueprintPrincipal.EnableDisable.All |
AgentIdentityBlueprintPrincipal.ReadWrite.All、Directory.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
AgentIdentityBlueprintPrincipal.EnableDisable.All |
AgentIdentityBlueprintPrincipal.ReadWrite.All、Directory.ReadWrite.All |
重要
AgentIdentity* 权限当前无法通过Microsoft Entra 管理中心上的 API 权限体验获得同意。 若要使用这些权限,可以通过Microsoft图形 API调用来同意这些权限,如以编程方式授予或撤销 API 权限中所述。 有关这些 权限的详细信息,请参阅管理代理标识 的权限。
使用委托权限时,必须为经过身份验证的用户分配受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。 此作支持以下最低特权角色。
- 代理 ID 管理员。
- 代理 ID 开发人员 - 创建代理标识蓝图。 具有此角色的主体被分配为其创建的蓝图的所有权,并且可以对该蓝图执行写入作。
特定方案的权限
- 更新 customSecurityAttributes 属性:
- 在委派方案中,必须为管理员分配 属性分配管理员 角色,并且应用授予 CustomSecAttributeAssignment.ReadWrite.All 委托权限。
- 在使用 Microsoft Graph 权限的仅限应用方案中,必须向应用授予 CustomSecAttributeAssignment.ReadWrite.All 应用程序权限。
HTTP 请求
PATCH /servicePrincipals/{id}/graph.agentIdentityBlueprintPrincipal
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供应更新的相关字段的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。 为了实现最佳性能,不得添加未变化的现有值。
为代理标识蓝图主体提供更新的属性值。
响应
如果成功,此方法返回 204 No Content 响应代码。
有关代理标识 API 返回的错误的信息,请参阅 代理标识错误代码。
示例
请求
以下示例显示了更新代理标识蓝图主体的请求。
PATCH https://graph.microsoft.com/beta/servicePrincipals/{id}
Content-type: application/json
{
"appRoleAssignmentRequired": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ServicePrincipal
{
AppRoleAssignmentRequired = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.ServicePrincipals["{servicePrincipal-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewServicePrincipal()
appRoleAssignmentRequired := true
requestBody.SetAppRoleAssignmentRequired(&appRoleAssignmentRequired)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
servicePrincipals, err := graphClient.ServicePrincipals().ByServicePrincipalId("servicePrincipal-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ServicePrincipal servicePrincipal = new ServicePrincipal();
servicePrincipal.setAppRoleAssignmentRequired(true);
ServicePrincipal result = graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").patch(servicePrincipal);
const options = {
authProvider,
};
const client = Client.init(options);
const servicePrincipal = {
appRoleAssignmentRequired: true
};
await client.api('/servicePrincipals/{id}')
.version('beta')
.update(servicePrincipal);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ServicePrincipal;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ServicePrincipal();
$requestBody->setAppRoleAssignmentRequired(true);
$result = $graphServiceClient->servicePrincipals()->byServicePrincipalId('servicePrincipal-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
appRoleAssignmentRequired = $true
}
Update-MgBetaServicePrincipal -ServicePrincipalId $servicePrincipalId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.service_principal import ServicePrincipal
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ServicePrincipal(
app_role_assignment_required = True,
)
result = await graph_client.service_principals.by_service_principal_id('servicePrincipal-id').patch(request_body)
响应
以下示例显示了相应的响应。
HTTP/1.1 204 No Content