<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MDM &#8211; MICSS</title>
	<atom:link href="https://20230101.www.micss.biz/category/mdm/feed/" rel="self" type="application/rss+xml" />
	<link>https://20230101.www.micss.biz</link>
	<description>“低コスト”で“スピーディ”なモバイル導入をご支援</description>
	<lastBuildDate>Fri, 06 Jan 2023 00:33:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.25</generator>
	<item>
		<title>エンタープライズiOS関係者に視聴をお勧めするWWDC2022セッション3選</title>
		<link>https://20230101.www.micss.biz/2022/08/22/5495/</link>
		<pubDate>Mon, 22 Aug 2022 00:08:15 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[ABM]]></category>
		<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[エンタープライズiOS]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5495</guid>
		<description><![CDATA[2022年6月6日(米国時間)から5日間、WWDC2022が開催されました。 初日のキーノートでは、LockScreen刷新を含む多数のiOS16の新機能、ほぼデスクトップOS化したiPadOS16に加え、M2チップ搭載 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>2022年6月6日(米国時間)から5日間、<a href="https://developer.apple.com/wwdc22/" rel="noopener" target="_blank">WWDC2022</a>が開催されました。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_title.jpg" alt="" width="600" class="alignnone" /></p>
<p>初日のキーノートでは、LockScreen刷新を含む多数のiOS16の新機能、ほぼデスクトップOS化したiPadOS16に加え、M2チップ搭載のMacBook Proなどハード的な進化も発表されました。</p>
<p>例年WWDCのキーノートではエンタープライズ向け機能が紹介されることはなく目立ちませんが、今回も着実な進化を遂げていました。本稿ではエンタープライズiOS関係者が、特に見ておいたほうが良いWWDC2022のセッションを3つ紹介します。</p>
<p>&nbsp;</p>
<h3><a href="https://developer.apple.com/videos/play/wwdc2022/10045/" rel="noopener" target="_blank">What&#8217;s new in managing Apple devices</a></h3>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_10045_top.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(エンタープライズ系のセッションではお馴染みの Graham と Nadia)</span></p>
<p>最近のWWDCでは必ずエンタープライズ系の新機能をザックリ全て紹介するセッションが用意されています。2022年も同様で、本セッションは全ての関係者がチェックしておくべきでしょう。</p>
<p>しれっと手短に紹介された幾つかの機能が3つ印象に残りました。</p>
<p>まず、<a href="https://apps.apple.com/jp/app/apple-configurator/id1588794674" rel="noopener" target="_blank">Apple Configurator for iPhone</a> の新機能。iOS16からは iPhone 用の Apple Configurator を使ってDEP(ADE)端末化することができるようになります。Macとの有線接続必須だった従来に比べ劇的な作業効率向上が期待できます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_10045_ac4iphone.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(iPhoneでかざすだけでABMに登録される)</span></p>
<p>2つ目は、MDMでのeSIM対応。ソフトウェア化されたSIMだからこそ実現できることですね。CelullarモデルのiPhoneを電源ONしてWiFiに繋ぐだけで電話回線まで有効にする…ってことが実現できます。Kittingが更に楽になります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_10045_esim.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(キャリアとMDMが連携してeSIMを配信できるようになる)</span></p>
<p>3つ目は、ドキュメント。MDMや構成プロファイルに関する仕様が <a href="https://github.com/apple/device-management" rel="noopener" target="_blank">GitHub に公開</a>されました。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_10045_documents.jpg" alt="" width="600" class="alignnone" /></p>
<p>仕様書という書面ではなく、YAMLで記述されていてプログラムが解釈できるようになっているのが特徴。開発部門を内部に持つ企業はMDM運用の手間を削減できる独自ツール開発ができそうです。</p>
<p>&nbsp;</p>
<h3><a href="https://developer.apple.com/videos/play/wwdc2022/10053/" rel="noopener" target="_blank">Discover Sign in with Apple at Work &#038; School</a></h3>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_10053_toc.jpg" alt="" width="600" class="alignnone" /></p>
<p>ABMでは Managed AppleID という、組織が管理するAppleIDを作れます。その Managed AppleID がiOS16で Sign In With Apple (SIWA) に対応します。業務用アプリ開発会社は特に視聴すべきセッションです。</p>
<p>Managed AppleID は AzureAD と Google Workspace のアカウント連携に対応済みですから、SIWA対応の業務用アプリは独自のアカウント機構を持たずとも2要素認証機能を持つことができることを意味します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_10053_siwa.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(AppleIDをアカウントとして使えるSIWA。iOS15までは Managed AppleID では使えなかった)</span></p>
<p>iOSのみを対象とする業務用アプリを新規開発する場合、独自のアカウント機構は持たずSIWAの対応だけにする選択肢が検討に値することになります。</p>
<p>&nbsp;</p>
<h3><a href="https://developer.apple.com/videos/play/wwdc2022/110335/" rel="noopener" target="_blank">Explore Apple Business Essentials</a></h3>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_110335_title.jpg" alt="" width="600" class="alignnone" /></p>
<p>Apple 公式のMDMである <a href="https://www.apple.com/business/essentials/" rel="noopener" target="_blank">Apple Business Essentials</a> についての紹介です。昨年発表され月額課金型のSaaSであり、ABMにビルトインされています。その詳細の紹介セッション。</p>
<p><a href="https://www.micss.biz/2020/06/19/1774/" rel="noopener" target="_blank">ADEPによるInHouseアプリ開発ができなくなる未来が確定している</a>中、業務用iOSアプリに関わる関係者は MDM を中心とする Deployment の知識が今後求められます。Apple 公式の MDMを知っておくことも重要ですので、本セッションはしておきたいセッションです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/08/20220822_wwdc2022_110335_payment.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(MDMとABMは基本的にセットで必要になるので、ABMに統合されたMDMであることは最大の強み)</span></p>
<p>Apple Business Essentials は2022年現在、米国の中小企業のみが契約できます。が、過去にVPP(Volume Purchase Program) や DEP(Device Enrollment Program。現在はADEと称する) がそうであったように、日本でも使えるようになるのは時間の問題でしょう。</p>
<p>&nbsp;</p>
<p>以上、エンタープライズiOS関連のWWDC2022セッション3選をご紹介しました。他にも、セキュリティ関係で <strong><a href="https://developer.apple.com/videos/play/wwdc2022/10143/" rel="noopener" target="_blank">Discover Managed Device Attestation</a></strong> のセッション、MDM関連では <strong>[Adopt declarative device management](https://developer.apple.com/videos/play/wwdc2022/10046/)</strong> 等のセッションもありますので、興味ある方はあわせて視聴してみると良いでしょう。</p>
]]></content:encoded>
			</item>
		<item>
		<title>MACアドレス制限のかかったネットワークでiOS端末に設定すべきこと</title>
		<link>https://20230101.www.micss.biz/2022/07/25/5460/</link>
		<pubDate>Mon, 25 Jul 2022 04:32:37 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[構成プロファイル]]></category>
		<category><![CDATA[監視モード]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5460</guid>
		<description><![CDATA[セキュリティ的な理由から、iOS端末が接続する無線ネットワークにMACアドレス制限をかける場合があります。運用が複雑になるうえに、実はセキュリティ的に余り意味がないので推奨はされませんが、やむをえず制限をかけざるを得ない [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>セキュリティ的な理由から、iOS端末が接続する無線ネットワークにMACアドレス制限をかける場合があります。運用が複雑になるうえに、実はセキュリティ的に余り意味がないので推奨はされませんが、やむをえず制限をかけざるを得ない環境もあることでしょう。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_macaddress.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(MACアドレスはiOSではWi-Fiアドレスと表記される。EC:CE:D7は<a href="https://uic.jp/mac/address/ecced7/" rel="noopener" target="_blank">Appleに割り当てられたベンダーID</a>)</span></p>
<p>しかし、iOS14以降のiOS端末はMACアドレス制限のかかった無線ネットワークとの相性が<strong>非常に</strong>悪く、ハマりポイントがあるので注意が必要です。本稿では、iOS14以降のiOS端末をMACアドレス制限有りのネットワーク下で使用する場合の注意点と対策方法をご紹介します。</p>
<p>&nbsp;</p>
<h3>iOS14以降でハマるプライベートWiFiアドレス</h3>
<p>iOS14以降から、<a href="https://support.apple.com/ja-jp/HT211227" rel="noopener" target="_blank">プライベートWiFiアドレス</a>なる機能が搭載されました。iOS端末の<strong>MACアドレスを隠蔽する</strong>ためのもので、デフォルトではONになっています。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_settings_wifi_list.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_settings_wifi_info.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(接続中WiFi名の右端 (i) ボタンから詳細情報画面で確認できる)</span></p>
<p>iOS14以降のiOS端末では、接続される側(ネットワーク機器)から見た場合の端末MACアドレスが真のMACアドレスではなくなっているということですね。デフォルトでこの挙動になります。</p>
<p>MACアドレス制限は通常、端末側のMACアドレスが変わらない前提で「MACアドレスが XX:XX:XX:XX:XX:XX なら接続を許可します」と設定するものです。真のMACアドレスでないのなら、条件が満たされず接続できなくなってしまうことは容易に想像がつきます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_true_macaddress.jpg" alt="" width="240" class="alignnone" />&nbsp;&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_untrue_macaddress.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(真のMACアドレス(左)と、接続先のネットワーク機器に伝わるMACアドレス(右)の違い。全く異なることが分かる)</span></p>
<p>結果、プライベートWiFiアドレスの存在を知らずにiOS13以前からiOS14以降にアップデートすると、WiFiが繋がらなくなったというトラブル報告が大量発生してしまうことになります。</p>
<p id="2">&nbsp;</p>
<h3>MACアドレスのランダム化を無効にするために</h3>
<p>もしMACアドレス制限付きのネットワークを構成していて、iOS14以降を使用するのなら、トラブルを避けるためプライベートWiFiアドレス機能を無効にしなければなりません。無効化には以下が必要となります。</p>
<ul>
<li>監視モード端末であること</li>
<li>構成プロファイルを流し込むこと</li>
</ul>
<p>DEP(ADE)端末であれば後者の構成プロファイルのみを意識すれば良いでしょう。そうでない場合はiOS端末を Apple Configurator で明示的に監視モード化する必要があります。詳しくは以下をご覧下さい</p>
<ul>
<li><a href="/2021/01/04/2659/">iOSを監視モードにする方法 〜保存版 : Apple Configurator2編〜</a></li>
<li><a href="/2020/11/23/2499/">iOSの監視モードとは何か</a></li>
</ul>
<p>実は、プライベートWiFiアドレス機能の無効化に監視モードは必須ではありません。しかし、厳密な運用をする為には必要となります。この点は後述します。ひとまずやり方を先に確認しておきましょう。</p>
<p>&nbsp;</p>
<h3>MACアドレスのランダム化を無効にする方法</h3>
<p>手順はいたって簡単で、構成プロファイルの中で無効化を明示するのみです。<strong>端末全体に対して設定するのではなくWiFi接続先情報ごとに指定する</strong>という点に注意して下さい。</p>
<p>Apple Configurator の構成プロファイルエディタでは、各WiFi接続情報の中にある「関連付けを回避するためのMACランダム化を無効にする」のチェックが該当します。これをONにして保存します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_ac_disablerandmizemac.jpg" alt="" width="600" class="alignnone" /></p>
<p>構成プロファイルのXMLを直接編集している場合は、WiFi接続情報のXMLの中に以下のように DisableAssociationMACRandomization キーに true を指定しましょう。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_wifiprofile_raw.jpg" alt="" width="600" class="alignnone" /></p>
<p>作成した構成プロファイルを Apple Configurator か MDM を使って流し込むと設定が反映されます。構成プロファイルをMDM上で編集する場合は、各MDMサービスのマニュアルを参照して下さい。</p>
<p>構成プロファイルを流し込んだ後、端末の設定アプリからWiFi接続情報の詳細画面を開くと、本当に無効になっているかどうか確認することができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_wifi_privacywarning.jpg" alt="" width="240" class="alignnone" />&nbsp;&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_wifi_privacywarning_detail.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(スイッチのON/OFFだけでなく、WiFi一覧でも、接続詳細画面の最上部にも警告が表示される)</span></p>
<p>&nbsp;</p>
<h3>MACアドレスがランダム化されたものかどうかを確認する方法</h3>
<p>実は、iOS側の設定を見なくても、例えばWiFiアクセスポイント機器の接続端末一覧などの画面で、MACアドレスがランダム化された端末かどうかを(ほぼ確からしく)見分ける方法があります。</p>
<p>MACアドレスは48ビット(6バイト)で構成されますが、ランダム化されたMACアドレスの場合、その最初の1バイト(図中の赤色部分)中の0ビット目(I/Gビット)と1ビット目(G/Lビット)の並びが下図のとおり <strong>10</strong> となります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_macaddress.png" alt="" width="400" class="alignnone" /></p>
<p>従ってMACアドレス表記の2文字目が 2,6,A,E のいずれか(16進数表記で0,1ビット目が10となる)であれば、接続されているiOS端末はプライベートWiFiアドレス機能が有効になっている可能性が高いということです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_listofmacaddress.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(あるアクセスポイントの接続ログ一部。2文字目がA,Eなのでランダム化されたものと思われる)</span></p>
<p>本件I/GビットとG/Lビットとランダム化ついては、<a href="https://datatracker.ietf.org/doc/draft-ietf-madinas-mac-address-randomization/02/" rel="noopener" target="_blank">標準化団体IETFに Internet-Draft (草稿文書) として提出されている</a>文書にも記載がありますので、興味のある方は確認されると良いでしょう。 </p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_ietf_randmization02.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(2022年7月時点のステータスは WG Document)</span></p>
<p>ちなみにこのランダム化、実はiOS8(iPhone5の時代)から採用されています。ユーザが意図せず位置情報をトラッキングされてしまうことを避けるため、WiFi接続<strong>確立前</strong>のプローブ要求(Probe Request)に限って長らく使われてきた仕掛けです。</p>
<p>iOS14のプライベートWiFiアドレス機能はその延長線上にあるもので、接続確立前だけでなく接続確立後のMACアドレスも隠すようになったものです。詳しくは以下の資料を参照して下さい。iOS端末の運用だけでなく、ネットワーク管理もされている情シス担当者の方は一読されると良いでしょう。</p>
<ul>
<li><a href="https://www.wlan-business.org/wp-content/uploads/2021/01/8058b6e616c8e80b35e6ee50344242bb.pdf" rel="noopener" target="_blank">MAC認証や位置情報が使えなくなる!?Private MACアドレス説明と影響について</a>(CISCO日本法人)</li>
<li><a href="https://support.apple.com/ja-jp/guide/security/secb9cb3140c/web" rel="noopener" target="_blank">Wi-Fiのプライバシー</a>(Apple公式ドキュメント)</li>
</ul>
<p>昨今のAppleは個人情報を守る姿勢を強めています。プライベートWiFiアドレス機能はその姿勢強化を裏付ける機能と言えるでしょう。</p>
<p>&nbsp;</p>
<h3>MACアドレスのランダム化の無効に監視モードが必要なわけ</h3>
<p>ところで、前述の<a href="#2">MACアドレスのランダム化を無効にするために</a>の項で、監視モードは必須ではないと書きました。実際その通りで、構成プロファイルさえ流し込めば、監視モードかどうかに関わらずプライベートWiFiアドレス機能は無効になります。</p>
<p>が、監視モードでない場合、流し込んだ直後は無効化されるもののユーザが手動で有効化できてしまう点に注意が必要です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_notsupervised_randomize.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_notsupervised_offrandomize.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(監視モードでない場合、簡単にランダム化の無効化を解除されてしまう)</span></p>
<p>これでは余り意味がありませんね。監視モードの端末であれば、上記のような手動有効化ができず、画面上でも下図の赤枠のように注意書きが表示されるようになります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220725_supvervised_disablerandomize.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(プライベートWi-Fiアドレスのスイッチをタップしても反応しない。つまりユーザが勝手に無効化を解除することはできない)</span></p>
<p>業務端末としてiOS端末を配布する場合、この画面の存在すら知らない従業員が大半でしょうから、監視モードでなくても別に構わない…という割り切りもアリでしょう。従って、各社ごとプロジェクトごとに諸事情を勘案し総合的に判断することとなります。</p>
<p>&nbsp;</p>
<p>以上、MACアドレス制限のかかったネットワークでiOS端末を使用する場合に注意すべきことについて解説しました。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用iOS端末を特定のWiFi以外に接続できないようにする方法</title>
		<link>https://20230101.www.micss.biz/2022/07/11/5444/</link>
		<pubDate>Mon, 11 Jul 2022 00:00:58 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[構成プロファイル]]></category>
		<category><![CDATA[監視モード]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5444</guid>
		<description><![CDATA[業務用のiOS端末では、指定したWiFi以外に接続させたくない場合があります。 セキュリティの観点からフリーWiFiに繋げさせたくない場合もあれば、施設設置型のキオスク端末用途で特定のWiFiに繋がってないとアプリが機能 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>業務用のiOS端末では、指定したWiFi以外に接続させたくない場合があります。</p>
<p>セキュリティの観点からフリーWiFiに繋げさせたくない場合もあれば、施設設置型のキオスク端末用途で特定のWiFiに繋がってないとアプリが機能しないといった場合もあるでしょう。(施設ローカルネットワークにコンテンツサーバがある等)</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_wifi.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(WiFi接続制限は業務用端末ならではの機能の一つ)</span></p>
<p>そこで本稿では、指定のWiFi以外に接続を許可しない方法について解説します。</p>
<p>&nbsp;</p>
<h3>動作紹介</h3>
<p>接続先WiFiを制限された端末では、設定アプリでの表示が以下のようになります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_normal_wifi.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_restricted_wifi.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(通常は左側。右側が制限された端末)</span></p>
<p>通常ならネットワークの欄に接続先候補が現れますが、制限された端末では待てども待てども表示されません。オープンなSSIDが表示されないのはもちろん、制限を有効にする前に手動で接続したことのあるSSIDも表示されません。</p>
<p><strong>管理部門が許したWiFiにのみ接続できる</strong>状態になるわけです。MDM管理下から逃れる以外に、この制約から逃れるすべはありません。MDMに自動チェックインするDEP(ADE)端末なら、端末側からMDM管理下を抜け出すことは不可能ですので、セキュリティ的にかなり安心ですね。</p>
<p>&nbsp;</p>
<h3>前提条件</h3>
<p>条件は2つです。</p>
<ul>
<li>端末が監視モードであること</li>
<li>WiFiのSSID接続情報を構成プロファイルでインストールすること</li>
</ul>
<p>監視モード端末に対して、WiFiの接続情報と一緒に制限設定も流し込みます。接続対象とするWiFiは1つに絞る必要はありません。複数個あってもokです。</p>
<p>監視モードや構成プロファイルについては、書くと長くなりますので以下投稿をご覧下さい。</p>
<ul>
<li><a href="/2020/11/23/2499/">監視モードとは何か</a></li>
<li><a href="/2021/01/04/2659/">監視モードにする方法</a></li>
<li><a href="/2020/05/18/1745/">構成プロファイルとは</a></li>
</ul>
<p>&nbsp;</p>
<h3>設定方法</h3>
<p>構成プロファイルを作成して監視モードの端末に流し込む必要があります。本稿では Apple Configurator を使って作成する方法で解説しますが、他のツールやMDMに備わっている作成支援機能を使っても良いでしょう。</p>
<p><strong>(1)</strong> まず端末を監視モードにします。詳しくは<a href="/2021/01/04/2659/">監視モードにする方法</a>や<a href="https://20230101.www.micss.biz/2021/05/31/3928/" rel="noopener" target="_blank">DEPとは何か</a>の投稿をご覧下さい。既に対象端末が監視モードなら不要です。</p>
<p><strong>(2)</strong> WiFi の接続情報を含む構成プロファイルを作成します。Apple Configurator の WiFi のカテゴリで [+] をクリックして必要情報を入力します。自動接続させたい場合は「自動接続」のチェックをONにします。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_ac_wifi.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(接続情報を複数個指定しても良い。個数制限はない)</span></p>
<p><strong>(3)</strong> (2)とは別に新たな構成プロファイルを作成し、制限のカテゴリで「Wi-FiペイロードによってインストールされたWi-Fiネットワークのみに接続」のチェックをONにします</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_ac_restrictwifi.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(デフォルトはOFF)</span></p>
<p><strong>(4)</strong> (2)で作成した構成プロファイル(WiFi接続情報)と、(3)で作成した構成プロファイル(接続先制限) の両プロファイルを Apple Configurator か MDM を使って端末に流し込みます。</p>
<p><strong>(5)</strong> 設定アプリのWiFiから、流し込んだWiFi以外が一覧から見えなくなっていることを確認します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_restricted_wifi.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(制限の構成プロファイルが流し込まれ反映されると、直前まで接続されていたWiFiは一度切断される)</span></p>
<p>以上です。必要な構成プロファイルを用意して流し込むだけなので簡単ですね。(5)でもし他のSSIDが見えてしまう場合、端末が恐らく監視モードになっていません。<a href="https://20230101.www.micss.biz/2021/01/11/2779/">iOS端末が監視モードかどうかを確認する方法</a>を参考にしてチェックして下さい。</p>
<p>&nbsp;</p>
<h3>構成プロファイルを2つに分ける理由</h3>
<p>ところで、上記の設定方法の (2) (3) で、WiFi接続用と接続制限用の構成プロファイルを別々に作りました。しかし、構成プロファイルには幾らでも設定を内包できますので、2つに分けず1つの構成ファイルにまとめることも可能です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/07/20220711_mobileconfig.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(1つの構成プロファイルに両者を一緒に含めた例)</span></p>
<p>ですが、構成プロファイルは<strong>なるべく細かい粒度で分ける</strong>のが推奨されます。柔軟なオペレーションができるからです。例えば上記(2)(3)のように、WiFi接続情報と、WiFi接続制限を別々の構成プロファイルに分けておくことで、以下のような運用が行えます。</p>
<ul>
<li>WiFi接続情報(2)のみ流し込んで端末の接続確認とサーバとの疎通確認</li>
<li>もし繋がらなければ他の接続可能なWiFiに切り替えてトラブルシュート</li>
<li>問題解決してからWiFi接続制限(3)を流し込む</li>
</ul>
<p>1つにまとめてしまうと、こうはいきません。</p>
<p>筆者は様々な構成プロファイルを作成・変更・削除を運用御支援で体験してきましたが、構成プロファイルを肥大化させることが運用時のメリットになったことは一度もありません。なるべく粒度は細かくして、構成プロファイルは小さくするようにしましょう。</p>
<p>&nbsp;</p>
<h3>まとめ</h3>
<p>本稿では、特定のWiFiにしか接続できないようにする方法について解説しました。</p>
<ul>
<li>監視モードにする</li>
<li>WiFi接続情報とWiFi制限の構成プロファイルを流し込む</li>
</ul>
<p>の2つが条件であることと、構成プロファイルの具体的な作成方法をご紹介しました。通信の秘匿性が必要なシーンで導入を検討されると良いでしょう。</p>
<p>&nbsp;</p>
]]></content:encoded>
			</item>
		<item>
		<title>iPhoneやiPadのUDIDを調べる方法 全10種</title>
		<link>https://20230101.www.micss.biz/2022/06/13/5335/</link>
		<pubDate>Sun, 12 Jun 2022 22:00:40 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5335</guid>
		<description><![CDATA[全てのiOS端末には、端末を一意に識別する UDID (Uique Device IDentifier) が付与されています。端末のシアリル番号とは別で、設定アプリにも表示されない端末固有値です。業務用アプリの開発に関わ [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>全てのiOS端末には、端末を一意に識別する UDID (<strong>U</strong>ique <strong>D</strong>evice <strong>ID</strong>entifier) が付与されています。端末のシアリル番号とは別で、設定アプリにも表示されない端末固有値です。業務用アプリの開発に関わらなければ知る機会もありません。</p>
<p>しかしアプリ開発に携わっていて開発中アプリをテスト用にAdHoc配布する場合、対象端末のUDIDを全て収集しなければならなくなります。provisioning profile にUDIDを含めておく必要があるためです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_developerapple_devices.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(アプリの起動を許可したい関係者の端末のUDIDを登録していく必要がある)</span></p>
<p>テスト用のアプリ配布には<a href="https://developer.apple.com/jp/testflight/" rel="noopener" target="_blank">TestFlight</a>を使うことが推奨されますが、過去の経緯や様々な理由でTestFlightを使えない場合もあります。</p>
<p>そんな時にはやはり UDID の収集が必要ですが、これが意外に面倒くさく煩わしいのです。自分で全部出来れば良いですが、MacやWindowsを扱うのに慣れていない方やITリテラシーがそれほど高くない人にまで「お手元の端末のUDIDを教えて下さい」とお願いしなければならない場合もあるからです。</p>
<p>そこで本稿では、iOS端末のUDIDを調べる方法大全ということで全10種類ご紹介します。</p>
<ul>
<li><a href="#1">(1) MDM (情シス向け)</a></li>
<li><a href="#2">(2) Xcode (Mac / 開発者向け)</a></li>
<li><a href="#3">(3) cfgutil (Mac / 開発者向け)</a></li>
<li><a href="#4">(4) Apple Configurator (Mac)</a></li>
<li><a href="#5">(5) Finder (Mac)</a></li>
<li><a href="#6">(6) ミュージック (Mac)</a></li>
<li><a href="#7">(7) システムレポート (Mac)</a></li>
<li><a href="#8">(8) iTunes (Windows)</a></li>
<li><a href="#9">(9) デバイスマネージャ (Windows)</a></li>
<li><a href="#10">(10) UDID.tech (Web)</a></li>
</ul>
<p>情シスや開発者にしか使えなさそうな方法は明記しています。それら以外は、エンドユーザや商流の間にいる開発をしないSIerの方でも可能な方法です。以下、順に見ていきましょう。</p>
<p id="1">&nbsp;</p>
<h3>(1) MDM (情シス向け)</h3>
<p>UDIDの収集効率をあげるには、関係者全員にUDIDの確認を依頼するのではなく、<strong>代わりに全部調べてあげる</strong>のが一番です。MDM導入済みの環境であれば、それが可能です。</p>
<p>MDMでは、チェックインしている端末の基本情報を根こそぎ収集しています。当然 UDID も収集していますから、ブラウザでMDM管理下にある全端末のUDIDを調べることができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_mdm.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(弊社がよく使用する<a href="https://bizmobile.co.jp/" rel="noopener" target="_blank">BizMobile Go!</a>での端末詳細画面。UDID以外にも各種の情報が収集される)</span></p>
<p>多くのMDMでは端末一覧のCSVエクスポート機能も備えていますので、ExcelやNumbersを使えばUDID一覧の作成もあっという間に終わります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_mdm_devicelist.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(一覧のCSVファイルを開いている様子。MDMで管理している端末のUDID一度を取得するのは容易い)</span></p>
<p>ということで、UDID収集の初手は、情シス側でMDMを使って対象のUDIDを調べあげることです。その後、後続の方法でMDM配下にない端末についてのみ端末所有者毎に調べて貰う、という進め方がオススメです。この意味で、開発会社やSIerであってもMDMを社内導入することが推奨されます。MDMについては<a href="https://www.micss.biz/2020/01/27/1164/">MDMとは何か 〜今さら聞けないMDMの基礎〜</a>の投稿をご覧下さい。</p>
<p id="2">&nbsp;</p>
<h3>(2) Xcode (Mac / 開発者向け)</h3>
<p>開発者であれば Xcode が使えます。Xcodeのメニューから [Devices and Simulators] をクリックして表示される画面で、調べたい端末を選んで詳細表示します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_xcode.jpg" alt="" width="600" class="alignnone" /></p>
<p>赤枠の部分 Identifier がUDIDです。ちなみにシリアル番号も同じ画面内から調べることができます。[Devices and Simulators] の画面を表示するには、ショートカット [command] + [shift] + 2 が便利です。</p>
<p id="3">&nbsp;</p>
<h3>(3) cfgutil (Mac / 開発者向け)</h3>
<p>ターミナルの操作になれた開発者なら cfgutil コマンドを使って調べることもできます。USBハブを使って複数台を一度に調べることも可能です。</p>
<p>MacにiOS端末をUSB接続し、以下のようなコマンドを実行します。</p>
<pre>
$ cfgutil --format json list | jq .
</pre>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_cfgutil.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(cfgutil の listコマンドを実行。 &#8211;format オプションでJSON出力を指定すると加工し易い。jq は別途インストール必要)</span></p>
<p>なお cfguitl とは、AppleConfigurator2 に付随するユーティリティコマンドです。詳しくは<a href="/2021/10/11/4488/">Apple Configurator2 付属のコマンドラインツール cfgutil の使い方</a>の投稿をご覧下さい。</p>
<p>工夫すれば、社内共用のMacにUSB接続するだけで、担当者にUDIDを記したメールが自動送信されるといった仕組みを作ることも可能です。(exec コマンドを使います)</p>
<p id="4">&nbsp;</p>
<h3>(4) Apple Configurator (Mac)</h3>
<p>情シスでも開発者でもないMacユーザなら <a href="https://support.apple.com/ja-jp/apple-configurator">Apple Configurator</a> が使えるでしょう。詳細は <a href="/2020/05/07/1576/">Apple Configurator とは</a> をご覧下さい。</p>
<p>まずMacにiOS端末をUSB接続して、Apple Configuratorを起動します。起動直後に以下のようにMacに接続中の端末一覧が表示されます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_appleconfigurator2_list.jpg" alt="" width="600" class="alignnone" /></p>
<p>UDIDを調べたい端末をダブルクリックすると、端末の詳細情報画面が表示されます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_appleconfigurator2_detail.jpg" alt="" width="600" class="alignnone" /></p>
<p>この画面の赤色枠部分がUDIDです。ダブルクリックするとテキストとして選択できますので、[command] + C や右クリックメニューからコピーすると良いでしょう。</p>
<p id="5">&nbsp;</p>
<h3>(5) Finder (Mac)</h3>
<p>もし AppleConfigurator2 をインストールしていないMac端末なら、Finder を使うのがお勧めです。</p>
<p>iOS端末をUSBケーブルでMacに接続し、FInder のサイドバーから端末をクリックします。すると以下のような端末情報画面が表示されます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_finder.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(macOS Catalina 以降ではiOS端末の詳細確認や各種操作がFinderに統合された)</span></p>
<p>この画面で、上図の赤枠部分をクリックすると、シリアル番号とUDIDの表示に切り替わります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_finder_udid.jpg" alt="" width="600" class="alignnone" /></p>
<p>さらに右クリックすると、UDIDのみをテキストとしてコピーすることもできます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_finder_udid_copy.jpg" alt="" width="600" class="alignnone" /></p>
<p>情シスや開発者以外で Catalina 以降のMacを使っている方には、一番簡単なUDID確認方法です。</p>
<p id="6">&nbsp;</p>
<h3>(6) ミュージック (Mac)</h3>
<p>Finder と同様にミュージックアプリでもUDIDを調べることもできます。</p>
<p>ミュージックアプリを起動して、サイドバーの「デバイス」の欄から調べたい端末を選択します。以下のような表示になります。(端末に楽曲をダウンロード・インストールしていると楽曲一覧が表示される)</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_music.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(AppleIDの設定が完了していない端末では詳細情報は表示されない)</span></p>
<p>Finderと同様に、赤枠部分をクリックするとシリアル番号やUDIDが表示されます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_music_udid.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Finderと同様に右クリックからコピーができる)</span></p>
<p>ただご紹介はしたものの Finder の方が一般的ですので、ミュージックアプリを使ってわざわざ調べることはない気はします。</p>
<p id="7">&nbsp;</p>
<h3>(7) システムレポート (Mac)</h3>
<p>Macの詳細情報を確認する「システムレポート」からもUDIDを確認することができます。</p>
<p>Macに端末をUSB接続した状態で、Apple メニューから [このMacについて]→[システムレポート] ボタンをクリックします。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_aboutmac.jpg" alt="" width="400" class="alignnone" /></p>
<p>システムレポートが表示されますので、サイドバーでハードウェアのUSBをクリックし、一覧からiOS端末を選択します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_systemreport.jpg" alt="" width="600" class="alignnone" /></p>
<p>右下ペインにある「シリアル番号」の欄にUDIDが表示されます。(名称が紛らわしいので要注意)</p>
<p>なおシステムレポートに表示されるUDIDは、端末のUDIDが新しいフォーマット(00000000-0123456789ABCDEF の8桁-16桁形式)の場合、真ん中のハイフンが省略されてしまう点に留意して下さい。AdHoc配布用に developer.apple.com にUDID登録する担当者は、登録時に8,9桁目の間にハイフンを入れるようにして下さい。</p>
<p id="8">&nbsp;</p>
<h3>(8) iTunes (Windows)</h3>
<p>Windows環境でUDIDを調べる場合、<a href="https://www.apple.com/jp/itunes/" rel="noopener" target="_blank">iTunes</a> を使います。</p>
<p>Windows + iOSユーザなのにiTunesをインストールしていない方はほとんどいないので、比較的やり易い方法です。未インストールの場合は <a href="https://apps.microsoft.com/store/detail/itunes/9PB2MZ1ZMB1S?hl=ja-jp&#038;gl=JP" rel="noopener" target="_blank">Microsoft Store のURL</a>からインストールして下さい。</p>
<p>WindowsPCにiOS端末をUSB接続し、iTuneを起動。その後、デバイスを表すアイコンをクリックすると詳細が表示されます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_windows_itunes.jpg" alt="" width="600" class="alignnone" /></p>
<p>詳細表示の赤枠で囲った部分をクリックする度に、ECID→シリアル番号→UDIDと表示が変わります。2回クリックしてUDIDを表示し、テキストとしてコピーしましょう。</p>
<p>時々 iTunes にiOS端末が認識されないことがありますが、その場合はケーブルの抜き差しや iTunes や Windowsの再起動をしてみて下さい。</p>
<p id="9">&nbsp;</p>
<h3>(9) デバイスマネージャ (Windows)</h3>
<p>「デバイスマネージャ」を使って確認することもできます。非常に特殊な方法ですが、一応紹介します。</p>
<p>Windows メニューを右クリックして [デバイスマネージャ] を開きます。以下のような画面が表示されますので、[ユニバーサルシリアル バス デバイス] を開きます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_windows_devicemanager.jpg" alt="" width="500" class="alignnone" /></p>
<p>[ユニバーサルシリアル バス デバイス] 内に [Apple Mobile Device USB Composite Device] がある筈ですので、この項目をダブルクリックするか、または右クリックしてプロパティをクリックすると以下のようなダイアログが表示されます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_windows_deviceproperty.jpg" alt="" width="400" class="alignnone" /></p>
<p>[詳細]タブを選び、[プロパティ] 欄のリストボックスを [デバイスインスタンス パス] に切り替えると、値の欄に ¥ マークで区切られた文字列が表示されます。最後の ¥ マークより右側の文字列がUDIDとなります。</p>
<p>ただ、iOS端末のUDIDが新しいフォーマット(00000000-0123456789ABCDEF の8桁-16桁形式) の場合は、真ん中のハイフンが省略された表示になっている点に注意して下さい。developer.apple.com に登録する担当者は、登録時に8,9桁目の間にハイフンを入れるようにして下さい。</p>
<p id="10">&nbsp;</p>
<h3>(10) UDID.tech (Web)</h3>
<p>MDMもMacもWindowsも不要で、ただWebサイトにアクセスするだけでUDIDを調べることのできるサービスがあります。<a href="https://udid.tech/" rel="noopener" target="_blank">UDID.tech</a> といいます。</p>
<p><a href="https://udid.tech/" rel="noopener" target="_blank"><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_udidtech_site.jpg" alt="" width="600" class="alignnone" /></a></p>
<p>このサイトにiOSのSafariでアクセスすると、特別なプロファイルをダウンロードすることができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_udidtech.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_udidtech_profile.jpg" alt="" width="240" class="alignnone" /></p>
<p>ダウンロードしたプロファイルを設定アプリからインストールすると、UDIDをWebサイト上に表示してくれます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_udidtech_install.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_udidtech_display.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(Web上にUDIDだけでなくシリアル番号の他、cellular端末ならIMEIも表示される)</span></p>
<p>本サービスは米国の Pixel Rainbow Inc. が「UDIDをもっと手軽に調べられないか」という課題認識から開発したサービスです。「UDIDを取得するAPIは今は存在しないのでは？」「そもそもWeb側でどうやって？」と思う方もいるかも知れませんが、<a href="https://udid.tech/about/" rel="noopener" target="_blank">Aboutページ</a>に、</p>
<blockquote>
<p style="margin-bottom:0px;">UDID.tech uses Apple Mobile Device Management concepts to provide you information about your device. The profile you install tells your iPhone, iPad, or iPod to send encrypted data (UDID, IMEI, Serial No, etc.) to your browser.</p>
</blockquote>
<p>とある通り、MDM のコンセプトを使って実現していて、何かハックをしているとかiOSの脆弱性を突いているといった類のものではありません。</p>
<p>厳密には、Profile Service という特別なペイロードを含む構成プロファイルをインストールした際のiOSの振る舞いを利用しています。Appleもその仕様を公開していますので、興味のある方は公式ドキュメント <a href="https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/Introduction/Introduction.html" rel="noopener" target="_blank">Over-the-Air Profile Delivery and Configuration</a> を読んだり、同サイトからダウンロードできる<a href="https://udid.tech/static/configs/udid_tech.signed.mobileconfig" rel="noopener" target="_blank">構成プロファイル</a>を解析してみると良いでしょう。(UDID.tech と同じサービスは公開された仕様を使って誰でも作れます。弊社では同類サイトの存在は認識していませんが)</p>
<p>このUDID.tech、非常に便利なのですが利用は自己責任となる点、ご留意下さい。弊社では率先して利用を勧めることはありませんが、どうやってもUDIDを取得できない人がいる場合の最終兵器&#8230;という程度に捉えています。</p>
<p>&nbsp;</p>
<h3>まとめ : テスト配布はできるだけTestFlightを使う</h3>
<p>以上、本稿ではUDIDを取得する全10種類の方法を紹介しました。開発中のアプリをAdHoc 配布する時にご活用下さい。</p>
<p>ただ、2022年現在ではテスト用アプリ配布は<a href="https://developer.apple.com/jp/testflight/" rel="noopener" target="_blank">TestFlight</a>を使い、AdHoc配布は極力避けるのが無難です。UDIDの管理が煩雑になって「この端末では動く・動かない」「これ以上の台数を登録できない」といったトラブル対応に時間を取られるからです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/06/20220613_testflight.jpg" alt="" width="600" class="alignnone" /></p>
<p><a href="https://20230101.www.micss.biz/2020/06/19/1774/">非公開な業務用アプリもカスタムAppとしてAppStore申請が必要になっている</a>今、業務用アプリの関係者が<a href="https://developer.apple.com/jp/testflight/" rel="noopener" target="_blank">TestFlight</a>を避け続ける理由はありません。</p>
<p><a href="https://developer.apple.com/jp/testflight/" rel="noopener" target="_blank">TestFlight</a>は、内部テストや外部テストなど専門用語も多くとっつきにくい印象がありますが、Apple がリリースした2014年当時に比べると格段に分かり易く・使い易くなっています。過去の慣習でまだAdHoc配布によるテスト配布を続けている方は、UDID収集に苦労することのないTestFlightへの移行を今すぐ検討しましょう。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用端末でAppleID入力を無効にする方法</title>
		<link>https://20230101.www.micss.biz/2022/05/30/5300/</link>
		<pubDate>Mon, 30 May 2022 04:46:41 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[構成プロファイル]]></category>
		<category><![CDATA[監視モード]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5300</guid>
		<description><![CDATA[iOS端末を業務用端末として配布して使う場合、AppleID がそもそも不要な場合があります。 通常、アプリのインストールにはAppleIDが必須ですが、業務用として設定された端末の場合は AppleID が無くてもアプ [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>iOS端末を業務用端末として配布して使う場合、AppleID がそもそも不要な場合があります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220530_apple_appleid.jpg" alt="" width="600" class="alignnone" /></p>
<p>通常、アプリのインストールにはAppleIDが必須ですが、業務用として設定された端末の場合は AppleID が無くてもアプリのインストールが可能だから&#8230;というのが大きな理由です。また、iCloud バックアップや「探す」機能など、AppleIDに紐づく機能の多くは代替する仕組みがあったり、むしろそんな機能は使わせたくない…となることも多いからです。</p>
<p>ただ、不要だからといって AppleID 未設定のまま端末を配布してしまうべきではありません。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220530_settings_appleid.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(業務用端末に個人のAppleIDを入れられてしまうと…?)</span></p>
<p>従業員が個人AppleIDを入れることで情報が同期され、業務用端末に余計なアプリがインストールされてしまったり、逆に業務用の情報が個人端末に転送されて情報漏えいに繋がりかねません。端末を顧客や取引先に一時貸与するような場面では、返却後に端末初期化が難しくなったりします。</p>
<p>こういったことを避ける唯一の方法は、<strong>AppleiD を設定できないようにする</strong>ことです。本稿ではその方法をご紹介します。</p>
<p>&nbsp;</p>
<h3>前提条件</h3>
<p>業務用の制限機能の多くと同様に、端末は監視モード(Supervised Mode)でなければなりません。監視モードについては<strong><a href="/2020/11/23/2499/">iOSの監視モードとは何か</a></strong>をご覧下さい。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220530_supervisedmode.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(iOSには2つのモードがある)</span></p>
<p>監視モードにするには、Apple Configurator2 から「準備」をするか、DEP(ADE)端末を購入してMDMに自動チェックインさせるか、2つの方法があります。それぞれの具体的方法は以下投稿を参考にして下さい。</p>
<ul>
<li><a href="/2021/01/04/2659/">iOSを監視モードにする方法 〜保存版 : Apple Configurator2編〜</a></li>
<li><a href="/2021/05/31/3928/">DEP(Device Enrollment Program)とは何か</a></li>
</ul>
<p>監視モードにできない端末の場合、AppleIDの無効化はできません。なお MDM へのチェックインは必須ではありません。</p>
<p>&nbsp;</p>
<h3>設定方法</h3>
<p><strong>(1)</strong> 監視モード化された端末を用意します。</p>
<p><strong>(2)</strong> 次に構成プロファイルを作成します。Apple Configurator2 の構成プロファイルをエディタを使っても良いですし、MDMが備える作成画面を使ってもいいでしょう。「制限」のカテゴリにある<strong>アカウント設定の変更を許可</strong>の項目をOFFにして保存します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220530_ac2_disableappleid.jpg" alt="" width="600" class="alignnone" /></p>
<p>もし構成プロファイルを手動で作成する場合は、以下のように PayloadContent 内に <strong>allowAccountModification</strong> を false とする設定値をXML(plist)内に含めて下さい。</p>
<pre>
&lt;key&gt;PayloadContent&lt;/key&gt;
&lt;array&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;dict&gt;
...(略)...
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;key>allowAccountModification&lt;/key&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;false/&gt;
...(略)...
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/dict&gt;
&lt;/array&gt;
</pre>
<p><strong>(3)</strong> 作成した構成プロファイルを端末に流し込みます。Apple Configruator2 を使う場合は<a href="/2020/10/02/2378/">構成プロファイルの作成とインストールの基礎 〜Apple Configurator2を使う方法〜</a>をご覧下さい。MDMの場合は使用するMDMのマニュアルを参照して下さい。</p>
<p><strong>(4)</strong> 流し込み完了後、設定が適用され以下のようにAppleIDが入力できないようになります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220530_appleid_allowed.jpg" alt="" width="320" class="alignnone" />&nbsp;→&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220530_appleid_disallowed.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(違いがほとんどなく分かりにくいが、適用後(右側)はAppleIDを入力する行がグレーアウトしタップできなくなる)</span></p>
<p>手順は以上となります。もしうまくいかない場合は、端末が監視モードかどうか確認しましょう。監視モードかどうか確認するには<a href="/2021/01/11/2779/">iOS端末が監視モードかどうかを確認する方法</a>の投稿を参考にして下さい。</p>
<p>&nbsp;</p>
<p>本稿では、AppleIDの入力を無効にする方法について紹介しました。業務用として従業員に配布する端末や、施設に設置して使用するキオスク端末用途では特に有用です。よからぬトラブルを避けるため、AppleID が不要ならあらかじめ無効にしておきましょう。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用端末にインストールされているアプリのBundleIDを調べる方法</title>
		<link>https://20230101.www.micss.biz/2022/05/02/5254/</link>
		<pubDate>Mon, 02 May 2022 07:32:08 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[カスタムApp]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5254</guid>
		<description><![CDATA[iOSは各アプリを BundleID と呼ばれる識別子で区別しています。 (あるアプリの例。AppStoreへのアプリ申請では最初にBudnelIDを指定することになる) 業務用iOS関連の作業では、ときおりiOS端末に [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>iOSは各アプリを BundleID と呼ばれる識別子で区別しています。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_bundleid_onappstore.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(あるアプリの例。AppStoreへのアプリ申請では最初にBudnelIDを指定することになる)</span></p>
<p>業務用iOS関連の作業では、ときおりiOS端末にインストールされているアプリの BundleId を知りたくなることがあります。構成プロファイルを作成したり、MDMでアプリケーション関連の操作をしたり、Apple Configurator2 を触っているような時です。</p>
<p>自分が開発を担当しているアプリならそのBundleIDを記憶しているでしょうが、そうでない場合はどうやってBundleIDを調べるのでしょうか。本稿ではその方法を幾つか紹介します。</p>
<p>&nbsp;</p>
<h3>Xcode (development, InHouse, AdHoc)</h3>
<p>手元にMacがあり開発環境のXcodeがインストールされているなら、iOS端末をMacにUSB接続した上で Xcode の Devices and Simulators の画面を見るとすぐに分かります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_xcode_devicessimulators.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Xcode を起動した状態で、command + shift + 2 のショートカットが便利)</span></p>
<p>サイドバーで見たいiOS端末を選択すると、INSATLLED APPS の蘭にインストールされているアプリの一覧が表示されます。Identifier の列がアプリの BundleID です。</p>
<p>AppStoreからインストールされたアプリ(公開App/カスタムApp/非表示App/TestFlight)は基本的に表示されません。</p>
<p>&nbsp;</p>
<h3>MDM (InHouse, AppStore)</h3>
<p>対象となるiOS端末がMDMの管理下にあるならMDMの管理画面を見るのが一番手っ取り早いでしょう。</p>
<p>どんなMDMにも端末の詳細情報画面があり、その中でインストールされているアプリの一覧が表示されている筈です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_mdm_listofbundleid.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(MDMは管理化の端末にインストールされているアプリ一覧を把握している)</span></p>
<p>アプリの種類によらず全て確認できます。MDMによっては、MDMで配信したアプリのみを表示する設定ができる場合もあります。(BYOD端末の場合、個人がその端末で使用するアプリを見ることは適当でないため)</p>
<p>&nbsp;</p>
<h3>cfgutil (development, InHouse, AdHoc, AppStore)</h3>
<p>Apple Configuratoe2 に付属している cfgutil を使って確認することもできます。cfgutil の詳細は<a href="/2021/10/11/4488/">Apple Configurator2 付属のコマンドラインツール cfgutil の使い方</a>の投稿をご覧下さい。</p>
<p>iOS端末をmacにUSB接続し、ターミナルを起動して、cfgutilの <strong>list</strong> コマンドで端末のECIDを特定します。</p>
<pre>
$ cfgutil list
</pre>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_cfgutil_terminal.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(cfgutilの大半のコマンドで ECID は必須となる)</span></p>
<p>次にECIDを引数に指定して以下のように <strong>get installedApps</strong> コマンドを実行すると、インストールされたアプリの一覧が出力されます。数秒程度待った後に、ECIDで指定された端末にインストールされているアプリ一覧が表示されます。</p>
<pre>
$ cfgutil -e [ECID] get installedApps
</pre>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_cfgutil_getinstalledapps.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(出力テキストのアプリ名がエスケープされないため、加工しやすいテキストとは言えない)</span></p>
<p>cfgutil コマンドでは、development, InHouse, AdHoc だけでなく、AppStore からインストールしたアプリも表示されます。</p>
<p>&nbsp;</p>
<h3>iTunes Search API (AppStore)</h3>
<p>AppStoreに公開されているアプリに限りますが、<a href="https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/iTuneSearchAPI/index.html" rel="noopener" target="_blank">iTunes Search API</a> を使ってアプリidから BundleID を調べることもできます。</p>
<p>まずアプリidを調べる必要がありますが、アプリのURLが分かるならそのURL末尾の数字がアプリidです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_itunessearchapi.jpg" alt="" width="600" class="alignnone" /></p>
<p>アプリのURLを探すには、アプリ名とiOSでググると良いでしょう。あるいは、マーケティング担当者向けに用意されている <a href="https://tools.applemediaservices.com/app-store" rel="noopener" target="_blank">App Store Marketing Tools</a> を使うこともできます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_appstoremarketingtools.jpg" alt="" width="600" class="alignnone" /></p>
<p>検索ボックスにアプリ名を入れると、アプリのURLやアイコン画像等の情報を確認することができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_syncnelresources.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(アプリアイコンの高解像度画像ファイルをダウンロードすることもできる)</span></p>
<p>アプリidを特定したら、ターミナルから以下のように入力すると BundleID を特定できます。(iTunes Search API は JSON を返すため、jqコマンドで必要な箇所のみに絞り込んでいます)</p>
<pre>
% curl -s 'https://itunes.apple.com/lookup?id=[アプリid]' | jq -r '.results[0].bundleId'
</pre>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/05/20220502_curlitunessearchapi.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(jqコマンドについては<a href="https://stedolan.github.io/jq/" rel="noopener" target="_blank">公式ページ</a>を参照のこと)</span></p>
<p>なお iTunes Search API を使う方法は InHouse アプリでは使えません。AppStoreに登録されないアプリだからです。またカスタムAppでは、アプリidは付与されるものの使えませんのでご注意下さい。</p>
<p>&nbsp;</p>
<p>以上、アプリのBundleIDを調べる方法を紹介しました。BundleID(バンドルID)を調べる必要がある時に、試してみて下さい。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用アプリの配布方法 全7種類一覧</title>
		<link>https://20230101.www.micss.biz/2022/03/07/5113/</link>
		<pubDate>Sun, 06 Mar 2022 22:00:11 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[ABM]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[Webクリップ]]></category>
		<category><![CDATA[カスタムApp]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=5113</guid>
		<description><![CDATA[(最終更新日 : 2023/1/5) 業務用アプリを配布する方法は、全て列挙すると実に7種類もあります。どの配布方法を選ぶべきかはアプリの特性や各社の状況によりますので、一通り配布方法を知っておくのは良いことです。 (用 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>(最終更新日 : 2023/1/5)</p>
<p>業務用アプリを配布する方法は、全て列挙すると実に<strong>7種類</strong>もあります。どの配布方法を選ぶべきかはアプリの特性や各社の状況によりますので、一通り配布方法を知っておくのは良いことです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_deployment-flow.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(用途やアプリに応じて様々な配布方法がある)</span></p>
<p>そこで本稿では全ての配布方法の概要を網羅的に紹介します。また、各方式について詳細を記している本サイトの別投稿へのリンクも紹介しますので、詳しく知りたい場合は各リンク先を参照して下さい。</p>
<p>本稿は、アプリの配布方法に迷った時の道標として使えるページです。是非、本稿をブックマークして頂き、アプリ配布方法に迷ったら参照するようにして下さい。</p>
<p>&nbsp;</p>
<h3>配布方法全7種</h3>
<p>以下に一覧を列挙します。</p>
<table class="table">
<thead>
<tr>
<th>種類</th>
<th>実装種別</th>
<th>用途</th>
<th>必要なもの</th>
</tr>
</thead>
<tbody>
<tr>
<th style="width:180px;vertical-align:middle;"><strong><a href="#1">AppStore公開アプリ</a></strong></th>
<td style="width:100px">ネイティブ</td>
<td>公開アプリとして申請して配布</td>
<td>MDM,ABM</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#2">カスタムApp<br />(AppStore非公開アプリ)</a></strong></th>
<td>ネイティブ</td>
<td>非公開アプリとして申請して非公開に配布</td>
<td>MDM, ABM, ADP</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#3">非表示App<br />(AppStore非表示アプリ)</a></strong></th>
<td>ネイティブ</td>
<td>公開アプリとして申請しURLを知る人だけに配布</td>
<td>ADP</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#4">InHouseアプリ</a></strong></th>
<td>ネイティブ</td>
<td>開発したアプリをAppleに申請せず非公開配布</td>
<td>MDM, ADEP</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#5">Webクリップ</a></strong></th>
<td>Web</td>
<td>Webをネイティブアプリのように見せかけて配布</td>
<td>MDM</td>
</tr>
<tr>
<th style="vertical-align:middle;"><a href="#6">TestFlight</a></th>
<td>ネイティブ</td>
<td>テスト用途のみ<br />関係者に申請前・本配信前のアプリを配布</td>
<td>ADP, TestFlight</td>
</tr>
<tr>
<th style="vertical-align:middle;"><a href="#7">AdHocアプリ</a></th>
<td>ネイティブ</td>
<td>開発したアプリをAppleに申請せず非公開配布<br />ただし予め端末IDを登録に対してのみ配布可</td>
<td>ADP</td>
</tr>
</tbody>
</table>
<p id="1">&nbsp;</p>
<h3>AppStore公開アプリ</h3>
<p>AppStore上に公開されている既存アプリは全てABM+MDM経由で配信することができます。例えば Box や DocuSign など既存アプリを業務でそのまま使う場合が該当します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_boxemm.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(業務用バージョンを別アプリとしてAppStore公開しているものもある。上手はBoxの例)</span></p>
<p>ABMやMDMという言葉が初見という方は以下を参考にして下さい。</p>
<ul>
<li><a href="https://20230101.www.micss.biz/2020/01/27/1164/">MDMとは何か 〜今さら聞けないMDMの基礎〜</a></li>
<li><a href="https://20230101.www.micss.biz/2020/08/14/1927/">ABM(Apple Business Manager)とは何か</a></li>
<li><a href="https://20230101.www.micss.biz/2020/09/21/2343/">iOSDC 2020 Day1 でエンタープライズiOSについて講演しました（YouTubeで収録動画が公開されました）</a></li>
</ul>
<p>ABMでAppStoreのアプリを一括購入(VPPということもある)してMDMに同期して、MDMから配布します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_abmvpp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(ABMでAppStoreにあるGMailアプリを一括ライセンス購入する様子)</span></p>
<p>多くのMDMで、アップデート時の振る舞いをアプリごとに制御できます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_bizmobile_autoappupdate.jpg" alt="" width="400" class="alignnone" /><br /><span class="caption">(アプリ毎に自動更新するかどうかを決めることができる。上手はBizMobile Go!)</span></p>
<p>自動で更新させることもできれば、明示的な更新を強いることもできます。通常は自動更新としておくのが良いでしょう。</p>
<p id="2">&nbsp;</p>
<h3>カスタムApp</h3>
<p>現時点(2022年3月)で、<strong>特定企業用の非公開アプリを無制限に配信できる唯一の方法</strong>です。</p>
<p>AppStoreのインフラをそのまま使いますので、ADP(Apple Developer Program)の契約が必要で、アプリ毎にAppleの審査が必要です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_adp_private.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(AppStoreに申請する際に、実は「非公開」を選択できる)</span></p>
<p>審査が通ればそれで完了&#8230;ではありません。ABMから当該カスタムAppを一括購入し、MDM経由か引き換えコードを使った配布をする必要があります。カスタムAppについては以下に記事をまとめていますので御覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/category/customapp/" rel="noopener" target="_blank">カスタムAppのカテゴリ全記事</a> (全記事11件の一覧)</li>
</ul>
<p id="3">&nbsp;</p>
<h3>非表示App</h3>
<p>2022年に新たに登場した配布形式です。</p>
<p>AppStore公開アプリではあるものの、AppStoreアプリでの検索に出てこなくなり、当該アプリのURLを知っている人だけがインストールできるという配布形式です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_unlistedapp.jpg" alt="" width="600" class="alignnone" /></p>
<p>例えば「特定組織内で限定的に使うわけではないが第三者に見せる必要のないアプリ」で利用できます。</p>
<p>AppStoreへの通常のアプリ審査の他、非表示化を申請して受理される必要があります。申請時に合理的な理由(なぜカスタムAppではないのか)を説明することが求められます。詳しくは以下をご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2022/02/07/5041/" rel="noopener" target="_blank">非表示App(Unlisted App)とは何か</a></li>
</ul>
<p id="4">&nbsp;</p>
<h3>InHouseアプリ</h3>
<p>ADEP(Apple Developer Enterprise Program)の契約を締結できている組織だけが利用できます。現在その契約を持っていない組織ではこの配布方法は事実上<strong>採用不可</strong>です。</p>
<p>AppStoreインフラを使いませんので審査は不要です。配布台数制限もなく、MDMとABMの連携も不要で、最もシンプルで理解しやすい配布方法です。詳しくは以下の投稿をご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2019/11/28/980/" rel="noopener" target="_blank">ADEPとは</a></li>
<li><a href="https://www.micss.biz/2020/06/19/1774/" rel="noopener" target="_blank">ADEPはもう取得することができないと諦めたほうが良い理由</a></li>
</ul>
<p>なお、ADEPを契約済である企業であっても、<strong>ADEP契約が更新できなくなってきている</strong>点は注意して下さい。2022年に入ってから ADEP の更新を Apple に拒絶されたとの報告が幾例かあります。更新を拒否された場合、急いでカスタムAppを使った配布体制に切り替える必要があります。以下を御覧ください。</p>
<ul>
<li><a href="https://20230101.www.micss.biz/2022/03/21/5164/">ADEP契約を更新せず放置するとInHouseアプリはどうなるのか</a></li>
<li><a href="https://20230101.www.micss.biz/2022/04/18/5188/">そろそろADEP契約更新ができなくなるかも知れない 〜カスタムAppへの移行を急ぐべき理由〜</a></li>
</ul>
<p>ADEPを継続できている企業は、規約違反で契約取り消しとならないよう注意しましょう。以下で規約違反になるパターンをおさえておくことをお勧めします。</p>
<ul>
<li><a href="https://www.micss.biz/2019/12/06/1092/" rel="noopener" target="_blank">ADEPの契約ができないパターン集</a></li>
</ul>
<p id="5">&nbsp;</p>
<h3>Webクリップ</h3>
<p>WebサイトやWebシステムをアプリのように配布する形式です。MDMを使ってWebのショートカットを配布するようなイメージです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_nativelike_abm.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(アプリのように見えるが実はWebサイトのショートカットという例)</span></p>
<p>ハードウェアの機能を使わない、オンライン前提にできる、通知はメールやチャットで十分、といった条件を満たせる環境なら、わざわざネイティブアプリを開発しなくても擬似的にアプリ配布が可能です。</p>
<p>面倒なAppleへのアプリ申請やABMの操作等が不要になります。MDMさえ用意できればアプリ配布ができますので、ネイティブアプリ開発に課題がある場合、積極的に活用を検討すべき配布方法です。アプリ開発の知見が余りないWebシステム会社にとっては、アプリ開発提案の「亜種」として採用できる可能性があります。詳細は以下にまとめていますのでご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/category/webクリップ/" rel="noopener" target="_blank">Webクリップのカテゴリ全記事</a> (全7記事)</li>
</ul>
<p id="6">&nbsp;</p>
<h3>TestFlight</h3>
<p>アプリの申請前や、申請後の本配信前に、関係者限定のテスト用途で使用する配布方法です。</p>
<p>前述したAppStore公開アプリやカスタムAppを使って業務用アプリを配布する場合に、アプリの初回配布前のフェーズや、アプリのアップデート版の本配信前テストに使用します。</p>
<p>ADPの Apple Developer サイトでテストしたいバージョンを指定し、テスターをグループ単位や個人単位で紐付けます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_testflight_adp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(これまでInHouseでの配布経験しかない企業は TestFlight をよく理解することが求められる)</span></p>
<p>テスターは情シス担当者、社内評価担当者等が対象となります。テスターのiOS端末には <a href="https://apps.apple.com/jp/app/testflight/id899247664" rel="noopener" target="_blank">TestFlight</a> なるApple公式専用アプリを予めインストールしておく必要があります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_testflight_appstore.jpg" alt="" width="240" class="alignnone" /></p>
<p>TestFlightアプリでインストールされたテスト用アプリには、有効期限が90日、旧バージョンにいつでも戻せる、などの特徴があります。なお、TsetFligth は原則、<strong>本番運用アプリで使ってはいけません</strong>。</p>
<p id="7">&nbsp;</p>
<h3>AdHocアプリ</h3>
<p>上限100台という台数制限があるものの、審査不要のアプリ配信が可能な方法です。動作対象端末のUDID(端末識別子)をあらかじめ収集しておく必要があって運用は少々面倒です。</p>
<p>UDIDを紐付けたAdHoc用の Provisioning Profile を使ってアプリを署名して生成した .ipa ファイルは、UDIDが一致する端末でのみインストール・起動できるようになるという仕組みです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2022/03/20220307_uuid_adp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(UDIDを登録した権限ファイルを生成する様子。生成したファイルをビルド時にアプリに紐付ける)</span></p>
<p>インストールには有線・無線の両方が使えます。それぞれ以下を参照して下さい。(前者のタイトルはInHouseアプリだが、AdHocアプリでも使用できる)</p>
<ul>
<li><a href="/2020/05/11/1683/">Apple Configurator2 で InHouse アプリをインストール・アンインストールする方法と「信頼」について</a></li>
<li><a href="/2022/12/26/5748/">OTA(Over The Air)とは何か</a></li>
</ul>
<p>また、AdHocアプリの用途や配布先制限については以下を参照して下さい。</p>
<ul>
<li><a href="/2022/11/28/5695/">AdHoc配布はテスト用途以外に使用できるのか</a></li>
<li><a href="/2022/12/12/5731/">AdHocアプリを社外ユーザに配布できるのか</a></li>
</ul>
<p>&nbsp;</p>
<p>以上、業務用アプリの配布方法7種を解説しました。詳細についてはそれぞれ対応する投稿がありますので併せてご覧下さい。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Zero Touch Deploymentとは何か 〜開梱から自動設定までのノーカット動画も公開〜</title>
		<link>https://20230101.www.micss.biz/2021/12/20/4905/</link>
		<pubDate>Sun, 19 Dec 2021 22:00:14 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[ABM]]></category>
		<category><![CDATA[DEP]]></category>
		<category><![CDATA[MDM]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=4905</guid>
		<description><![CDATA[Zero Touch Deployment という言葉が使われるようになったのは WWDC2020 の頃からです。直訳すると「端末を一度も触ることのない(Zerot Touch) 配置(Deployment)」となるでし [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Zero Touch Deployment という言葉が使われるようになったのは <a href="https://developer.apple.com/videos/wwdc2020/" rel="noopener" target="_blank">WWDC2020</a> の頃からです。直訳すると「端末を一度も触ることのない(Zerot Touch) 配置(Deployment)」となるでしょうか。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/12/20211220_wwdc2020_zerotouchdeployment.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(WWDC2020でMac端末の自動初期設定を紹介する<a href="https://developer.apple.com/videos/play/wwdc2020/10223/" rel="noopener" target="_blank">セッション</a>で zero touch という言葉が使われた)</span></p>
<p><strong>Deployment</strong> とは多数の業務用端末を管理下に置いてポリシーに基づく設定を行うことです。その煩わしい作業を <strong>Zero Touch</strong> でやることを Zero Touch Deployment と呼んでます。さすがに文字通り Zero Touch とはいかないので実のところ誇張表現ですが、1台1台ポチポチ設定する行為が<strong>ほぼ</strong>不要なので Zero と言っています。</p>
<p>誇張表現になっているからかなのか分かりませんが、Appleが公式に Zero Touch Deployment ということは実は余りありません。また他のエンタープライズiOS用語のように略称で呼ばれることもありません。例えばZTDとでも略記しそうなものですが、そのような表記もありません。</p>
<p>ですが、Zero Touch Deployment を正しく理解しておくことは重要です。設定作業の省力化を突き詰めた究極の理想形であり、全ての業務用iOS端末が目指すべきゴールだからです。</p>
<p>そこで本稿では Zero Touch Deployment の全体像を解説します。複数のエンタープライズiOSキーワードの理解が必須となりますが、長くなるので個別の説明は省きます。ただ既存投稿を参照情報として示して説明しますので、適宜関連投稿を参照しながら読み進めて下さい。</p>
<p>また、最後に Zero Touch Deployment が機能している様子が分かる動画も紹介します。</p>
<p>&nbsp;</p>
<h3>Zero Touch Deployment = MDM + DEP + ABM</h3>
<p>業務用端末で一番大変なことは設定作業です。5台10台なら手作業で何とかなりますが、50台を超えて3桁4桁の台数になってくるともう手に負えなくなります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/12/20211220_settings_via_ac2.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(有線だと十数台設定しようとするだけでこんなことになる)</span></p>
<p>そこで役立つのが <strong>MDM (Mobile Device Management)</strong>。端末を支配下に置き、遠隔でアプリや設定を流し込めるようになって設定作業を省力化できるのでした。</p>
<ul>
<li><a href="/2020/01/27/1164/">MDMとは何か 〜今さら聞けないMDMの基礎〜</a></li>
</ul>
<p>ただ<strong>MDMで万事解決とはいかない</strong>ことに注意が必要です。そもそもMDMにチェックインしなければ、MDMから遠隔設定やアプリ配布はできません。ではそのチェックインは誰がやるのか。3桁4桁に及ぶ台数の端末のMDMチェックインを手作業で行うのは苦行でしかなく、現実的ではありません。</p>
<ul>
<li><a href="/2021/05/17/3785/">MDMの導入から利用開始まで(2) -MDMチェックイン-</a></li>
</ul>
<p>それを楽にしてくれるのが <strong>DEP (Device Enrollment Program)</strong>。DEPの仕組みを使えば、端末をMDMに自動チェックインさせられるのでした。</p>
<ul>
<li><a href="/2021/05/31/3928/">DEPとは何か</a></li>
<li><a href="/2021/08/16/4250/">SDE, ADP, DEP, ABM, ADE&#8230;名称がコロコロ変わる端末登録の歴史</a></li>
</ul>
<p>では DEP はどうすれば使えるのか。DEPはMDMチェックインを自動化する仕組みですから、MDMに内包される機能ではない筈です。MDM外の世界に別の仕組みが必要になります。それが ABM (Apple Business Manager) なのでした。</p>
<ul>
<li><a href="/2020/08/14/1927/">ABM(Apple Business Manager)とは何か</a></li>
</ul>
<p>DEPが使える端末は購入と同時にABMに自動登録され、それらがMDMに連携される。この3つが連携してはじめて Zero Touch Deployment が実現できるというわけです。</p>
<p>&nbsp;</p>
<h3>Zero Toutch Deployment を行う手順</h3>
<p>前項のとおり MDM + DEP + ABM ですので、以下のようにやるべきことは多岐に渡ります。</p>
<p>(1) MDMを契約する<br />
(2) ABMアカウントを取得する<br />
(3) ABMとMDMを連携させる<br />
(4) DEP端末を購入する<br />
(5) ABMでDEP端末をMDMに割り当てる<br />
(6) MDMでDEP端末の自動チェックイン時の設定を行う<br />
(7) MDMでDEP端末に割り当てるアプリやiOS設定情報を紐付ける</p>
<p>ここまでやってようやく、開梱してネットに接続すれば Zero Touch Deployment で自動設定完了できる環境の出来上がりとなります。一つ一つ漏れなく進めていく必要があります。前項に記した関連投稿リンク先を参照することで滞りなく進めることができるでしょう。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/12/20211220_ztd_outline.jpg" alt="" width="600" class="alignnone" /></p>
<p>また、非公開アプリの配布を含めると上図のように App Store Connect や Custom App 等の理解も必要になります。こちらも長くなりますのでここでは割愛しますが、興味があれば以下を参照して下さい。</p>
<ul>
<li><a href="https://20230101.www.micss.biz/2020/09/21/2343/">iOSDC 2020 Day1 でエンタープライズiOSについて講演しました（YouTubeで収録動画が公開されました）</a></li>
</ul>
<p>&nbsp;</p>
<h3>Zero Touch Deployment が機能する様子のノーカット動画</h3>
<p>実は、Zero Touch Deployment が実際に機能する様子を目にする機会は余りありません。開梱から電源ONしてネットに繋げるだけで設定が完了する&#8230;という挙動ですから、そう何度も何度も新規端末購入とその開梱作業に立ち会える訳ではないからです。</p>
<p>そこで、実際に新規DEP端末購入した未開封の端末で Zero Touch Deployment が機能する様子の動画を公開することにしました。</p>
<p>以下は、Appleから納品された未開封のDEP端末である iPod touch を開封、WiFi に繋ぐだけでMDM自動チェックイン、監視モード化、設定アシスタントは「位置情報」のシートのみの表示とし、HOME画面で設定が適用される様子の動画です。設定は「設定アプリ以外を全部非表示化する」のみ。アプリ等は配信していません。(動画はノーカットで約3分)</p>
<p><iframe width="600" height="338" src="https://www.youtube.com/embed/1WfLTEEdhZA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Zero Touch Deployment の雰囲気や「楽さ」を感じて頂けると思います。</p>
<p>無論、この動画のような「標準アプリ非表示化」の設定は必須ではありません。あくまで見た目に分かり易い例にしているだけです。本来は、各企業や各案件ごとの要件に応じて各種アプリのインストールやその他iOS設定の流し込みをするようMDMを適切に設定することになります。</p>
<p>&nbsp;</p>
<p>以上、Zero Touch Deployment の詳細と動画を紹介しました。是非活用してみて下さい。手順にも言及しましたが、自社で行うのは難しそうという場合は MDM ベンダーに頼るのが良いでしょう。弊社に<a href="https://www.micss.biz/consultation/" rel="noopener" target="_blank">ご連絡</a>頂いても結構です。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用iOS端末で任意の標準アプリを全て削除する方法</title>
		<link>https://20230101.www.micss.biz/2021/11/22/4827/</link>
		<pubDate>Sun, 21 Nov 2021 22:00:05 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[監視モード]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=4827</guid>
		<description><![CDATA[業務用のiOS端末を構成していると、iOS標準のアプリを消したくなることがあります。例えばヘルスケアや探すといったアプリ。業務には普通使いません。不要なものはなるべく従業員に触らせたくないというのは管理側からすれば自然な [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>業務用のiOS端末を構成していると、iOS標準のアプリを消したくなることがあります。例えばヘルスケアや探すといったアプリ。業務には普通使いません。不要なものはなるべく従業員に触らせたくないというのは管理側からすれば自然な発想です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_home_default.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(iPod touchの工場出荷時状態のホーム画面。業務で不要なアプリは結構ある)</span></p>
<p>大半の標準アプリは下図のようにアプリアイコンを長押しして、削除することができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_home_editicons.jpg" alt="" width="240" class="alignnone" />&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_home_remove_stockapp.jpg" alt="" width="240" class="alignnone" /></p>
<p>ただ、よく知られている通り全ての標準アプリを完全に消せるわけではありません。下図のアプリは、HOME画面で一時的に非表示にできてもAppライブラリから容易に復元できるので完全削除できないものです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_home_removed.jpg" alt="" width="240" class="alignnone" /></p>
<p>またこの方法は、一つ一つ削除するという面倒な手動操作が必要になります。一度に複数の端末で例外なく標準アプリを削除したい業務端末には向いていない方法です。</p>
<p>ということで本稿では、業務用iOS端末に適した、任意の標準アプリを(ほぼ)もれなく削除する方法を紹介します。</p>
<p>&nbsp;</p>
<h3>概要</h3>
<p>iOS標準アプリを全て削除するには、構成プロファイルで指定できる「アプリの使用の不許可」設定を使用します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_restrict-app.jpg" alt="" width="600" class="alignnone" /></p>
<p>ここは任意のアプリを使用禁止や使用許可を指定する項目で、ここに消したい標準アプリを使用禁止アプリとして列挙します。エディタを保存し生成した構成プロファイルを端末にインストールすれば、指定した標準アプリを削除できます。(構成プロファイルの作成方法は<a href="/2020/05/18/1745/">こちら</a>、インストールについては<a href="/2020/10/02/2378/">こちら</a>と<a href="/2021/11/08/4773/">こちら</a>を参照)</p>
<p>インストールした様子が以下です。一瞬で根こそぎ消えているのが分かります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_home_remove_defaultapps.gif" alt="" width="240" class="alignnone" /><br /><span class="caption">(Safariと設定アプリを残して標準アプリを全削除する設定を流し込んだ)</span></p>
<p>以上が全体の流れと実際の動きです。続いて、詳細な作り方や制限事項を詳しく見てみましょう。</p>
<p>&nbsp;</p>
<h3>iOS標準アプリを削除する構成プロファイルの作り方</h3>
<p>まず、Apple Configurator2 で構成プロファイルエディタを起動します。iOS標準アプリ削除用と分かるよう構成プロファイルの一般情報を指定しておきます。(Apple Configurator2については<a href="/2020/05/07/1576/">こちら</a>を参照)</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_deny-ios15-default-apps.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(構成プロファイルは用途ごとに分けて作成するのが望ましい)</span></p>
<p>次に「制限」カテゴリをクリックして「App」タブをクリックし、タブ内にある「Appの使用を制限」のリストボックスを「一部のAppを許可しない」に変更します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_restrict-app-deny.jpg" alt="" width="600" class="alignnone" /></p>
<p>リストの下にある「+」ボタンをクリックするとダイアログが現れますので、検索ボックスにアプリ名か、アプリを表すID(バンドルID)を入力します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_denyapp-stocks.jpg" alt="" width="300" class="alignnone" /></p>
<p>上記は株価アプリを指定しようと検索している例です。アプリ名やバンドルIDで検索可能。出てきた候補から削除したい標準アプリを選んでから「選択」ボタンをクリックします。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_denyapplist.jpg" alt="" width="600" class="alignnone" /></p>
<p>リストに並びました。</p>
<p>同じ手順で他の削除したい標準アプリを追加していきます。制限数はありません。必要なだけ登録できたら、保存して構成プロファイルのファイル(拡張子 .mobileconfig)を生成します。</p>
<p>&nbsp;</p>
<h3>インストールの前提条件</h3>
<p>構成プロファイルを作る時、「監視対象のみ」と書かれていたことに気づいたでしょうか。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_onlysupervised.jpg" alt="" width="400" class="alignnone" /></p>
<p>そう、「Appの使用の制限」設定が機能するのは<strong>監視モード(Supervised Mode)の端末に限られている</strong>のですね。よって、iOS標準アプリを削除する場合、以下いずれかの端末でなければなりません。</p>
<ul>
<li>Apple Configurator2 で監視モード化した端末</li>
<li>DEP端末として購入(またはDEP化)したMDMチェックイン済み端末</li>
</ul>
<p>個人用の端末はもちろんのこと、MDMチェックイン済みだけど監視モードにはなっていない端末は、上記で作成した構成プロファイルをインストールはできますが、標準アプリは期待通りに消えてくれないので注意して下さい。(監視モードについては<a href="/2020/11/23/2499/">こちら</a>、監視モード化する方法は<a href="/2021/01/04/2659/">こちら</a>を参照)</p>
<p>&nbsp;</p>
<h3>絶対に消せないiOS標準アプリ</h3>
<p>実は絶対に消すことができない標準アプリがあります。</p>
<ul>
<li>電話</li>
<li>設定</li>
</ul>
<p>こちらの2つですね。当然と言えば当然でしょう。iPhoneですから「電話」を消したらアイデンティティの喪失です(笑) さすがにそれはできません。設定アプリは言わずもがなですね。全ての設定を一切何も変更できない端末なんて使い物になりませんので消せません。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_mobilephone-settings.jpg" alt="" width="200" class="alignnone" /><br /><span class="caption">(使用禁止アプリに電話を指定することもできるが&#8230;.)</span></p>
<p>上図の通り禁止対象として指定することはできますが、それらを含む構成プロファイルは端末へのインストールに失敗し、他に指定したアプリも消えてくれません。くれぐれも電話と設定アプリは含めないように注意して下さい。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_ac2_error_installmobileconfig.jpg" alt="" width="200" class="alignnone" /><br /><span class="caption">(インストールに失敗する。電話アプリ・設定アプリ以外に指定していたものも消えない)</span></p>
<p>&nbsp;</p>
<h3>iOS標準アプリの一覧について</h3>
<p>構成プロファイルを作成していると、iOS標準アプリを全部列挙することに結構難儀します。</p>
<p>工場出荷時状態の端末が手元にあればすぐ分かりますが、工場出荷時状態の端末はそうそう簡単に用意できるものではありません。またiOSのアップデートで標準アプリは増えたり減ったりもしますので、それを調べるのも面倒です。</p>
<p>そこで役立つのが、GitHubに公開されている<a href="https://github.com/joeblau/apple-bundle-identifiers" rel="noopener" target="_blank">iOS標準アプリ一覧リポジトリ</a>。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211122_github_defaultapp_bundleids.jpg" alt="" width="600" class="alignnone" /></p>
<p>毎年新しいiOSが登場する度に更新してくれていますので、ここを参考に一覧を作っていくことをお勧めします。</p>
<p>&nbsp;</p>
<p>ということで、iOS標準アプリを(ほぼ)全て削除する方法を紹介しました。</p>
]]></content:encoded>
			</item>
		<item>
		<title>MDMの導入から利用開始まで(5) -デバイスに紐付けられる3種類のプロファイルを理解する-</title>
		<link>https://20230101.www.micss.biz/2021/09/06/4370/</link>
		<pubDate>Sun, 05 Sep 2021 22:00:11 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[DEP]]></category>
		<category><![CDATA[MDM]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=4370</guid>
		<description><![CDATA[前回の投稿で、MDMの全体像を捉えるための考え方を紹介しました。ザックリ絵に描くと以下のようになるということでした。(まだ前回の投稿を見ていない方はまず先にご覧下さい。) (設計図-ブループリントを作り、それを然るべき端 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="/2021/08/23/4299/">前回の投稿</a>で、MDMの全体像を捉えるための考え方を紹介しました。ザックリ絵に描くと以下のようになるということでした。(まだ<a href="/2021/08/23/4299/">前回の投稿</a>を見ていない方はまず先にご覧下さい。)</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_blueprint_er.png" alt="" width="400" class="alignnone" /><br /><span class="caption">(設計図-ブループリントを作り、それを然るべき端末郡に適用する)</span></p>
<p>組織内の全端末が全く一緒というケースは稀ですので、多くの場合、設計図は幾つも作ることになります。ただ設計図を作るといっても、まずその設計図に何が含まれるのか網羅的に把握しておく必要はあるでしょう。</p>
<p>そこで本稿では、設計図を介してデバイスに流し込む「プロファイル」に何が含まれるかを解説します。ただ、MDMによって設定の仕方やUI/UX、使っている用語などが異なるという点は留意して下さい。冒頭の図に沿った基本的なMDMの考え方として捉えて頂ければと思います。</p>
<p>&nbsp;</p>
<h3>プロファイルは大きく3種類</h3>
<p>エンタープライズiOSにおけるプロファイルとは<strong>組織として端末をどのように使わせるのかを規定するもの</strong>です。別の言い方をすると、端末に対する「設定」「制限」「権限」「許可」といったものの定義情報と言えるでしょう。</p>
<p>アプリ開発者の方であれば、プロビジョニングプロファイルに馴染みがある筈です。これはInHouseアプリを起動する「権限」情報ですね。そのプロビジョニングプロファイルを含めて、プロファイルには大きく3種類があります。</p>
<table class="table">
<thead>
<tr>
<th>種類</th>
<th>役割</th>
</tr>
</thead>
<tbody>
<tr>
<th>(1) 構成プロファイル</th>
<td>OSレベルの設定や制限を規定する</td>
</tr>
<tr>
<th>(2) DEPプロファイル</th>
<td>DEP端末の設定を規定する</td>
</tr>
<tr>
<th>(3) プロビジョニングプロファイル</th>
<td>アプリが端末で起動できるかどうかの権限を規定する。通常はアプリ署名時に使用</td>
</tr>
</tbody>
</table>
<p>そもそもプロファイルという言葉を使わないMDMサービスもありますので、この3種のプロファイル名が言葉通りには出てこなくても心配は不要です。</p>
<p>ようは、(1)OSレベルの設定、(2)DEP端末用の設定、(3)アプリの起動権限、この3つを設計図に紐付けることができるということだけ押さえて下さい。(DEP端末については<a href="/2021/05/31/3928/">こちら</a>を参考)</p>
<p>順に詳細を見ていきましょう。</p>
<div id="profile1">&nbsp;</div>
<h3>(1) OSレベルの設定・制限 : 何ができるか Apple Configurator2  に学ぶ</h3>
<p><a href="/2021/08/23/4299/">以前の投稿</a>でMDMの設計指針は Apple Configurator2 のブループリントという機能に学ぶと良いと書きました。実は、Apple Configurator2は、構成プロファイル(OSレベルの設定・制限)について学ぶ学習教材としても最適なツールです。</p>
<p>というのも、適用可能な設定・制限をほぼ全てカバーする構成プロファイルエディタを搭載しているからです。厳密には Apple の公式情報 <a href="https://developer.apple.com/documentation/devicemanagement/configuring_multiple_devices_using_profiles" rel="noopener" target="_blank">Configuring Multiple Devices Using Profiles</a> を見るべきですが、Apple Configurator2 の構成プロファイルエディタでほぼ全てを楽に俯瞰することができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_ac2_profileeditor.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(Apple Configurator2 の構成プロファイルエディタ。カテゴリ毎に指定可能な設定・制限を俯瞰できる)</span></p>
<p>左のペインが設定・制限できる大分類です。画面キャプチャでは見えないぐらいにカテゴリが並んでいますね。それぐらいiOSに指定できる設定・制限が多様だということです。是非、手元のMacで Apple Configurator2 から構成プロファイルエディタを起動して、どんな設定が可能なのか眺めてみて下さい。(Apple Configurator2 の使い方は<a href="/2020/10/02/2378/">こちら</a>)</p>
<p>さて一方で多くのMDMサービスは、Apple Configurator2 と同様の構成プロファイルエディタ(または設定・制限エディタ)を備えています。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_jamf_restrictions.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(jamf NOW の画面。制限を指定している様子。構成プロファイルというキーワードは使用していない)</span></p>
<p>ですが、いきなりMDMサービス上で設定・制限を設計することは余りお勧めしません。MDMサービスの契約プランによって使えない機能があり全貌を把握できない場合があるからです。また、iOS以外にWindowsやAndroidの設定用UIまで混在しているMDMもあり、MDM利用経験が浅い方は混乱必至だからです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_hexnode.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(あらゆるOSの設計図を Policy という概念でまとめている hexnode mdm の例)</span></p>
<p>これに対し Apple Configurator2 の構成プロファイルエディタなら、iOSに限定してどんな設定ができるのかだけを、ほぼ全て把握できます。またADP/ADEPで developer 登録していたり <a href="https://appleseed.apple.com/it" rel="noopener" target="_blank">AppleSeed for IT</a> の契約をしている場合は、未公開beta版の Apple Configurator2 を先行して見ることもできます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_ac2_beta.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(リリース前のiOSに設定・制限できる見込みの内容を確認できる。これはサードベンダーのMDMサービスではできない)</span></p>
<p>そういうわけで、できれば常に最新バージョンの Apple Configurator2 の構成プロファイルエディタを使って、OSレベルでどんな設定・制限ができるのか概観しておきましょう。弊社では、情シス部門に最低Mac1台を用意して、リファレンスとして Apple Configurator2 をいつでも確認できるようにしておくことを推奨しています。(Beta版利用のためにもう1台加えた計2台が理想です)</p>
<div id="profile2">&nbsp;</div>
<h3>(2) DEP端末の設定 :  MDMサービスの管理画面で確認</h3>
<p>DEP端末にはOSレベルの設定・制限とは異なる次元の設定・制限があります。これをDEPプロファイルと呼びます。例えば、MDM支配下から外れることを許可するかどうかや、初期設定アシスタントの表示抑制などが含まれます。(詳しくは<a href="/2021/06/07/3954/" rel="noopener" target="_blank">こちら</a>)</p>
<p>DEPプロファイルの一覧は残念ながら Apple Configurator2 では見ることができません。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_ac2_depnize1.jpg" alt="" width="320" class="alignnone" />&nbsp;<img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_ac2_depnize2.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(DEP化という作業を行う過程でDEPプロファイルに含める設定を見ることができるが面倒臭い)</span></p>
<p><a href="https://developer.apple.com/business/documentation/MDM-Protocol-Reference.pdf" rel="noopener" target="_blank">MDM仕様書</a>の Device Enrollment Program の章(p.96)を見るのもの良い選択ですが、英語な上にこちらも分かりにくいので余りお勧めできません。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_mdmprotocolreference_dep.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(DEP端末の詳細が記載されているが、どちらかというとMDMサービスを開発するベンダーのための内容)</span></p>
<p>よってDEP端末の設定に何が指定できるのかは、使用しているMDMサービスのサポートに、DEP(Device Enrollment Program)やADE(Automated Device Enrollment)のキーワードを告げて確認するかマニュアルを検索するのが良いでしょう。(DEPやADEの違いについては<a href="/2021/08/16/4250/">こちら</a>)</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_bizmobile_depprofile.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(弊社がよく使うBizMobile Go!ではDEPプロファイルという設定画面が用意されている)</span></p>
<div id="profile3">&nbsp;</div>
<h3>(3) プロビジョニングプロファイルは詳細確認不要</h3>
<p>最後のプロファイルは、プロビジョニングプロファイルです。ただプロビジョニングプロファイルを普段意識する必要はないでしょう。意識する必要があるのは、</p>
<ul>
<li>MDMでInHouseアプリを配信している</li>
<li>当該InHouseアプリの ipa ファイルのリビルドや再署名が困難</li>
</ul>
<p>という極めて稀なケースです。</p>
<p>余り知られていませんが、プロビジョニングプロファイルの期限が切れたからといってInHouseアプリを毎年再署名(再ビルド)する必要はありません。実は MDM でInHouseアプリ用のプロビジョニングプロファイルを単体で配信し、期限が切れたInHouseアプリの利用を継続させることができます。</p>
<p>そのような運用が必要な場合に、設計図にInHouseアプリ用のプロビジョニングプロファイルを登録します。ただこの機能に対応していないMDMもありますので注意して下さい。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_distribute_provisioningprofile.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(MDMの管理下にある端末には、プロビジョニングプロファイルを単体で配信できる)</span></p>
<p>なおプロビジョニングプロファイルは Apple の Developer Console で生成するもので、InHouseアプリの場合プロビジョニングプロファイルに特別な設定は特に行いません。せいぜい Bundle Identifier と署名時に使う証明書の指定ぐらいです。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_devapple_cert.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(InHouse用のプロビジョニング作成時には特別な設定を何も行わない)</span></p>
<p>通常は、再署名やリビルドで毎年InHouse用のipaファイルを生成し直す運用が多いことでしょう。プロビジョニングプロファイルは当該InHouseアプリと共にデバイスにインストールされますので、普段は特別に意識しなくてもいいわけです。この件はまた別の投稿で詳しく解説します。</p>
<p>&nbsp;</p>
<p>以上、MDMの導入設計に関連して「プロファイル」について解説しました。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/09/20210906_er_profile.jpg" alt="" width="400" class="alignnone" /></p>
<p>今一度まとめると、「設計図」に盛り込むプロファイルが3つあるということでした。</p>
<ul>
<li><a href="#profile1">(1) 構成プロファイル</a></li>
<li><a href="#profile2">(2) DEPプロファイル</a></li>
<li><a href="#profile3">(3) プロビジョニングプロファイル</a></li>
</ul>
<p>通常、MDM導入の設計時には構成プロファイル、つまりOSレベルの設定・制限を意識するのみで十分です。(1)に書いた通り Apple Configurator2 の構成プロファイルエディタを設計の参考にして下さい。</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
