日本時間2025年6月10日〜6月14日にかけて、Apple社が主催するWWDC(世界開発者会議)2025が開催されました。

今回は、「What’s new in Apple device management and identity」セッションを中心に、WWDC 2025で発表されたエンタープライズ関連の新機能をまとめました。

Apple Business Manager/Apple School Managerに関連するアップデート

組織ドメインの個人Apple Accountのリスト機能

組織ドメインの個人Apple Accountのリスト機能

個人で作成されたApple Accountを、管理者がリストとしてダウンロードできます。

Managed Apple Accountを導入する際には、すでに個人で作成されたAppleアカウントに登録されている組織のドメインのメールアドレスを開放してもらう必要があります。

これまでは、Managed Apple Accountとして使用するように設定する場合、該当するメールアドレス宛てに通知が送られていました。 これに加えて、今後は管理者が個人のApple Accountのリストを直接ダウンロードできます。

この新しいしくみにより、該当ユーザーとのコミュニケーションが取りやすくなり、スムーズにManaged Apple Accountの導入が期待できます。

組織所有のデバイスへのApple Accountのサインイン制限

組織所有のデバイスへのApple Accountのサインイン制限

組織所有のデバイスへのManaged Apple Accountのみサインインできるように制限できます。 この機能はMDMに依存せずにApple Business Manager/Apple School Managerで完結するという特徴があります。

これにより、個人で作った組織のドメインのApple Accountのみならず、私物のApple Accountで組織所有のデバイスにサインインすることを防止できると思います。

デバイスのインベントリ情報の拡充

デバイスインベントリ情報の拡充 デバイスインベントリ情報の拡充のデモ画面

2025年初めに、デバイスのインベントリの情報として、IMEIとEIDの情報が追加されました。

また、今後以下の情報が追加される予定です。

  • 誰がいつデバイスの所有解除をしたか
  • iPhone/iPadのBluetoothとWi-FiのMACアドレス
  • AppleCareの保証情報

これまでデバイスの所有を解除するとインベントリ一覧にはデバイスが表示されなくなっていました。 今回の変更により、デバイスの所有を解除してもデバイス一覧にデバイス情報が残るようになるのかもしれません。

Apple Business Manager/Apple School ManagerのAPIの提供

Apple Business Manager/Apple School Manager APIの提供開始

Apple Business Manager/Apple School ManagerのAPIの提供が開始されました。 これまではブラウザを通じてのみ利用可能だった機能の一部が、APIを通じて自動化できます。

初期リリースでは、以下の機能がAPIで利用可能です。

  • MDMサーバー一覧取得
  • デバイス一覧の取得
  • デバイス情報の取得
  • デバイスに紐付くMDMサーバーの取得
  • MDMサーバーに紐付くデバイス一覧の取得
  • デバイスのMDMサーバーへのアサイン、アンアサイン

APIを利用するには、「管理者」または「サイトマネージャー」権限でAPIアカウントの作成およびプライベートAPIキーを生成する必要があります。

詳しい仕様などは、Apple School and Business Manager API | Apple Developer Documentationを参照してください。

Shell ScriptによるAPI呼び出しの例

Access Tokenの取得

Apple Business Manager/Apple School Manager APIを使用するには、まずOAuth 2.0を使用してAccess Tokenを取得する必要があります。

macOSに標準で入っていない jq コマンドを使用しているため、Homebrewなどを使用して事前にインストール1を行ってください。

#!/bin/bash

# https://business.apple.com/#/main/preferences/apiaccounts で生成したAPIアカウント情報に差し替え
private_key_file="/path/to/sample.pem"
key_id="e02999c9-47f8-4f07-ba7c-9beaa8b36cf3"
client_id="BUSINESSAPI.38076b8f-b6ba-49c4-ae31-b9a45e571855"
team_id="BUSINESSAPI.38076b8f-b6ba-49c4-ae31-b9a45e571855"
token_endpoint="https://account.apple.com/auth/oauth2/v2/token"

# 現在時刻の設定
iat=$(date +%s)
# expは180日以内にする必要がある
# ここでは最大値を設定
exp=$((iat + 86400*180))

# UUID v4を生成(jti用)
jti=$(uuidgen | tr '[:upper:]' '[:lower:]')

