user: assignLicense

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

ユーザーがライセンスを持っている Microsoft クラウド サービスの使用を有効または無効にするライセンスを追加または削除します。 たとえば、あるorganizationが 100 ライセンスを持つ Microsoft 365 Enterprise E3 サブスクリプションを持つことができます。この要求では、これらのライセンスの 1 つを特定のユーザーに割り当てます。 サブスクリプションに関連付けられている特定のプランを有効または無効にすることもできます。 直接ユーザー ライセンスは、 グループベースのライセンスに代わる方法です。

ディレクトリで使用可能なサブスクリプションを取得するには、 GET subscribedSkus 要求を実行します。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国
✅ ✅ ✅ ✅

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) LicenseAssignment.ReadWrite.All AgentIdUser.ReadWrite.All、AgentIdUser.ReadWrite.IdentityParentedBy、Directory.ReadWrite.All、User.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション LicenseAssignment.ReadWrite.All AgentIdUser.ReadWrite.All、AgentIdUser.ReadWrite.IdentityParentedBy、Directory.ReadWrite.All、User.ReadWrite.All

重要

職場または学校アカウントを使用する委任されたシナリオでは、サインインしたユーザーに、サポートされているMicrosoft Entraロールまたはmicrosoft.directory/users/assignLicenseロールのアクセス許可を持つカスタムロールが割り当てられる必要があります。 この操作では、次の最小特権ロールがサポートされています。

  • ディレクトリ製作者
  • ライセンス管理者
  • ユーザー管理者

HTTP 要求

POST /users/{id | userPrincipalName}/assignLicense

要求ヘッダー

ヘッダー 値
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json

要求本文

要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。

パラメーター 型 説明
addLicenses assignedLicense コレクション 追加するライセンスを指定する assignedLicense オブジェクトのコレクション。 licenseに関連付けられているservicePlansは、assignedLicenseオブジェクトにdisabledPlansプロパティを設定することによって無効にできます。
removeLicenses Guid コレクション 削除するライセンスを識別する skuId のコレクション。 必須です。 空のコレクションにすることができます。

応答

成功した場合、このメソッド 200 OK 応答コードと、応答本文で更新された ユーザー オブジェクトを返します。

例

例 1: サインインしているユーザーにライセンスを割り当てる

要求

POST https://graph.microsoft.com/beta/me/assignLicense
Content-type: application/json

{
    "addLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
    "removeLicenses": []
}

応答

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "accountEnabled": true,
  "assignedLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
  "city": "Nairobi",
  "companyName": "Contoso"
}

例 2: サインインしているユーザーからライセンスを削除する

要求

POST https://graph.microsoft.com/beta/me/assignLicense
Content-type: application/json

{
    "addLicenses": [],
    "removeLicenses": [
        "f30db892-07e9-47e9-837c-80727f46fd3d",
        "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
    ]
}

応答

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "accountEnabled": true,
  "assignedLicenses": [],
  "city": "Nairobi",
  "companyName": "Contoso"
}