【休息日】Workspace ONE UEM の REST API をひとつひとつ試していく - 01

 

オオイヌノフグリ(2025/04/06撮影)
青くて小さな花を咲かせます。この花は日本語では別名を「星の瞳」というそうです。
日本名「オオイヌノフグリ」の由来はちょっと恥ずかしいので、私は別名で呼ぶことを推奨したいです。

Workspace ONE UEMには REST APIを実行するためのエンドポイントが備わっています。
様々な処理をスクリプトなどを使って自動化するのにとても便利なのですが、膨大な量のエンドポイントがあるため、希望のエンドポイントにすぐにたどり着くことが難しいのも事実です。

このブログでは、休日にひとつずつ、私が実施したREST APIのエンドポイントについて、その目的と、その目的に沿って実施してみた結果を共有していきたいと思います。
今回の目的は「アプリの割り当ての詳細を取得すること」です。
※アプリを割り当てた後、アプリの割り当てを確認するには、現状一つ一つ割り当ての設定をGUI上でクリックしていく必要があるからです。

目的を達成できそうなREST APIは、「/apps/{applicationUuid}/assignment-rules」です。

このAPIエンドポイントは少し癖があります。クエリにはapplicationUuid(形式は''3d958f38-246e-4854-a306-189d941ab073''といった形のもの)が必要です。

applicationUuidはWorkspace ONE UEM上で配布用に登録したアプリの識別子で、UEM上でアプリの詳細ページを確認することで、URLの中で確認することができます。例として、パブリックアプリとして配布設定を行ったGoogle Chromeでこの値を見てみます。

この値をAPIのクエリに必要な値として入力することで、このGoogle Chromeの割り当て設定を取得することができます。
少し長いですが、3つの割り当て設定が行われていることがわかります。

{
  "assignments": [
    {
      "priority": 0,
      "distribution": {
        "name": "assignment_01",
        "description": "",
        "smart_groups": [
          "9f097342-3882-402c-9686-ab5080840f9d"
        ],
        "bsp_assignments": {
          "smart_groups_online_licenses": [],
          "smart_groups_offline_licenses": []
        },
        "app_delivery_method": "ON_DEMAND",
        "pre_release_version": 0,
        "auto_update_devices_with_previous_versions": false,
        "display_in_app_catalog": false,
        "requires_approval": false,
        "hide_notifications": false,
        "application_transforms": [],
        "installer_deferral_allowed": false,
        "installer_deferral_interval": 0,
        "installer_deferral_exit_code": "",
        "is_default_assignment": true,
        "keep_app_updated_automatically": false
      },
      "restriction": {
        "remove_on_unenroll": false,
        "prevent_application_backup": false,
        "make_app_mdm_managed": false,
        "managed_access": false,
        "desired_state_management": false,
        "prevent_removal": false
      },
      "tunnel": {},
      "application_configuration": [],
      "application_attributes": [],
      "is_dynamic_template_saved": false,
      "is_apple_education_assignment": false,
      "is_android_enterprise_config_template": false,
      "app_profiles_mapping": []
    },
    {
      "priority": 1,
      "distribution": {
        "name": "assignment_02",
        "description": "",
        "smart_groups": [
          "b0edde14-0b08-44bf-97e9-9b30bb67af31"
        ],
        "bsp_assignments": {
          "smart_groups_online_licenses": [],
          "smart_groups_offline_licenses": []
        },
        "app_delivery_method": "AUTO",
        "pre_release_version": 0,
        "auto_update_devices_with_previous_versions": false,
        "display_in_app_catalog": false,
        "requires_approval": false,
        "hide_notifications": false,
        "application_transforms": [],
        "installer_deferral_allowed": false,
        "installer_deferral_interval": 0,
        "installer_deferral_exit_code": "",
        "is_default_assignment": false,
        "keep_app_updated_automatically": false
      },
      "restriction": {
        "remove_on_unenroll": false,
        "prevent_application_backup": false,
        "make_app_mdm_managed": false,
        "managed_access": false,
        "desired_state_management": false,
        "prevent_removal": false
      },
      "tunnel": {},
      "application_configuration": [],
      "application_attributes": [],
      "is_dynamic_template_saved": false,
      "is_apple_education_assignment": false,
      "is_android_enterprise_config_template": false,
      "app_profiles_mapping": []
    },
    {
      "priority": 2,
      "distribution": {
        "name": "assignment_03",
        "description": "",
        "smart_groups": [
          "89067e85-e24f-45c7-b31c-8c0a75456d9f"
        ],
        "bsp_assignments": {
          "smart_groups_online_licenses": [],
          "smart_groups_offline_licenses": []
        },
        "app_delivery_method": "ON_DEMAND",
        "pre_release_version": 0,
        "auto_update_devices_with_previous_versions": false,
        "display_in_app_catalog": false,
        "requires_approval": false,
        "hide_notifications": false,
        "application_transforms": [],
        "installer_deferral_allowed": false,
        "installer_deferral_interval": 0,
        "installer_deferral_exit_code": "",
        "is_default_assignment": false,
        "keep_app_updated_automatically": false
      },
      "restriction": {
        "remove_on_unenroll": false,
        "prevent_application_backup": false,
        "make_app_mdm_managed": false,
        "managed_access": false,
        "desired_state_management": false,
        "prevent_removal": false
      },
      "tunnel": {},
      "application_configuration": [],
      "application_attributes": [],
      "is_dynamic_template_saved": false,
      "is_apple_education_assignment": false,
      "is_android_enterprise_config_template": false,
      "app_profiles_mapping": []
    }
  ],
  "excluded_smart_groups": [],
  "application_msi_deployment_params": {}
}

ただ、applicationUuidをWorkspace ONE UEMのURLで確認できる状態であれば、もうそのままWorkspace ONE UEMの画面上で「割り当て」をクリックして確認してしまった方が早いです。

そのため次回は、applicationUuidをREST APIを使用して取得することを試してみます。

このブログの人気の投稿

●久々にESXiのカスタムISOをつくってみた

Microsoft Graph PowerShellモジュールでMicrosoft 365の認証をWorkspace ONE Accessにフェデレーションする

■Workspace ONE UEM API Explorerについて