# JWTヘッダー
jwt_header='{
  "alg": "ES256",
  "kid": "'${key_id}'",
  "typ": "JWT"
}'
header=$(echo -n "${jwt_header}" | openssl base64 -e -A | tr '+/' '-_' | tr -d '=')

# JWTペイロード
jwt_payload='{
  "sub": "'${client_id}'",
  "aud": "'${token_endpoint}'",
  "iat": '${iat}',
  "exp": '${exp}',
  "jti": "'${jti}'",
  "iss": "'${team_id}'"
}'
payload=$(echo -n "${jwt_payload}" | openssl base64 -e -A | tr '+/' '-_' | tr -d '=')

# ES256署名の作成(DER形式からR,S値を抽出してBase64エンコード)
sig=$(echo -n "${header}.${payload}" | openssl dgst -sha256 -sign "${private_key_file}" -keyform PEM | openssl asn1parse -inform DER | perl -n -e'/INTEGER           :([0-9A-F]*)$/ && print $1' | xxd -p -r | openssl base64 -e -A | tr '+/' '-_' | tr -d '=')

# JWTのアサーション(ヘッダー、ペイロード、署名を . でつなげたもの)
client_assertion="${header}.${payload}.${sig}"

# Access Tokenの取得
token_response=$(curl -s -X POST "${token_endpoint}" \
  -H "Host: account.apple.com" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=${client_id}" \
  -d "client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer" \
  -d "client_assertion=${client_assertion}" \
  -d "scope=business.api")

# Access Tokenの抽出
access_token=$(echo "${token_response}" | jq -r '.access_token')

組織のデバイス一覧取得

先ほど取得したAccess Tokenを使用して、組織のデバイス一覧を取得する例です。

# デバイス一覧の取得
curl -s -X GET https://api-business.apple.com/v1/orgDevices \
  -H "Authorization: Bearer ${access_token}" \
  -H "Accept: application/json" | jq .

{
  "data": [
    {
      "type": "orgDevices",
      "id": "FVFY106XJK7L",
      "attributes": {
        "serialNumber": "FVFY106XJK7L",
        "addedToOrgDateTime": "2022-09-01T15:45:57.725Z",
        "updatedDateTime": "2022-09-01T15:49:38.388Z",
        "deviceModel": "MacBook Air 13\"",
        "productFamily": "Mac",
        "productType": "MacBookAir8,1",
        "deviceCapacity": "512GB",
        "partNumber": "Z0VD",
        "orderNumber": "CE-2022-09-01-08-45-57-710",
        "color": "SPACE GRAY",
        "status": "ASSIGNED",
        "orderDateTime": "2022-09-01T22:45:57Z",
        "imei": [],
        "meid": [],
        "eid": "",
        "purchaseSourceId": "",
        "purchaseSourceType": "MANUALLY_ADDED"
      },
      "relationships": {
        "assignedServer": {
          "links": {
            "self": "https://api-business.apple.com/v1/orgDevices/FVFY106XJK7L/relationships/assignedServer",
            "related": "https://api-business.apple.com/v1/orgDevices/FVFY106XJK7L/assignedServer"
          }
        }
      },
      "links": {
        "self": "https://api-business.apple.com/v1/orgDevices/FVFY106XJK7L"
      }
    }
  ],
  "links": {
    "self": "https://api-business.apple.com/v1/orgDevices"
  },
  "meta": {
    "paging": {
      "limit": 100
    }
  }
}

Apple Configurator for iPhoneによるApple Vision Pro対応

Apple Configurator for iPhoneによるApple Vision Pro対応

これまでApple Vision Proは自動デバイス登録のみの対応でしたが、Apple Configurator for iPhoneを使用してApple Vision Proを組織に追加できるようになりました。

iPhone、iPad、Macと同様、Apple Vision ProのSetup Assistant中に、Apple Configuratorを実行しているiPhoneを近付けることで、ペアリングコードが表示されます。
このコードをiPhoneに入力することで、デバイスが組織に追加されます。

アカウント駆動型登録の簡素化

アカウント駆動型登録の簡素化

アカウント駆動型登録の簡素化を導入する際のサービスディスカバリーURLの設定が簡素化されました。

従来は組織のドメインにwell-knownエンドポイント(https://組織ドメイン名/.well-known/com.apple.remotemanagement)にリソースファイルを設定する必要がありましたが、MDMサーバーでURLを設定できるようになりました。

デバイスが組織ドメインでリソースファイルを見つけられない場合、Apple Business Manager/Apple School Managerに問い合わせ、デフォルトの割り当てがされているMDMサーバーから設定2されたURLを参照します。

MDMサーバーのマイグレーション

MDMサーバーのマイグレーション

従来、MDMサーバーを移行する場合、デバイスの完全な初期化やユーザーによる手動での作業が必要でした。

今回の新しいMDMサーバー移行機能により、Apple Business Manager/Apple School Manager内でiPhone、iPad、Macのみですが、新しいデバイス管理サービスに再割り当てできます。

移行には期限を設定でき、ユーザーには移行が必要であることと期限が通知されます。期限までに対応されない場合は、自動的に移行プロセスが開始されます。

移行完了後、新しいデバイス管理サービスがActivation Lockの管理権限を取得し、Bootstrap tokenを使用してFileVaultキーのローテーションを実行できます。

少々本筋と離れますが、プッシュ証明書の有効期限が切れてしまった、または誤った証明書をMDMサーバーに設定してしまった場合、MDM機能が使えなくなることがあります。 この機能を応用するとMDMサーバーを再設定できるかもしれません。

デバイス管理に関するアップデート

宣言型デバイス管理によるソフトウェアアップデートのvisionOSとtvOSサポート

宣言型デバイス管理によるソフトウェアアップデートのvisionOSとtvOSサポート

iOS/iPadOS 17、macOS Sonomaで導入された宣言型デバイス管理によるソフトウェアアップデート管理が、今年からvisionOSとtvOSにも対応しました。

従来のMDMによるソフトウェアアップデート管理は非推奨となり、将来のリリースで廃止が予定されています。

Safari管理の機能拡張

Safari管理の機能拡張

現在制限ペイロードで管理できるSafari設定3を宣言型デバイス管理で使用できます。

Apple Intelligence制御機能のApple Vision Pro対応

visionOS 2.4からApple Intelligenceが搭載されました。 これに合わせて、Apple Intelligenceの機能をMDMを用いて制限できるようになりました。

Return to Serviceの機能拡張

Return to Serviceの機能拡張

iOS/iPadOS 17で、主に共有デバイスなどで使用を想定しているリセット機能である「Return to Service」が導入されました。

今回のアップデートで、Return to Serviceを実行する際に、管理対象アプリケーションを保持できるようになりました。

ユーザーデータは従来どおり削除されますが、アプリケーションは残るため、次のユーザーのためにアプリケーションを再ダウンロードする時間の節約やネットワーク制約のある環境でも有用です。

また、Return to ServiceがApple Vision Proにも対応しました。

Return to Service用に設定されたVision Proでは、コントロールセンターに「Reset for Next User」オプションが表示されます。

その他のデバイス管理の機能拡張

その他のデバイス管理の機能拡張

以下の新機能がデバイス管理に追加されました。

  • iPadのバッテリー状態レポート
  • メッセージングと通話のデフォルトアプリケーションの設定
  • SIMごとのメッセージとFaceTime制限
  • AirPodsとBeatsヘッドフォンの一時的使用許可
  • ネットワークリレープロファイルでのFQDNサポート
  • Network Extension URLフィルタリングAPI

アプリケーション管理に関するアップデート

iOS/iPadOSでの管理対象アプリケーションのアップデートのコントロール

iOS/iPadOSでの管理対象アプリケーションのアップデートのコントロール

iOS/iPadOSの管理対象アプリケーションに対して、アプリケーションごとにアップデート動作を定義するオプションが追加されました。

  • 自動アップデートの強制または無効化
  • 特定バージョンへの固定
  • インストール進捗とバージョン情報のリアルタイム確認
  • セルラー経由でのアプリケーションダウンロードの制限

金融や医療などの規制業界では、動作確認が取れたバージョンを使用することで業務の安定化など、組織ごとのワークロードに合わせた対応ができます。

macOSでの宣言的デバイス管理の機能拡張

macOSでの宣言的デバイス管理の機能拡張

macOS Tahoeから、App Storeアプリケーション、カスタムアプリケーション、インストーラパッケージを宣言型デバイス管理を使用して展開できます。

Macのアイデンティティ統合に関するアップデート

Platform SSOのSetup Assistant統合

Platform SSOのSetup Assistant統合

これまでPlatform SSOの登録は、Macのローカルユーザー設定後に行う必要がありました。

macOS Tahoeからは、自動デバイス登録時のセットアップアシスタント内でPlatform SSOの登録が可能になります。

主な特徴は以下のとおりです。

  1. セットアップアシスタントでPlatform SSOパネルが表示
  2. Platform SSO登録なしでは先に進めない
  3. 認証成功後、SSOがデバイス管理への認証済み登録を提供
  4. Managed Apple AccountをPlatform SSOと同じIdPと連携している場合、Managed Apple Accountへの自動サインイン
  5. 認証成功後ローカルアカウントが作成される
  6. ローカルアカウントのパスワードはIdPと同期するか、またはSecure Enclaveでバックアップされたキーを使用してユーザーが設定
  7. ローカルアカウントのプロフィール画像をIdPのものと同期が可能

Authenticated Guest Modeの導入

Authenticated Guest Mode

macOS Tahoeから、デバイス共有に最適化された「Authenticated Guest Mode」が新たに導入されます。

ユーザーはログインウィンドウから直接クラウドIdPを使用してMacにログインできます。 認証はオンライン接続が必須ですが、パスワードまたはスマートカードが使用できます。

また、Enterprise SSOによるアプリケーションやWebサイトへのサインインが可能となります。

ログアウト後にはデバイスからすべてのセッションおよびユーザーデータが消去されます。

Tap to Loginの導入

Tap to Loginの導入

「Authenticated Guest Mode」が有効化されているMacにおいて、iPhoneやApple Watchをタップして、すべてのアプリケーションやWebサイトにSSOできます。

この機能を使用するには、Macに外付けNFCリーダーの設置が必要です。

ユーザー認証情報(アクセスキー)は事前にウォレットパスにプロビジョニングする必要があります。 このアクセスキーはSecure Enclaveに保存され、ハードウェアベースで暗号化されます。

また、エクスプレスモードにより、iPhoneやApple Watchを起動およびアンロックせずともこの機能が使用できます。

組織向けアプリケーション開発者向けのアップデート

ManagedAppフレームワークの提供開始

ManagedAppフレームワークの提供開始

iOS 18.4、iPadOS 18.4、visionOS 2.4から、アプリケーション開発者が利用できる新しいManagedAppフレームワークが提供されました。

このAPIにより、組織は以下を含むアプリケーション設定を安全に展開できます。

これまでは、Managed App Configurationのしくみを利用して、アプリケーションごとに設定値を配布できていました。 これらは平文で取り扱われる都合上、パスワードや証明書などの取り扱いは非推奨でした。

また、宣言型デバイス管理では使用できず、代替の登場が待たれていました。

ManagedAppフレームワークの登場により、Managed App Configurationで設定していた設定値はもちろん、パスワードや証明書なども安全に取り扱えるようになりました。

開発者にとっては、フレームワークに標準でデコーダが用意されているため、型安全かつMDMサーバーにデコードの結果を通知できる点が、Managed App Configurationとの大きな違いです。

終わりに

今回はWWDC 2025で発表されたエンタープライズ関連の新機能について紹介しました。

特に注目すべきは、Apple Business Manager/Apple School ManagerのAPI提供開始により自動化が大幅に進むことと、デバイス管理移行機能によってMDMサーバーの変更が簡素化されることです。また、Tap to LoginやAuthenticated Guest Modeなど、共有デバイス環境での体験向上も大きな進歩と言えるでしょう。

今回紹介した以外にも多くの機能追加・改善が行われています。詳細については、以下の一次情報も合わせてご確認ください。

参考リンク

  1. jqコマンドは「Download jq」に従ってインストールできる 

  2. MDMサーバー側から呼び出すAPIの仕様はAssign Account-Driven Enrollment Service Discovery | Apple Developerに記載されている 

  3. Safariの制限ペイロードの項目はProfileManifestsMirror/manifests/ManagedPreferencesApple/com.apple.safari.json at mainにまとめられている