Save 37% off PRO during our Black Friday Sale! »

iOSDCJapan2020_TrackC1130

D79df863ac26fcad4777f67a669bdacd?s=47 feedtailor
September 20, 2020

 iOSDCJapan2020_TrackC1130

キーワード多すぎ!なエンタープライズiOSの世界を概観する 2020年版

D79df863ac26fcad4777f67a669bdacd?s=128

feedtailor

September 20, 2020
Tweet

Transcript

  1. iOSDC Japan 2020 キーワード多すぎ!な エンタープライズiOSの世界を概観する 2020年版 @oishi

  2. 大石 裕一 株式会社フィードテイラー 2 2008〜 iPhoneアプリ開発事業 2010〜 エンタープライズiOS アプリ開発・導入支援事業 2016

    iOSアプリ開発事業整理 2020〜 エンタープライズiOS 研究所 設立 @oishi
  3. 3 エンタープライズiOS研究所 ( https://www.micss.biz/ )

  4. MDM (Mobile Device Management) iOS Managed App Configuration ABM (Apple

    Business Manager) Single App Mode ASAM (Autonomous Single App Mode) VPP (Volume Purchase Program) ADP (Apple Deployment Program) ADEP (Apple Developer Enterprise Program) DEP (Device Enrollment Program) Apple Configurator2 Configuration Profile Custom App Custom B2B Guided Access Per App VPN Supervised Mode Apple VAR
  5. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case
  6. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case
  7. 標準アプリはどこまで 消せるのか?

  8. None
  9. • Supervised Mode • Apple Configurator2 • 構成プロファイル

  10. normal supervised (監視モード) iOSの2つのモード

  11. normal できることの多少 supervised (監視モード)

  12. Apple Configurator2

  13. wired 有線接続したiOS端末の管理

  14. 有線接続したiOS端末の管理

  15. None
  16. wired • 情報収集 • 制御 • 設定流し込み • アプリ流し込み 主な役割

  17. • 情報収集 • 制御 • 設定流し込み • アプリ流し込み 主な役割

  18. • 情報収集 • 制御 • 設定流し込み • アプリ流し込み

  19. • XML (plist) 形式 • 作成方法 ◦ Apple Configurator 2

    ◦ MDM ◦ スクリプト・手書き 構成プロファイル(拡張子 .mobileconfig) OSレベルの設定をXMLで記述
  20. None
  21. https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf

  22. 構成プロファイルエディタ

  23. None
  24. None
  25. 監視モードでないと設定できない項目が多数 normal supervised (監視モード)

  26. 標準アプリ非表示は監視モードのみ

  27. 標準アプリ非表示は監視モードのみ https://github.com/joeblau/apple-bundle-identifiers

  28. normal 標準アプリ非表示は監視モードのみ supervised (監視モード)

  29. 標準アプリ非表示

  30. ホーム画面のレイアウト指定

  31. 壁紙の指定

  32. InHouse / AdHoc アプリのインストールも

  33. None
  34. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case
  35. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 有線!?
  36. None
  37. • 有線の限界 • macOSが必須 無理ゲー...

  38. Mobile Device Management

  39. wireless 有線接続が不要な端末管理

  40. • 遠隔情報収集 • 遠隔制御 • 遠隔設定配布 • 遠隔アプリ配布 MDMの役割

  41. メイン 補助的役割 端末管理の中心はMDM

  42. MDM services

  43. None
  44. Check In (Auto/Manual) MDMの仕組み

  45. APNs
 MDMの仕組み

  46. APNs
 通知要求 MDMの仕組み

  47. APNs
 通知要求 通知 MDMの仕組み mdmd

  48. APNs
 通知要求 通知 MDMの仕組み mdmd <plist version="1.0"> <dict> <key>Command</key> <dict>

    <key>RequestType</key> <string>DeviceLock</string> </dict> <key>CommandUUID</key> <string>14DCAEEE-E4B6-4866-8071-5599E98B31AA</string> </dict> </plist>
  49. APNs
 通知要求 通知 MDMの仕組み 11:30:46.101918+0900 mdmd Handling request type: DeviceLock

    11:30:46.108233+0900 mdmd Client did connect: <CATTaskClient: 0x104 11:30:46.113854+0900 mdmd tcp_input [C1.1:3] flags=[F.] seq=289714698 11:30:46.114078+0900 mdmd tcp_output [C1.1:3] flags=[F.] seq=2267210008 11:30:46.118266+0900 mdmd Command Status: Acknowledged 11:30:46.287818+0900 mdmd Polling MDM server https://go.bizmo.in/apple mdmd <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key> <string>DeviceLock</string> </dict> <key>CommandUUID</key> <string>14DCAEEE-E4B6-4866-8071-5599E98B31AA</string> </dict> </plist>
  50. MDMの役割 • 遠隔情報収集 • 遠隔制御 • 遠隔設定配布 • 遠隔アプリ配布

  51. 遠隔情報収集(監視)

  52. 遠隔制御

  53. 遠隔設定配布 Apple Configurator2 構成プロファイル

  54. A支店 B支店 Z支店 全社共通 A支店用 製品X 取扱店限定 遠隔設定配布

  55. InHouse 遠隔アプリ配布 (InHouse)

  56. A支店 B支店 Z支店 遠隔アプリ配布 (InHouse)

  57. <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key> <string>InstallApplication</string> <dict> <key>ManifestURL</key> <key>https://xxx.yyy.com/hoge/manifest.plist</key>

    </dict> </dict> <key>CommandUUID</key> <string>75FC7543-A372-48C7-AAAA-DB7AE58EB891</string> </dict> </plist> mdmd 遠隔アプリ配布 (InHouse)
  58. <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key> <string>InstallApplication</string> <dict> <key>ManifestURL</key> <key>https://xxx.yyy.com/hoge/manifest.plist</key>

    </dict> </dict> <key>CommandUUID</key> <string>75FC7543-A372-48C7-AAAA-DB7AE58EB891</string> </dict> </plist> mdmd 遠隔アプリ配布 (InHouse)
  59. 遠隔アプリ配布 (AppStore) <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key> <string>InstallApplication</string> <key>iTunesStoreID</key>

    <string>361285480</string> </dict> <key>CommandUUID</key> <string>75FC7543-A372-48C7-AAAA-DB7AE58EB891</string> </dict> </plist> mdmd
  60. <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key> <string>InstallApplication</string> <key>iTunesStoreID</key> <string>361285480</string> </dict>

    <key>CommandUUID</key> <string>75FC7543-A372-48C7-AAAA-DB7AE58EB891</string> </dict> </plist> mdmd 遠隔アプリ配布 (AppStore)
  61. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  62. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  63. <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key> <string>InstallApplication</string> <key>iTunesStoreID</key> <string>361285480</string> </dict>

    <key>CommandUUID</key> <string>75FC7543-A372-48C7-AAAA-DB7AE58EB891</string> </dict> </plist> アプリ配布 (AppStore) mdmd 361285480 ?
  64. ? 支払い ? ライセンス管理 <plist version="1.0"> <dict> <key>Command</key> <dict> <key>RequestType</key>

    <string>InstallApplication</string> <key>iTunesStoreID</key> <string>361285480</string> </dict> <key>CommandUUID</key> <string>75FC7543-A372-48C7-AAAA-DB7AE58EB891</string> </dict> </plist> アプリ配布 (AppStore) mdmd 361285480
  65. Apple Business Manager

  66. • アプリ • デバイス • AppleID Apple Business Manager

  67. • 業務用アプリの一括購入/一括入手 • 業務用アプリのライセンス管理 Apple Business Manager の役割 (アプリ管理)

  68. AppStoreとMDMのつなぎ役 MDM ABM AppStore

  69. None
  70. None
  71. None
  72. MDM ABM AppStore

  73. AppStore ABM MDM

  74. アプリ配布 A支店 B支店 Z支店

  75. mdmd AppStore

  76. mdmd AppStore

  77. mdmd AppStore

  78. mdmd AppStore 監視モードではサイレントインストール可

  79. mdmd AppStore InHouse

  80. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  81. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  82. https://www.micss.biz/2020/06/19/1774/

  83. 法人向けアプリ開発/配布の手段3つ Enterprise AppStore Custom App (ADEP) (ADP) (ADP)

  84. Enterprise AppStore Custom App 法人向けアプリ開発/配布の手段3つ PUBLIC PRIVATE (ADEP) (ADP) (ADP)

  85. AppStore Custom App 2019年以降、ADEPの新規取得はほぼ不可能 Enterprise PUBLIC PRIVATE (ADEP) (ADP) (ADP)

  86. Custom App (AppStoreインフラを使った企業向け非公開アプリ)

  87. PUBLIC PRIVATE MDM ABM

  88. PUBLIC PRIVATE MDM ABM App Store インフラ

  89. App Store Connect ABM MDM PUBLIC PRIVATE App Store インフラ

  90. App Store Connect ABM MDM PUBLIC PRIVATE App Store インフラ

    PRIVATE
  91. App Store Connect ABM MDM PUBLIC PRIVATE App Store インフラ

    PRIVATE ADEP不可!!
  92. PUBLIC PRIVATE

  93. None
  94. None
  95. App Store Connect PUBLIC PRIVATE ABM App Store MDM Custom

    App 組織 ID
  96. App Store Connect PUBLIC PRIVATE ABM App Store MDM Custom

    App 組織 ID App Store インフラ
  97. App Store Connect PUBLIC PRIVATE ABM App Store MDM Custom

    App 組織 ID App Store インフラ TestFlight
  98. App Store Connect PUBLIC PRIVATE ABM App Store MDM Custom

    App 組織 ID App Store インフラ TestFlight 自社の組織IDもOK
  99. AppStore Custom App PUBLIC PRIVATE これからの法人向けアプリ Enterprise

  100. Developer Program Provisioning Profile 配布方法 審査 台数制限 リビルド 再署名 インストール

    状況把握 インストール 操作主体 インストール時 ユーザ操作 (*) 旧バージョン インストール 備考 ADEP InHouse MDM 無 無 1年に1回 可 管理部門 不要 可 2020年以降、 ADEP取得不可 InHouse AC2, Xcode, Finder, OTA 無 無 1年に1回 不可 ユーザ 必要 可 AdHoc AC2, Xcode, Finder, OTA 無 100台 (デバイス毎) 1年に1回 不可 ユーザ 必要 可 ADP AdHod AC2, Xcode, Finder, OTA 無 100台 (デバイス毎) 1年に1回 不可 ユーザ 必要 可 AppStore AppStore + ABM + MDM 有 無 不要 可 管理部門 不要 不可 TestFlight併用 でADEPに劣る 部分をカバー AppStore CustomApp + ABM + MDM 有 無 不要 可 管理部門 不要 不可 AppStore TestFlight 内部テスター 無 100人 30台 3ヶ月に1回 可 ユーザ 必要 可 AppStore TestFligh 外部テスター 有 10000人 3ヶ月に1回 可 ユーザ 必要 可 法人向けアプリのビルドと配布 (2020年版) 初期導入/運用保守の容易性 (*) 「不要」はDEP端末の場合。 DEP端末でない場合 1タップだけ必要となる
  101. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  102. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  103. App Store Connect ABM App Store MDM Custom App 組織

    ID
  104. App Store Connect ABM App Store MDM Custom App 組織

    ID チェックイン前提
  105. App Store Connect ABM App Store MDM Custom App 組織

    ID チェックイン前提 (500台も?誰が?)
  106. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  107. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔! 要監視モード
  108. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 要監視モード 遠隔で監視モード?
  109. App Store Connect ABM App Store MDM Custom App 組織

    ID チェックイン前提 監視モード化
  110. Device Enrollment Program (特別なiOS端末を購入できる制度)

  111. App Store Connect ABM App Store MDM Custom App 組織

    ID 電源ON → 自動チェックイン 自動監視モード化
  112. Apple VAR (Apple Value Added Reseller) エンドユーザ企業 DEP端末の購入

  113. https://www.apple.com/jp/business/contact/var/all.html 国内の Apple VAR 一覧

  114. DEP端末はABMで一元管理

  115. App Store Connect ABM App Store MDM Custom App 組織

    ID FKXXXXXX FYXXXXXX FJXXXXXX
  116. App Store Connect ABM App Store MDM Custom App 組織

    ID FKXXXXXX FYXXXXXX FJXXXXXX FKXXXXXX FYXXXXXX FJXXXXXX
  117. App Store Connect ABM App Store MDM Custom App 組織

    ID FKXXXXXX FYXXXXXX FJXXXXXX 出荷前に全ての準備が完了する FKXXXXXX FYXXXXXX FJXXXXXX
  118. App Store Connect ABM App Store MDM Custom App 組織

    ID FKXXXXXX FYXXXXXX FJXXXXXX 電源ON → 自動チェックイン 自動監視モード化 FKXXXXXX FKXXXXXX FYXXXXXX FJXXXXXX
  119. App Store Connect ABM App Store MDM Custom App 組織

    ID FKXXXXXX FYXXXXXX FJXXXXXX FKXXXXXX FKXXXXXX FYXXXXXX FJXXXXXX
  120. App Store Connect ABM App Store MDM Custom App 組織

    ID FKXXXXXX FYXXXXXX FJXXXXXX FKXXXXXX FKXXXXXX FYXXXXXX FJXXXXXX Zero Touch Deployment
  121. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  122. MDM (Mobile Device Management) iOS Managed App Configuration ABM (Apple

    Business Manager) Single App Mode ASAM (Autonomous Single App Mode) VPP (Volume Purchase Program) ADP (Apple Deployment Program) ADEP (Apple Developer Enterprise Program) DEP (Device Enrollment Program) Apple Configurator2 Configuration Profile Custom App Custom B2B Guided Access Per App VPN Supervised Mode Apple VAR
  123. MDM (Mobile Device Management) iOS Managed App Configuration ABM (Apple

    Business Manager) Single App Mode ASAM (Autonomous Single App Mode) VPP (Volume Purchase Program) ADP (Apple Deployment Program) ADEP (Apple Developer Enterprise Program) DEP (Device Enrollment Program) Apple Configurator2 Configuration Profile Custom App Custom B2B Guided Access Per App VPN Supervised Mode Apple VAR
  124. App Store Connect ABM App Store MDM Custom App 組織

    ID
  125. 構成プロファイル リファレンス https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf MDMプロトコルリファレンス https://developer.apple.com/business/documentation/MDM-Protocol-Reference.pdf Apple Configurator2 オフィシャルドキュメント https://support.apple.com/ja-jp/apple-configurator Apple

    Business Manager ユーザガイド https://support.apple.com/ja-jp/guide/apple-business-manager/welcome/web Distributing Custom Apps for Business https://developer.apple.com/business/custom-apps/ WWDC2020 : Custom app distribution with Apple Business Manager https://developer.apple.com/videos/play/wwdc2020/10667/ WWDC2019 : App Distribution - From Ad-hoc to Enterprise https://developer.apple.com/videos/play/wwdc2019/304 Apple VAR https://www.apple.com/jp/business/contact/var/all.html ADEPはもう取得できないと諦めたほうがいい理由 https://www.micss.biz/2020/06/19/1774/ 参考資料
  126. iOSDC Japan 2020 キーワード多すぎ!な エンタープライズiOSの世界を概観する 2020年版 @oishi