agentIdentityBlueprint:addKey

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

将密钥凭据添加到 agentIdentityBlueprint。 此方法和 removeKey 可用于自动滚动其过期密钥。

注意

应仅在向应用程序添加证书凭据时提供公钥值。 向应用程序添加私钥证书可能会危及应用程序。

作为此方法请求验证的一部分,在执行作之前,将验证现有密钥的所有权证明。

没有任何现有有效证书 (尚未添加证书或所有证书都已过期) 的代理标识蓝图将无法使用此服务作。 可以使用 更新代理标识蓝图 作来改为执行更新。

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) AgentIdentityBlueprint.AddRemoveCreds.All AgentIdentityBlueprint.ReadWrite.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 AgentIdentityBlueprint.AddRemoveCreds.All AgentIdentityBlueprint.ReadWrite.All、Directory.ReadWrite.All

重要

AgentIdentity* 权限当前无法通过Microsoft Entra 管理中心上的 API 权限体验获得同意。 若要使用这些权限,可以通过Microsoft图形 API调用来同意这些权限,如以编程方式授予或撤销 API 权限中所述。 有关这些 权限的详细信息,请参阅管理代理标识 的权限。

使用委托权限时,必须为经过身份验证的用户分配受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。 此作支持以下最低特权角色。

  • 代理 ID 管理员。
  • 代理 ID 开发人员 - 创建代理标识蓝图。 具有此角色的主体被分配为其创建的蓝图的所有权,并且可以对该蓝图执行写入作。

HTTP 请求

POST /applications/{id}/microsoft.graph.agentIdentityBlueprint/addKey

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

在请求正文中,提供参数的 JSON 表示形式。 下表列出了调用此作时所需的参数。

属性 类型 说明
keyCredential keyCredential 要添加的新应用程序密钥凭据。 类型用法密钥是此用法的必需属性。 支持的密钥类型包括:
  • AsymmetricX509Cert:用法必须为 Verify
  • X509CertAndPassword:用法必须为 Sign
passwordCredential passwordCredential 只需要设置 secretText ,它应包含密钥的密码。 仅类型 为 的 X509CertAndPassword键需要此属性。 否则将其设置为 null
证明 String 用作现有密钥所有权证明的自签名 JWT 令牌。 此 JWT 令牌必须使用应用程序现有有效证书之一的私钥进行签名。 令牌应包含以下声明:
  • aud:受众必须是 00000002-0000-0000-c000-000000000000
  • iss:颁发者必须是发起请求 的应用程序 的 ID。
  • nbf:不是在时间之前。
  • exp:到期时间应为 nbf + 10 分钟的值。

有关生成此所有权证明令牌的步骤,请参阅 为滚动密钥生成所有权证明令牌。 有关声明类型的详细信息,请参阅 声明有效负载

响应

如果成功,此作将在 200 OK 响应正文中返回响应代码和 keyCredential

示例

请求

以下示例显示了一个请求。

POST https://graph.microsoft.com/beta/applications/{id}/microsoft.graph.agentIdentityBlueprint/addKey
Content-Type: application/json

{
  "keyCredential": {
    "@odata.type": "microsoft.graph.keyCredential"
  },
  "passwordCredential": {
    "@odata.type": "microsoft.graph.passwordCredential"
  },
  "proof": "String"
}

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": {
    "@odata.type": "microsoft.graph.keyCredential"
  }
}