ハイライト
デバイス管理チームの Nadia と Graham がセッションを開催し、macOS Ventura および iOS/iPadOS 16 の新しいデバイス管理機能について説明します。
主要内容
企業や学校での Apple デバイスの管理に関してよくある質問は、非常に具体的です。
デバイスが調達チャネルにない場合、管理者はそのデバイスを Apple Business Manager に追加する必要があります。従業員は個人の iPhone を使用して MDM に登録しますが、登録、会社のアプリ、および会社の Web サイトに繰り返しログインする必要があります。システム アップデートが同じ Mac にプッシュされた後、管理者はユーザーが残している拡張機能の数を知りたいと考えます。 BYOD デバイスは、企業アプリのネットワーク トラフィックのみを保護したいと考えており、デバイス全体を乗っ取ることは望んでいません。
このセッションでは、展開、アイデンティティ、MDM プロトコル、ドキュメントの 4 つの分野に沿ってこれらの問題を展開します。デバイス管理リンクの一連のアップデートがリリースされました。Apple Configurator for iPhone は iPhone と iPad の追加をサポートします。 ID システムは、Google Workspace 連携認証、OAuth 2、登録 SSO、プラットフォーム SSO に参加します。 macOS、iOS、iPadOS の MDM プロトコルでは、さらに多くの状態、制限、クエリが追加されます。デバイス管理ドキュメントのソースデータをGitHubに公開します。
Apple Configurator for iPhone が iPhone と iPad に拡張
(03:24) iPhone 用 Apple Configurator は元々、異常な調達チャネルを通じて購入された Mac を組織に追加するために使用されていました。 iOS および iPadOS 16 以降では、iPhone および iPad を Apple School Manager または Apple Business Manager に追加することもできます。
以前は、iPhone または iPad を組織に追加する場合、Configurator for Mac はそれらを USB 経由で 1 つずつ接続する必要がありました。新しい iPhone のプロセスは、セットアップ アシスタントのアニメーションをスキャンする操作に従いますが、スキャンの場所は異なります。iOS と iPadOS は Wi-Fi ページをスキャンし、macOS は国または地域のページをスキャンします。
対話型アクティベーションは、依然として最初に手動で行う必要があります。アクティベーション ロックやキャリア アクティベーションなどは、組織に参加する前に対処する必要があります。
ID 管理の目標: 一度ログインすればシステム内で再利用できる
(04:49) Apple は、ID 管理の目標を非常に単純にしています。ユーザーは一度ログインすると、この ID をオペレーティング システム全体で一貫して使用します。
今回は4つのアップデートをご紹介します。
まず、Apple Business Manager は、フェデレーション ID プロバイダーとして Google Workspace をサポートします。組織は、職場アカウントを管理対象 Apple ID の認証ポータルとして使用し、ディレクトリ同期を使用して管理対象 Apple ID を自動的に作成できます。
次に、「Apple でサインイン」は、管理対象 Apple ID をサポートします。すでに「Apple でサインイン」をサポートしているアプリには追加の変更は必要ありません。管理者は、Apple School Manager または Apple Business Manager ですべてのアプリを許可したり、明示的な許可リストを構成したりできます。
3 番目に、iOS および iPadOS 16 では、MDM クライアント認証用に OAuth 2 が追加されています。 OAuth のリフレッシュ トークン メカニズムを有効期間の短いアクセス トークンとともに使用すると、ユーザーに資格情報の入力を頻繁に求めるプロンプトを回避できます。
4 番目に、登録シングル サインオンは、アカウント主導のユーザー登録とスケーラブルな SSO を組み合わせます。ユーザーが設定に電子メール アドレスを入力すると、システムは登録 SSO 拡張機能を備えたアプリをダウンロードするように求めます。このアプリはネイティブ認証インターフェイスを担当し、ユーザーに MDM 登録プロセスを案内します。
詳細
登録 SSO: JSON を使用して、どの SSO アプリをインストールするかをシステムに指示します
(09:12) 登録 SSO のエントリ ポイントは、MDM サーバーの認証チャレンジ応答から取得されます。サーバーは HTTP ヘッダーで URL を返し、クライアントはこれを使用して JSON ドキュメントをダウンロードします。この JSON は、登録時にどのアプリを使用するか、どのドメインを関連付けるか、どの構成記述ファイルをインストールするかをシステムに伝えます。
{
"iTunesStoreID": 12345678,
"AssociatedDomains": [
"betterbag.com"
],
"AssociatedDomainsEnableDirectDownloads": false,
"ConfigurationProfile": "Base64EncodedProfile"
}
キーポイント:
iTunesStoreID登録プロセス中に使用される登録 SSO アプリを指します。 -AssociatedDomainsと一緒に使用するApplicationAttributes同じ関連ドメイン構成。 -AssociatedDomainsEnableDirectDownloads関連するドメインの直接ダウンロード動作を制御します。 -ConfigurationProfileこれは、少なくとも 1 つの拡張可能 SSO ペイロードを含む Base64 でエンコードされた構成記述ファイルです。証明書が必要な場合は、証明書ペイロードを含めることもできます。
(11:02) テストモードは開発段階で有効にすることができます。さまざまな応答ヘッダー、JSON も使用しますiTunesStoreIDと置き換えますAppIDs、まだ App Store にリリースされていないテスト アプリのインストールを容易にするため。
{
"AppIDs": [
"ABC123.com.example.singlesignonapp"
],
"AssociatedDomains": [
"betterbag.com"
],
"AssociatedDomainsEnableDirectDownloads": false,
"ConfigurationProfile": "Base64EncodedProfile"
}
キーポイント:
AppIDsテストモードでの登録が許可されているアプリ ID をリストする文字列の配列です。 -AssociatedDomains、AssociatedDomainsEnableDirectDownloads、ConfigurationProfile正式なパターンと一致するようにしてください。- テスト プロセスは、[設定] の [開発者] 領域の登録シングル サインオン テスト モードで開始され、次に VPN とデバイス管理での登録が開始されます。
- テスト アプリは、Xcode、TestFlight、またはエンタープライズ ディストリビューションを通じてインストールできます。
プラットフォーム SSO: macOS ログイン ウィンドウを ID プロバイダーに接続します。
(11:56) macOS Ventura では、プラットフォーム シングル サインオンが導入されています。これにより、ユーザーはログイン ウィンドウで 1 回の認証を完了するだけで、組織のアプリや Web サイトに自動的にログインできます。
この機能は、アイデンティティ プロバイダーと SSO 拡張機能の開発者を対象としています。 ID プロバイダーは SSO プロトコルを実装し、独自の SSO 拡張機能を更新する必要があります。管理者は、SSO プロファイルを拡張できる新しいキーを更新する必要があります。
働き方にも明確な境界線があります。
ユーザーは、初めてログインするときに引き続きローカル アカウントのパスワードを使用します。これにより、FileVault のロックが解除され、ユーザーはオフラインまたはキャプティブ ネットワーク環境でログインできるようになります。その後、ID プロバイダーのパスワードを使用してロックを解除できます。プラットフォーム SSO は、パスワードまたは Secure Enclave に基づくキーと ID プロバイダー認証をサポートします。取得された SSO トークンはキーチェーンに保存され、SSO 拡張機能に提供されます。 Kerberos TGT は、資格情報キャッシュを取得してインポートすることもできます。
ディレクトリ サービスを直接使用したり、ロックが解除されるたびに ID プロバイダーに問い合わせたりすることはありません。 ID プロバイダーは、ユーザーが新しいパスワードでロックを解除しようとしたとき、または SSO トークンを取得する必要があるときにのみ呼び出されます。
OSUpdateStatus: システム更新ステータスが追跡可能になります
(15:15) macOS Ventura では、管理対象ソフトウェア アップデートが改善されています。デバイスは、スリープ モードまたはパワーナップ モードの場合にも認識して応答します。ScheduleOSUpdate、OSUpdateStatus、AvailableOSUpdate注文。
ScheduleOSUpdate新しいpriorityキー、値はHighまたはLow。Highシステム設定で更新を積極的に要求しているユーザーの優先順位をシミュレートします。このキーは、マイナーな OS アップデートのみをサポートします。
(16:08)OSUpdateStatus戻り値により、管理者の可視性がさらに高まります。
<key>DeferralsRemaining</key>
<integer>4</integer>
<key>DownloadPercentComplete</key>
<real>0.0</real>
<key>IsDownloaded</key>
<false/>
<key>MaxDeferrals</key>
<integer>5</integer>
<key>NextScheduledInstall</key>
<date>2022-04-19T09:00:00Z</date>
<key>PastNotifications</key>
<array>
<date>2022-04-18T17:03:51Z</date>
</array>
<key>ProductKey</key>
<string>MSU_UPDATE_22A240a_full_13.0_minor</string>
<key>ProductVersion</key>
<string>16.0</string>
キーポイント:
DeferralsRemainingユーザーが更新プロンプトを延長する機会が何回残っているかを示します。 -MaxDeferralsユーザーが許可する拡張子の合計数を示します。 -NextScheduledInstall次回システムが更新プログラムのインストールを試行する時刻を示します。 -PastNotifications更新通知がユーザーに表示された特定の時間を記録します。 -ProductKeyそしてProductVersion管理者がステータスを特定のシステム更新にマッピングできるようにします。
(16:58) Rapid Security Response により、管理上の制限も追加されます。allowRapidSecurityResponseInstallationFast Security Response のインストールを無効にするために使用されます。allowRapidSecurityResponseRemovalエンド ユーザーが Quick Security Response を削除できないようにするために使用されます。
アプリごとの DNS プロキシと Web コンテンツ フィルター: BYOD で企業アプリのトラフィックを保護
(21:47) iOS および iPadOS 16 では、アプリごとのアイデアが DNS プロキシと Web コンテンツ フィルターに拡張されています。ユーザー登録シナリオに適しています。組織は、個人のデバイス トラフィック全体を管理することなく、企業アプリのトラフィックを保護できます。
構成は 2 段階のプロセスです。最初のステップは、UUID を Web コンテンツ フィルターまたは DNS プロキシ ペイロードに追加することです。 2番目のステップは次のとおりですInstallApplicationコマンドまたはSettingsコマンドでは、対応するアプリの属性に同じ UUID を書き込みます。
(22:38) Web コンテンツ フィルターのペイロードで使用されるものContentFilterUUID。
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.webcontent-filter</string>
<key>ContentFilterUUID</key>
<string>063D927E-ACE2-445F-8024-B355A6921F50</string>
<key>FilterType</key>
<string>Plugin</string>
<key>FilterBrowsers</key>
<true/>
<key>FilterPackets</key>
<false/>
<key>FilterSockets</key>
<true/>
…
キーポイント:
PayloadTypeこれがであることを示しますcom.apple.webcontent-filterpayload。ContentFilterUUID再利用されるアプリ属性の識別子です。 -FilterBrowsers、FilterPackets、FilterSocketsフィルターの対象となるトラフィックのタイプを制御します。- この UUID を追加した後は、ペイロードは MDM 経由でのみインストールできます。
(22:47) DNS プロキシ ペイロードの使用法DNSProxyUUID。
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.dnsProxy.managed</string>
<key>DNSProxyUUID</key>
<string>063D927E-ACE2-445F-8024-B355A6921F50</string>
<key>AppBundleIdentifier</key>
<string>com.example.myDNSProxy</string>
…
キーポイント:
PayloadTypeホストされた DNS プロキシ ペイロードを指します。 -DNSProxyUUIDアプリごとの DNS プロキシに関連付けられた識別子です。 -AppBundleIdentifierDNS プロキシ機能を提供するアプリを指します。- システムでは複数の DNS プロキシが許可されていますが、システム全体のプロキシとアプリごとのプロキシを混在させることはできません。
(23:05) アプリをインストールするときに、同じ UUID を書き込みますAttributes。
<plist version="1.0">
<dict>
<key>RequestType</key>
<string>InstallApplication</string>
<key>iTunesStoreID</key>
<integer>361309726</integer>
<key>Attributes</key>
<dict>
<key>ContentFilterUUID</key>
<string>063D927E-ACE2-445F-8024-B355A6921F50</string>
<key>DNSProxyUUID</key>
<string>063D927E-ACE2-445F-8024-B355A6921F50</string>
</dict>
<key>ManagementFlags</key>
<integer>0</integer>
</dict>
</plist>
キーポイント:
RequestType使用InstallApplication、これがアプリをインストールするための MDM コマンドであることを示します。 -iTunesStoreIDインストールするアプリをポイントします。 -Attributesアプリごとの構成関連付け情報をホストします。 -ContentFilterUUIDそしてDNSProxyUUID値は、前のペイロードの UUID に対応する必要があります。- アプリ開発者は、この機能のコードを変更する必要はありません。既存の DNS プロキシ アプリと Web コンテンツ フィルター アプリは引き続き使用できます。
eSIM 管理: 最初に ServiceSubscriptions を確認してから、RefreshCellularPlans を送信します
(24:38) eSIM の展開は 2 つのアクションに分かれています。MDM はまずオペレーターが必要とするデータをデバイスからクエリし、次にデバイスにオペレーター サーバーから eSIM をインストールさせます。
DeviceInformationクエリ内ServiceSubscriptionsは携帯電話データのワンストップ ソースです。 2 つの項目が返されるということは、デバイスが 2 つのアクティブな携帯電話プランをサポートしていることを示します。戻るEIDこれが eSIM であることを示します。 iPhone 13 や第 3 世代 iPhone SE などの新しいデバイスは、デュアル アクティブ キャリア eSIM プロファイルをサポートしています。
(24:56) 以下はServiceSubscriptions応答のフラグメント。
{
"CarrierSettingsVersion": "41.7.46",
"CurrentCarrierNetwork": "CarrierNetwork",
"CurrentMCC": "310",
"CurrentMNC": "410",
"EID": "89049032004008882600004821436874",
"ICCID": "6905 4911 1205 0650 3488",
"IMEI": "35 309418 464558 9",
"IsDataPreferred": false,
"IsRoaming": false,
"IsVoicePreferred": false,
"Label": "Secondary",
"LabelID": "FDG4225C-L9OY-89BM-JF38-36JR4JOL76B3",
"MEID": "35745008005631",
"PhoneNumber": "+14152739164",
"Slot": "CTSubscriptionSlotTwo"
}
キーポイント:
EID各デバイスの一意の eSIM 識別子です。 -IMEI、EID、シリアル番号、電話番号は、オペレーターが通常必要とする 4 種類のデータです。 -PhoneNumber空でない場合は、eSIM が正常にインストールされたことを確認するために使用できます。 -Slotこの加入レコードに対応するセルラー スロットを示します。
(26:28) eSIM サーバーの URL は、インストール段階でオペレーターによって提供されます。 MDM がデバイスに送信するRefreshCellularPlans、デバイスはオペレーターのサーバーにアクセスし、eSIM が利用可能な場合は、ユーザーの介入なしで自動的にダウンロードおよびインストールされます。
ここには 3 つの管理上の詳細があります。
- eSIM のインストールは 1 回限りの操作です。同じデバイスにその後インストールするには、オペレーターが新しい eSIM を構成する必要があります。
-
allowESIMModificationユーザーが誤って eSIM を削除することを防ぐことができます。 - デバイスをワイプするときに eSIM を保持したい場合は、
EraseDeviceに命令するPreserveDataPlanに設定True。
共有 iPad: 入力を減らし、リモート認証の頻度を調整し、割り当てを明確にする
(27:45) 共有 iPad のアップデートは、ログイン エクスペリエンスとストレージ クォータに重点を置いています。
ManagedAppleIDDefaultDomains参加するSharedDeviceConfigurationのSettings注文。ユーザーが管理対象 Apple ID を入力すると、QuickType キーボードでドメイン名の入力を求められます。このコマンドは任意の数のドメイン名を受け入れることができますが、インターフェイスには 3 つしか表示されません。
(28:32) iPadOS 16 ではリモート認証要件が変更されます。既存のユーザーはデフォルトでローカル認証を使用します。管理者がリモート認証を強制したい場合は、次のように設定できます。OnlineAuthenticationGracePeriod。このキーは整数で、2 つのリモート認証間の日数を示します。値が 0 の場合、ログインごとにリモート認証が必要です。
(29:18) iPad の共有割り当てはまだ通過していますSharedDeviceConfiguration管理者、関連するキーは次のとおりですQuotaSizeそしてResidentUsers。どのキーが設定されているかに関係なく、システムは最終的に各ユーザーのストレージ割り当てを計算します。デバイスにキャッシュされたユーザーが存在しない限り、iOS 13.4 以降はいつでもクォータ サイズを調整できます。
MDM はアクセシビリティ設定を管理し、セットアップ アシスタントでアプリをインストールします
(31:28) iOS および iPadOS 16 では、MDM で、テキスト サイズ、VoiceOver、ズーム、タッチ調整、太字テキスト、動きを減らす、コントラストを上げる、透明度を下げるなど、いくつかの一般的なアクセシビリティ設定を管理できます。
<key>Settings</key>
<array>
<dict>
<key>Item</key>
<string>AccessibilitySettings</string>
<key>TextSize</key>
<integer>5</integer>
<key>VoiceOverEnabled</key>
<true/>
<key>ZoomEnabled</key>
<true/>
<key>TouchAccommodationsEnabled</key>
<true/>
<key>BoldTextEnabled</key>
<true/>
<key>ReduceMotionEnabled</key>
<true/>
<key>IncreaseContrastEnabled</key>
<true/>
<key>ReduceTransparencyEnabled</key>
<true/>
</dict>
</array>
キーポイント:
Itemに設定AccessibilitySettings、この設定セットがアクセシビリティ用であることを示します。 -TextSize文字サイズを設定します。 -VoiceOverEnabled、ZoomEnabled、TouchAccommodationsEnabled一般的なアクセシビリティ スイッチを制御します。 -BoldTextEnabled、ReduceMotionEnabled、IncreaseContrastEnabled、ReduceTransparencyEnabled表示とアニメーション関連の設定を制御します。- これらの設定はロックされていないため、ユーザーは個人の好みに応じて変更できます。 MDM では次のこともできます。
DeviceInformationクエリはそれらをクエリします。
(32:23) 自動デバイス登録AwaitDeviceConfiguredStage はアプリケーションのインストールをサポートしています。通常、この段階では App Store にログインしているユーザーはいないため、Apple はデバイスベースの App ライセンスを使用することをお勧めします。このようにして、デバイスがセットアップ アシスタントを終了する前に、ユーザーが動作を開始するために必要なアプリを準備できます。
(32:55) セキュリティ境界も変更されました。CertificateList初めてロックを解除する前にクエリが返されますNotNow。
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>0001_CertificateList</string>
<key>Status</key>
<string>NotNow</string>
<key>UDID</key>
<string>00008031-000123840A45507E</string>
</dict>
</plist>
キーポイント:
CommandUUID今度はマークするCertificateList注文。 -Status戻るNotNow、デバイスが現在結果を提供できないことを示します。 -UDID応答するデバイスを識別します。- ユーザーが初めてデバイスのロックを解除した後、デバイスが再起動されるまで、クエリは正常に応答します。
- MDM サーバーがこれを処理できる必要があります
NotNow、それを永続的な障害と見なすことはできません。
デバイス管理ドキュメントは機械可読データとして開かれます
(33:51) Apple は、MIT オープンソース ライセンスを使用して、デバイス管理ドキュメントの背後にあるソース コードを GitHub に公開しました。リポジトリには、MDM ドキュメントと宣言型デバイス管理ドキュメントが含まれています。
この構造はツールの使用にも適しています。チェックイン、コマンド、プロファイルは MDM ディレクトリにあります。宣言、プロトコル、ステータスは宣言管理ディレクトリにあります。コマンド、プロファイル、または宣言ごとに YAML ファイルがあります。
(35:00) YAML にはいくつかのキー フィールドがあります。
payloadMDM コマンドを表すリクエスト タイプ。例:ProfileList。supportedOSプラットフォーム、システムのバージョン、監視が必要かどうか、およびユーザー登録がサポートされているかどうかについて説明します。 -payloadkeysクエリの追加機能について説明します。サブキーは上位層をカバーできます。supportedOS。response keysMDM サーバーが受信すると予想される応答構造について説明します。
これは MDM ベンダーにとって便利です。ツールは YAML を直接読み取り、プロトコル チェック、バージョンの差分、サポート マトリックス、またはドキュメント ページを生成できます。
重要ポイント
-
登録 SSO 開発チェッカーを作成する
- 内容: MDM 認証応答ヘッダーによって指定された JSON に正しい内容が含まれていることを確認します。
iTunesStoreIDまたはテストモードAppIDs。 - 実行する価値がある理由: 登録 SSO には、MDM サーバー、ID プロバイダー、管理対象 Apple ID、および SSO アプリ間のマルチパーティ コラボレーションが含まれます。構成エラーにより、ユーザーは登録プロセスでスタックしてしまいます。
- 開始方法: サーバーから JSON を取得して検証します
AssociatedDomains、AssociatedDomainsEnableDirectDownloads、ConfigurationProfileをクリックし、テスト デバイスで登録 SSO テスト モード検証を有効にします。
- 内容: MDM 認証応答ヘッダーによって指定された JSON に正しい内容が含まれていることを確認します。
-
システムアップデートコンプライアンスパネルを作成
- 内容: 各 Mac を表示します。
DeferralsRemaining、MaxDeferrals、NextScheduledInstallそしてPastNotifications。 - 実行する価値がある理由: 管理者は、「デバイスがアップデートを受信していない」、「ユーザーはまだ延期されている」、「システムのインストールがスケジュールされている」という 3 つのステータスを区別できます。
- 開始方法: 定期的に送信します
OSUpdateStatus、返されたフィールドをデバイスと製品バージョンごとにデータベースに入力し、残りの拡張機能の数で並べ替えます。
- 内容: 各 Mac を表示します。
-
BYOD 企業のアプリ ネットワーク ポリシー ジェネレーターを作成
- 内容: Web コンテンツ フィルター、DNS プロキシ ペイロード、および
InstallApplication属性。 - 実行する価値がある理由: アプリごとの DNS プロキシと Web コンテンツ フィルターでは、UUID がプロファイルとアプリ属性の間で一貫している必要があり、手動メンテナンスではエラーが発生しやすくなります。
- 開始方法: 各ポリシーの UUID を生成し、書き込みます
ContentFilterUUIDまたはDNSProxyUUIDに同じ値を書き込みます。InstallApplicationのAttributes。
- 内容: Web コンテンツ フィルター、DNS プロキシ ペイロード、および
-
eSIM 導入レポート ツールを作成する
- やるべきこと: から
ServiceSubscriptionsIMEI、EID、シリアル番号、電話番号を要約し、配送業者リストを生成します。 - 実行する価値がある理由: 通常、通信事業者は eSIM をアクティブ化する前にこれらの種類のデータを必要とし、MDM は既にデバイス側からデータを収集できます。
- 開始方法: 開始します
DeviceInformationクエリ、抽出ServiceSubscriptions、インストール後に再度クエリを実行し、空でないものを使用しますPhoneNumber結果を確認します。
- やるべきこと: から
-
デバイス管理 YAML diff ブラウザを作成します
- 何をすべきか: Apple GitHub でデバイス管理 YAML を読み取り、システム バージョンごとに新しいコマンド、ペイロード キー、サポートされているプラットフォームの変更を表示します。
- 実行する価値がある理由: ドキュメントのソース データはすでに機械で読み取り可能であり、MDM ベンダーはプロトコルの変更を自動チェックに変換できます。
- 開始方法: Apple のデバイス管理ウェアハウスを取得して解析します
supportedOS、payloadkeys、response keys, iOS 16とmacOS Venturaの違いをブランチごとに比較します。
関連セッション
- 宣言型デバイス管理の採用 - このセッションは最初に推奨され、プラットフォーム サポート、ステータス レポート、述語における宣言型デバイス管理の拡張について引き続き説明します。
- 職場および学校での Apple でのサインインの詳細 — 組織のシナリオで Apple でのサインインに管理対象 Apple ID がどのように使用されるかについての詳細な説明。
- 管理対象デバイス構成証明の検出 - デバイス構成証明で Secure Enclave を使用して、サーバーにデバイス ID とソフトウェア バージョン保証を提供する方法について説明します。
- Explore Apple Business Essentials — 中小企業向けのオールインワンのデバイス管理、サポート、クラウド ストレージ サブスクリプション オプションを紹介します。
コメント
GitHub Issues · utterances