组:assignLicense

命名空间:microsoft.graph

重要

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

在组上添加或删除许可证。 分配给组的许可证将分配给组中的所有用户。 基于组的许可是 直接用户许可的替代方法。 若要详细了解基于组的许可,请参阅什么是Microsoft Entra ID中的基于组的许可

若要获取目录中可用的订阅,请执行 GET subscribedSkus 请求

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

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

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

重要

在具有工作或学校帐户的委托方案中,必须为登录用户分配受支持的Microsoft Entra角色或具有角色权限的microsoft.directory/groups/assignLicense自定义角色。 此操作支持以下最低特权角色:

  • 目录作者
  • 组管理员
  • 许可证管理员
  • 用户管理员

HTTP 请求

POST /groups/{id}/assignLicense

请求标头

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

请求正文

在请求正文中,提供具有以下参数的 JSON 对象。

参数 类型 说明
addLicenses assignedLicense collection 用于指定要添加的许可证的 assignedLicense 对象集合。 可以通过在 assignedLicense 对象上设置 disabledPlans 属性来禁用与许可证关联的 servicePlans。
removeLicenses Guid 集合 标识要删除的许可证的 skuId 的集合。 必填。 可以是空集合。

响应

如果成功,此方法在响应正文中返回响应 202 Accepted 代码和目标 对象。

示例

示例 1:向组添加许可证

以下示例将许可证添加到组。

请求

POST https://graph.microsoft.com/beta/groups/1132b215-826f-42a9-8cfe-1643d19d17fd/assignLicense
Content-type: application/json

{
  "addLicenses": [
    {
      "disabledPlans": [
        "113feb6c-3fe4-4440-bddc-54d774bf0318",
        "14ab5db5-e6c4-4b20-b4bc-13e36fd2227f"
      ],
      "skuId": "b05e124f-c7cc-45a0-a6aa-8cf78c946968"
    },
    {
      "disabledPlans": [
        "a413a9ff-720c-4822-98ef-2f37c2a21f4c"
      ],
      "skuId": "c7df2760-2c81-4ef7-b578-5b5392b571df"
    }
  ],
  "removeLicenses": []
}

响应

响应是更新的组对象。

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

HTTP/1.1 202 Accepted
Content-type: application/json
location: https://graph.microsoft.com/v2/e8e96c2a-d787-4eb1-98d7-9e57c965f1de/directoryObjects/1132b215-826f-42a9-8cfe-1643d19d17fd/Microsoft.DirectoryServices.Group

{
  "id": "1132b215-826f-42a9-8cfe-1643d19d17fd",
  "createdDateTime": "2021-03-12T11:15:03Z",
  "groupTypes": [],
  "securityEnabled": true
}

示例 2:从组中删除许可证

以下示例从组中删除许可证。

请求

POST https://graph.microsoft.com/beta/groups/1132b215-826f-42a9-8cfe-1643d19d17fd/assignLicense
Content-type: application/json

{
  "addLicenses": [],
  "removeLicenses": [
    "c7df2760-2c81-4ef7-b578-5b5392b571df",
    "b05e124f-c7cc-45a0-a6aa-8cf78c946968"
  ]
}

响应

响应是更新的组对象。

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

HTTP/1.1 202 Accepted
Content-type: application/json
location: https://graph.microsoft.com/v2/e8e96c2a-d787-4eb1-98d7-9e57c965f1de/directoryObjects/1132b215-826f-42a9-8cfe-1643d19d17fd/Microsoft.DirectoryServices.Group

{
  "id": "1132b215-826f-42a9-8cfe-1643d19d17fd",
  "createdDateTime": "2021-03-12T11:15:03Z",
  "groupTypes": [],
  "securityEnabled": true
}