Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOSDCJapan2020_TrackC1130

feedtailor
September 20, 2020

 iOSDCJapan2020_TrackC1130

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

feedtailor

September 20, 2020
Tweet

More Decks by feedtailor

Other Decks in Technology

Transcript

  1. 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
  2. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

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

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case
  4. • XML (plist) 形式 • 作成方法 ◦ Apple Configurator 2

    ◦ MDM ◦ スクリプト・手書き 構成プロファイル(拡張子 .mobileconfig) OSレベルの設定をXMLで記述
  5. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

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

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 有線!?
  7. 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>
  8. 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>
  9. <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)
  10. <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)
  11. 遠隔アプリ配布 (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
  12. <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)
  13. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

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

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  15. <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 ?
  16. ? 支払い ? ライセンス管理 <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
  17. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

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

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

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

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

    App 組織 ID App Store インフラ TestFlight 自社の組織IDもOK
  22. 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タップだけ必要となる
  23. • 全国店舗の接客用iPad 500台 • ホーム画面 ◦ 壁紙・レイアウトを指定 ◦ 標準アプリは見せたくない •

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

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

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

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

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

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

    ID チェックイン前提 監視モード化
  30. App Store Connect ABM App Store MDM Custom App 組織

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

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

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

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

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

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

    アプリ ◦ 有償AppStoreアプリを全員分購入し配布 ◦ 自社専用アプリも開発し非公開配布 • 初期導入・追加導入の労力最小化 sample case 遠隔!
  37. 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
  38. 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
  39. 構成プロファイル リファレンス 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/ 参考資料