<?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>構成プロファイル &#8211; MICSS</title>
	<atom:link href="https://20230101.www.micss.biz/category/configprofile/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>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>業務用端末で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>不要なiOS標準アプリを消す構成プロファイルを公開します 〜iOS15対応版〜</title>
		<link>https://20230101.www.micss.biz/2021/12/06/4857/</link>
		<pubDate>Sun, 05 Dec 2021 22:00:47 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[構成プロファイル]]></category>
		<category><![CDATA[監視モード]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=4857</guid>
		<description><![CDATA[以前の投稿でiOS標準アプリを消す方法を紹介しました。しかし 構成プロファイルを作成していると、iOS標準アプリを全部列挙することに結構難儀します。 工場出荷時状態の端末が手元にあればすぐ分かりますが、そうそうあるもので [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>以前の投稿でiOS標準アプリを消す方法を紹介しました。しかし</p>
<blockquote><p>
構成プロファイルを作成していると、iOS標準アプリを全部列挙することに結構難儀します。</p>
<p style="margin-bottom:0;">工場出荷時状態の端末が手元にあればすぐ分かりますが、そうそうあるものではありません。またiOSのアップデートで標準アプリは増えたり減ったりもしますので、それを調べるのも面倒です。</p>
</blockquote>
<p>こう書いた通り実際には結構面倒な作業です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/12/20211206_denyapplist.jpg" alt="" width="400" class="alignnone" /><br /><span class="caption">(1つ1つ登録するのが手間)</span></p>
<p>「全部アプリを消すがこれだけは表示する」という設定がでれば良いのですが、残念ながらそのような気の利いた仕様になっていません。標準アプリを全部列挙する必要があります。</p>
<p>その面倒臭さを解消するため、<strong>iOS標準アプリを全消しする構成プロファイル iOS15対応版</strong>を公開することにしました。最初からiOS標準アプリがすべて列挙されている、標準アプリ削除用の構成プロファイルとなります。<a href="/wp-content/uploads/2021/12/ios15_deny_defaultapps.mobileconfig" rel="noopener" target="_blank">以下よりダウンロード</a>して下さい。</p>
<p><a href="/wp-content/uploads/2021/12/ios15_deny_defaultapps.mobileconfig" target="_blank"><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/12/20211206_banner_mobileconfigdownload.jpg" alt="" width="200" class="alignnone" /></a></p>
<p>&nbsp;</p>
<h3>前提条件</h3>
<p>以前の投稿にも書きましたが、標準アプリ削除を行えるのは<strong>監視モードの端末</strong>です。ダウンロードした構成プロファイルをインストールする端末は、以下のどちらかでなければなりません。</p>
<ul>
<li>Apple Configurator2 で監視モードにした端末</li>
<li>DEP(またはADE)端末として購入しMDMに自動チェックインさせた端末</li>
</ul>
<p>上記から分かる通り、一般個人ユーザの端末では使用できません。監視モードかどうかを調べるには、<a href="/2021/01/11/2779/">iOS端末が監視モードかどうかを確認する方法</a>を参照して下さい。</p>
<p>&nbsp;</p>
<h3>iOS標準アプリ全消し構成プロファイルの使い方</h3>
<p>インストール前に、ダウンロードした構成プロファイルに手を加える必要があります。</p>
<p><strong>(1)</strong> 標準アプリ削除用の構成プロファイルをダウンロードする</p>
<p><strong>(2)</strong> テキストエディタで開いて以下の通りダミー値を置き換える</p>
<table class="table" style="margin-left:10px;">
<thead>
<tr>
<th>行番号</th>
<th>ダミー値</th>
<th>置き換える値</th>
</tr>
</thead>
<tbody>
<tr>
<th>15行目, 19行目</th>
<td>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</td>
<td>UUIDに置き換える。AppleConfigurator2の仕様に併せて15行目と19行目のXXX部分は同じにするのがオススメ</td>
</tr>
<tr>
<th>97行目</th>
<td>YYYYYYYYYY</td>
<td>会社名・組織名に置き換える。日本語ok</td>
</tr>
<tr>
<th>103行目</th>
<td>ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ</td>
<td>15行目と19行目のXXXX〜とは異なるUUIDに置き換える</td>
</tr>
<tr>
<th>95行目</th>
<td>com.example.mobileconfig.denydefaultapps</td>
<td>組織のドメイン逆記法で置き換える</td>
</tr>
</tbody>
</table>
<p><strong>(3)</strong> 構成プロファイルを端末にインストールする(MDMまたはApple Configurator2を使う)</p>
<p>手順としては以上となります。構成プロファイルをインストールする方法は幾つかありますので、以下を参考に最適なものを選んで下さい。インストールさえできればどんな手段でも構いません。</p>
<ul>
<li><a href="/2020/10/02/2378/">構成プロファイルの作成とインストールの基礎 〜Apple Configurator2を使う方法〜</a></li>
<li><a href="/2021/11/08/4773/">構成プロファイルのインストール方法 〜Apple Configurator2 を使わない方法〜</a></li>
</ul>
<p>インストール直後、iOS標準アプリが根こそぎ消えてくれます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/12/20211206_onlysettingapp.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(iPod touchにインストールした直後の様子)</span></p>
<p>特定のアプリだけは消したくない&#8230;という場合、ダウンロードした構成プロファイルのアプリ一覧から該当するものを削除して下さい。どのアプリがどのIDなのかは、<a href="https://github.com/joeblau/apple-bundle-identifiers" rel="noopener" target="_blank">apple-bundle-identifiers</a> のページを参照すると良いでしょう。</p>
<p>また、手順(2)の項目にあるUUIDは、汎用一位識別子(Universally Unique IDentifier)と呼ばれるもので、仕様に従って生成されたものでなければなりません。詳しくは、<a href="/2021/11/29/4840/">構成プロファイルを自作する時に必要なUUIDの作り方</a>を参照して下さい。</p>
<p>&nbsp;</p>
<p>エンタープライズiOSの現場では、必ずと言って良いほどiOS標準アプリを消したくなります。本稿で公開した構成プロファイルを使って少しでも労力軽減して頂ければと思います。</p>
]]></content:encoded>
			</item>
		<item>
		<title>構成プロファイルを自作する時に必要なUUIDの作り方</title>
		<link>https://20230101.www.micss.biz/2021/11/29/4840/</link>
		<pubDate>Mon, 29 Nov 2021 05:11:18 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[構成プロファイル]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=4840</guid>
		<description><![CDATA[UUIDとは Universally Unique IDentifier の略で、何かを一意に識別するための128ビットの数値を使った識別子です。一般的にはその128ビットの数値を16進数で 8894C432-FA57- [&#8230;]]]></description>
				<content:encoded><![CDATA[<p style="margin-bottom:0px;">UUIDとは <strong>U</strong>niversally <strong>U</strong>nique <strong>ID</strong>entifier の略で、何かを一意に識別するための128ビットの数値を使った識別子です。一般的にはその128ビットの数値を16進数で</p>
<pre style="margin-top:10px;margin-bottom:10px;">
8894C432-FA57-4FA5-BF46-198B291F8DAB
</pre>
<p>のような書き方をして使います。</p>
<p>エンタープライズIOSの世界でUUIDを意識することはほぼほぼありませんが、AppleConfiguraotr2 を使わずに構成プロファイルを手書き・編集する時や、構成プロファイルを自動生成するプログラムを独自に開発する時には意識する必要があります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211129_mobileconfig_uuid.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(構成プロファイルのXMLにはUUIDが随所に現れる)</span></p>
<p>本稿では、構成プロファイルで使うUUIDについて解説します。</p>
<p>&nbsp;</p>
<h3>構成プロファイルにおけるUUID</h3>
<p>UUIDは構成プロファイルのXML(plist形式)の主に2箇所で使われます。</p>
<ul>
<li>構成プロファイルそのものを識別するためのUUID</li>
<li>構成プロファイル内の各設定(ペイロード)を識別するためのUUID</li>
</ul>
<p>構成プロファイルのファイル1つにつき前者は1つで、他の構成プロファイルと重複してはなりません。また後者は構成プロファイルに含めた各設定ごとにそれぞれ重複しないように指定します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211129_uuid_in_mobileconfig.jpg" alt="" width="400" class="alignnone" /><br /><span class="caption">(構成プロファイルの構造。各ブロック毎にUUIDが必要。重複してはならない)</span></p>
<p>いずれも <strong>PayloadUUID</strong> というキー名を使ってUUIDを指定しますが、XML(plist)形式内のタグ構造が上図のようになっていることを意識していれば混乱することはありません。</p>
<p>興味深いのは、<a href="https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf" rel="noopener" target="_blank">構成プロファイルの仕様書</a> で PayloadUUID は必須の項目であるとされていながら、</p>
<blockquote>
<p style="margin-bottom:0px;">
A globally unique identifier for the profile. The actual content is unimportant, but it must be globally unique.
</p>
</blockquote>
<p>とあり、実は<strong>余り重要ではない(unimportant)</strong>とされていることです。じゃぁなぜ作った&#8230;という話なのですが(笑)</p>
<p>実際には <strong>PayloadUUID</strong> とセットで指定する<strong>PayloadIdentifier</strong> のほうを一位性を担保する値として使っているようです。とはいえ PayloadUUID の一意性を軽んじて、将来万が一仕様変更されて影響を受けるのも避けたいですので、構成プロファイル内で使用するUUIDは全て異なるよう都度生成した方が良いでしょう。</p>
<p>&nbsp;</p>
<h3>UUIDの作り方</h3>
<p>UUIDの仕様は<a href="https://ja.wikipedia.org/wiki/UUID" rel="noopener" target="_blank">Wikipedia</a>が詳しいです。16進数で32文字を闇雲に並べたらそれでokというわけではありませんので、UUIDを生成する時は仕様にそって作ってくれるツールを使う必要があります。以下で順に紹介します。</p>
<h4>MacでUUIDを作る</h4>
<p>Macには <strong><a href="https://linuxjm.osdn.jp/html/e2fsprogs/man1/uuidgen.1.html" rel="noopener" target="_blank">uuidgen</a></strong> というUUID生成コマンドが最初から入ってますのでこれを使います。</p>
<p>Finderでアプリケーションから[ユーティリティ]フォルダを開き、中にある [ターミナル] を起動して、 以下のように uuidgen コマンドを実行するだけでUUIDの生成完了です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211129_uuidgen.jpg" alt="" width="600" class="alignnone" /></p>
<p style="margin-bottom:0px;">
簡単ですね。生成されたUUIDをコピペして構成プロファイル内に貼り付けて使います。コピーするのが面倒臭いなら
</p>
<pre style="margin-top:10px;margin-bottom:10px;">
$ uuidgen | pbcopy
</pre>
<p>のように pbcopy コマンドをパイプで繋いでも良いでしょう。自動的にクリップボードにコピーしてくれます。</p>
<h4>WindowsでUUIDを作る</h4>
<p>Windowsの場合は PowerShell を使うのがオススメです。</p>
<p>[Windowsキー] + [R] で powershell を入力して PowerShell を起動。<strong>New-Guid</strong> を入力してエンターでUUIDが生成できます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211129_newguid.jpg" alt="" width="600" class="alignnone" /></p>
<p>生成結果の Guid と書かれた16進数表記部分をコピペして使います。コピーが面倒な場合は PowerShell で</p>
<pre style="margin-top:10px;margin-bottom:10px;">
> (New-Guid).Guid | clip
</pre>
<p>を入力しても良いでしょう。クリップボードにUUIDがコピーされます。</p>
<h4>ブラウザでUUIDを作る</h4>
<p>いわゆるコマンドラインを操作する事に慣れていない方は、以下のような<a href="https://www.uuidgenerator.net/version4" rel="noopener" target="_blank">UUIDを生成できるサイト</a>を使うことができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/11/20211129_uuidgenerator.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(右側 Version4 UUID Generator を使うのが良い)</span></p>
<p>&nbsp;</p>
<p>ところでUUIDは重複することがないのか？と疑問に思われる方は、<a href="https://zenn.dev/kiyocy24/articles/uuid-duplicate-time" rel="noopener" target="_blank">こちらの検証記事</a>が参考になりますので興味があれば参照して下さい。</p>
<p>以上、UUIDの生成について紹介しました。構成プロファイルの中身に直接手を入れるようなことがある場合に活用して下さい。</p>
]]></content:encoded>
			</item>
		<item>
		<title>WWDC2021に見えた人種差別に対するAppleの変わらぬ姿勢</title>
		<link>https://20230101.www.micss.biz/2021/06/21/4016/</link>
		<pubDate>Sun, 20 Jun 2021 22:00:30 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[エンタープライズiOS]]></category>
		<category><![CDATA[構成プロファイル]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=4016</guid>
		<description><![CDATA[エンタープライズiOSと人種差別には一見何の関係も無さそうです。が、WWDC2021のエンタープライズ関連セッションにAppleの変わらないスタンスが表れていましたので紹介します。 &#160; 人種差別に対するAppl [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>エンタープライズiOSと人種差別には一見何の関係も無さそうです。が、WWDC2021のエンタープライズ関連セッションにAppleの変わらないスタンスが表れていましたので紹介します。</p>
<p>&nbsp;</p>
<h3>人種差別に対するAppleの姿勢</h3>
<p>Appleは元より多様性を尊重し、イノベーションの源泉であるとして<a href="https://www.apple.com/diversity/" rel="noopener" target="_blank">専用サイト</a>まで用意して自社の取り組みを公表しています。公開当初は少し話題にもなったので知ってる方も多いと思います。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_apple_inclusion-diversity.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(人種という区切り以外にも年齢や性別で偏った見方をAppleがしていないことを示すレポート)</span></p>
<p>このレポートはAppleの姿勢の片鱗ですが 、古くから、そして今もなお人種差別に「否」を示し続けています。昨年の<a href="https://developer.apple.com/videos/play/wwdc2020/101" rel="noopener" target="_blank">WWDC2020キーノート</a>では、米国で拡大する<a href="https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF%E3%83%BB%E3%83%A9%E3%82%A4%E3%83%B4%E3%82%BA%E3%83%BB%E3%83%9E%E3%82%BF%E3%83%BC" rel="noopener" target="_blank">BLM運動(Black Lives Matter:人種差別抗議運動)</a>について言及されました。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_wwdc2020_keynote.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(WWDC2020は、BLM運動が拡大するきっかけとなった事件の直後だった)</span></p>
<p>さらに Apple はWWDC2020の直後に <a href="https://developer.apple.com/news/?id=1o9zxsxl" rel="noopener" target="_blank">Updates to coding terminology</a> というリリースを出し、inclusive(不平等/不公平)な表現を排除し置き換えていくことを宣言します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_apple-release_coding-teminology.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(non-inclusive (不平等/不公平)な言葉を削除し置き換えていくという宣言。日本語は<a href="https://developer.apple.com/jp/news/?id=1o9zxsxl" rel="noopener" target="_blank">こちら</a>)</span></p>
<p>これはBLM運動の広がりがIT業界に<strong>コーディングやドキュメント用語の置き換え</strong>として広く影響を与えていたことに Apple も呼応したものです。</p>
<ul>
<li><a href="https://japan.cnet.com/article/35155337/" rel="noopener" target="_blank">GitHub、「マスター」「スレーブ」などの用語を見直し&#8211;人種差別撤廃に賛同</a></li>
<li><a href="https://japan.zdnet.com/article/35156658/" rel="noopener" target="_blank">Linuxでも「ブラックリスト」「スレーブ」などの用語を変更へ</a></li>
<li><a href="https://www.publickey1.jp/blog/20/twitterwhitelistblacklistmasterslavedummy_value.html" rel="noopener" target="_blank">Twitter、コードやドキュメント内の用語「Whitelist/Blacklist」「Master/Slave」「Dummy value」などを好ましい用語へ置き換え、具体例も発表</a></li>
<li><a href="https://gist.github.com/mattn/488af4c3b3841ea901a1f9820636393c" rel="noopener" target="_blank">blacklist/whitelist master/slave に関する情報集め</a></li>
</ul>
<p>Appleはリリースのとおり、2020年7月時点でドキュメント類やUIの表記ガイドラインである <a href="https://help.apple.com/applestyleguide/" rel="noopener" target="_blank">Apple Style Guide</a> 中の blacklist / whitelist という表現をなくしました。他にもswift言語のリポジトリには black や slave といった表現が同年早々に削除された<a href="https://github.com/apple/swift/commit/f8b7db4e76b26711259a8a054b1a5632f3cd17c5" rel="noopener" target="_blank">コミットログ</a>も残っています。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_swift_blm_commit.jpg" alt="" width="600" class="alignnone" /></p>
<p>&nbsp;</p>
<h3>WWDC2021のセッションに見えた変わらぬ姿勢</h3>
<p>さて1年経ったWWDC2021。Appleの姿勢は変わっていないということが、キーノートでも技術セッションでも示されました。<a href="https://developer.apple.com/videos/play/wwdc2021/101" rel="noopener" target="_blank">WWDC2021キーノート</a>では黒人開発者や女性開発者向けプログラムについて紹介されました。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_wwdc2021_keynote.jpg" alt="" width="600" class="alignnone" /></p>
<p>そして上述の <a href="https://developer.apple.com/jp/news/?id=1o9zxsxl" rel="noopener" target="_blank">Updates to coding terminology</a> 宣言はいよいよ実装面にも及びます。以下は、WWDC2021のエンタープライズ向けセッション <a href="https://developer.apple.com/videos/play/wwdc2021/10130/" rel="noopener" target="_blank">What’s new in managing Apple devices</a> での1枚のスライドです。ことの大きさが想像できるでしょうか。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_profile_inclusivity-changes.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(スライド右上に Inclusivity Changes とある。赤枠は筆者)</span></p>
<p>このスライド表現は、構成プロファイルやMDMのアップデートでAppleがよく使うものです。今回のセッションでは新しいペイロードの追加等に加えて、Inclusive(不平等/不公平)な表現をなくすための仕様変更をすることが示されました。</p>
<p>現状の構成プロファイル仕様を一部紹介します。例えば、監視モードの端末で標準アプリを削除する構成プロファイルを作れば plist は以下のようになります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_configprofile_denyapplist.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(削除するアプリのIDを blacklist として列挙する)</span></p>
<p>WiFiでの接続先SSIDを指定したものだけに限定する構成プロファイルではこうなります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_configprofile_wifirestriction.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(接続許可されたWiFiのことを white としている)</span></p>
<p>blacklist / whitelist という言葉が使われていますね。該当する設定を含む構成プロファイルが手元にある方は、是非テキストエディタで中身を見てみて下さい。</p>
<p>紹介したものは現状使われている inclusive な表現の一部です。興味のある方はAppleの公式ドキュメント <a href="https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf" rel="noopener" target="_blank">Configuration Profile Reference</a> で blacklist / whitelist をキーワードに検索をかけてみると良いでしょう。かなりの数の black/white の表記が見つかります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2021/06/20210621_configurationprofilereference_searchedby_blacklist.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(blacklist / whitelist のキーワードが驚くほど使われているのが分かる)</span></p>
<p>これら構成プロファイルの設定キー名称も全て denylist / allowlist といった non-inclusive な表現に変わります(当面は共存すると思われる)。興味深いのは、この仕様変更の影響範囲が決して小さくないことです。</p>
<ul>
<li>構成プロファイルを解釈するiOS/iPadOS (Apple内)</li>
<li>構成プロファイルを作成・解釈するApple Configurator2 や macOS server の実装 (Apple内)</li>
<li>構成プロファイルを作成するMDMサービス (Apple外。全世界数十社の全MDMベンダー)</li>
<li>構成プロファイルのXML(plist)を作成する独自のスクリプトやツール (開発会社やSIer)</li>
<li>構成プロファイルを扱うオープンソースなプロダクト (オープンソースコミュニティ)</li>
</ul>
<p>Appleは、これらの決して小さくない影響範囲を承知の上で変更するということです。通常、実装にかかわる仕様のキーワードは一度決めたら余程のことが無い限り変えないものです。その変更には機能的な向上はなく、やろうがやるまいが動作は変わらないからです。</p>
<p>その意味でAppleは徹底しています。運動に迎合した形だけの姿勢ではないAppleの本気が表れていると筆者は感じました。これらの変更はiOS15がリリースされる時期から各関連プロダクトに反映されていくことになるでしょう。</p>
<p>&nbsp;</p>
<p>以上、人種差別抗議運動の広がりがエンタープライズiOSの世界にも影響を与えているということを紹介しました。</p>
]]></content:encoded>
			</item>
		<item>
		<title>構成プロファイルとは</title>
		<link>https://20230101.www.micss.biz/2020/05/18/1745/</link>
		<pubDate>Mon, 18 May 2020 04:46:07 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[エンタープライズiOS]]></category>
		<category><![CDATA[構成プロファイル]]></category>

		<guid isPermaLink="false">https://20230101.www.micss.biz/?p=1745</guid>
		<description><![CDATA[本稿では、エンタープライズiOSの現場でiOS端末を楽に設定できる構成プロファイルについて紹介します。 &#160; エンタープライズiOSで直面する課題 法人でiOS端末を複数台導入する際は必ず、端末の設定をどうやって [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>本稿では、エンタープライズiOSの現場でiOS端末を楽に設定できる<strong>構成プロファイル</strong>について紹介します。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_profilesinfolder.png" alt="" width="600" class="alignnone" /></p>
<p>&nbsp;</p>
<h3>エンタープライズiOSで直面する課題</h3>
<p>法人でiOS端末を複数台導入する際は必ず、端末の設定をどうやって行うか、という課題に直面します。</p>
<p>『え？設定アプリから設定するだけだよね？』</p>
<p>と思われがちですが、ことはそう簡単ではありません。会社用のWiFiやVPN設定などを例に考えてみましょう。</p>
<p>2,3台の端末なら情シス部門が設定してから配布することも可能ですが、これが10台、100台、1000台と規模が大きくなればなるほど現実的ではなくなってきます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_ipads.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(エンタープライズiOSの現場では店舗等に常設する大量の端末を管理する場合もある)</span> </p>
<p>設定せずに配って各自・各拠点で設定して貰うという潔い割り切りもなくはないですが、結局、設定できない人からのヘルプコールや意図した通りの設定をして貰えないためのトラブルなどで、返って時間やコストのロスが発生するものです。</p>
<p>たかが設定、されど設定。</p>
<p>人海戦術で何とかしようとは思わないことです。当たり前ですが<strong>iOS端末の設定が本質なわけがない</strong>のですから、なるべく手間を掛けずに確実かつ漏れなく全端末への設定を終わらせる手段を模索すべきです。</p>
<p>この面倒な設定作業を丸投げで委託できるキッティング業者もありますし、携帯3キャリアもそのようなオプションサービスを提供していますが、まずその前に、設定を楽にするためにAppleが用意している<strong>構成プロファイル</strong>について理解しておくのは良いことです。</p>
<p>&nbsp;</p>
<h3>構成プロファイルはiOS設定を記述したXMLファイル</h3>
<p>構成プロファイルとは、iOSの設定情報が記述された設定ファイルのことで、通常はmacOS専用ソフトウェアの Apple Configurator2 を使って作成します。(<a href="https://20230101.www.micss.biz/2020/05/07/1576/">Apple Configurator2 とは</a>を参照)</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_profileeditoronac2.png" alt="" width="600" class="alignnone" /><br /><span class="caption">(構成プロファイルの作成機能は Apple Configurator2 の重要な機能のひとつ)</span> </p>
<p>プロファイルの拡張子は <strong>.mobileconfig</strong> です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_mobileconfigs.png" alt="" width="600" class="alignnone" /></p>
<p>余り見慣れない拡張子ですが、ファイルの中身は実はXML(plist)形式で書かれたテキストファイルにすぎません。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_mobileconfigxml.png" alt="" width="600" class="alignnone" /></p>
<p>構成プロファイルには複数の設定情報を含められるようになっていますので、 .mobileconfig ファイルを端末にインストールできさえすれば、一発で必要な設定が終わります。手間がかからず確実で漏れもありません。構成プロファイルを使わない手はないでしょう。</p>
<p>構成プロファイルは、組織内で1つである必要はありません。大阪拠点用・東京拠点用と場所によって分けたり、部門や設定カテゴリごとに分けても良いでしょう。iOS端末には複数の構成プロファイルをインストールできますので、ある程度の粒度で分けておくのが運用を楽にするコツです。</p>
<p>では、構成プロファイルでどのような設定情報を記述できるのでしょうか。</p>
<p>&nbsp;</p>
<h3>構成プロファイルで設定できること</h3>
<p>iOS向けの構成プロファイルで設定できる項目には、例えば以下のようなものがあります。</p>
<ul>
<li>制限（各種の機能制限）</li>
<li>コンテンツフィルタ（Safariで閲覧できるURLを制限できる）</li>
<li>WiFi</li>
<li>VPN</li>
<li>Webクリップ（HOME画面に置くURLショートカット）</li>
<li>&#8230;</li>
</ul>
<p>これはほんの一部。細かなものを含めると数百に及び、iOSのアップデートと共に毎年増えていきますので、ここではそれらを列挙することはしません。本稿では、設定可能項目の情報を入手する方法を記すにとどめておきます。以下に述べる4つの方法を組み合わせて、構成プロファイルの全体像を掴んでください。</p>
<h4>Apple公式のペイロード一覧ページ</h4>
<p>構成プロファイルの設定可能な項目を確認するには <a href="https://support.apple.com/ja-jp/guide/mdm/mdm5370d089/web" target="_blank">ペイロード全一覧</a>のサイトを確認するのが一番です。構成プロファイルで指定する値をペイロードと呼びますが、その仕様をAppleが公式に解説しています。</p>
<p><a href="https://support.apple.com/ja-jp/guide/mdm/mdm5370d089/web" target="_blank"><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_allpayload.png" alt="" width="600" class="alignnone" /></a></p>
<h4>構成プロファイルの仕様書</h4>
<p>Apple が定期的にアップデートしている <a href="https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf" target="_blank">Configuration Profile Reference (英語PDF)</a> という構成プロファイルの仕様ドキュメントも参考になります。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_reference.png" alt="" width="500" class="alignnone" /></p>
<h4>Apple Configurator2 の構成プロファイルエディタ</h4>
<p>正直、上記2項目の公式情報は大量のドキュメントと見慣れない用語に圧倒されてしまいます。一番のお勧めは Apple Configurator2 を使って全体を把握する方法です。</p>
<p>Apple Configurator2 のメニューから [ファイル]→[新規プロファイル] をクリックして現れる構成プロファイルエディタで、左ペインから興味のあるカテゴリをクリックすると、どんな設定ができるのかほぼ全てみることができます。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_newprofile.png" alt="" width="600" class="alignnone" /></p>
<p>全カテゴリで同じことを繰り返せば、10分もかからず「構成プロファイルで何が設定できるか」をおおよそ掴むことができます。</p>
<p>なお「ほぼ」と上述した通り、構成プロファイルで指定できる情報の全てに構成プロファイルエディタが対応している訳ではありません。仕様書には載っているのに、Apple Configurator2 では書けない設定項目もあります。これについては、また別の投稿で紹介します。</p>
<h4>AppStore アプリの Apple Configurator2 更新情報</h4>
<p>先に、Apple Configurator2 は頻繁にアップデートされると書きましたが、アップデートの度に App Store アプリの Apple Configurator2 アップデート情報欄で、どんな設定項目が増えたか最新の情報を確認することも可能です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_ac2onappstore.png" alt="" width="600" class="alignnone" /></p>
<p>Apple Configuraro2 のアップデートは、iOSのアップデートに連動することが多いです。ですので、「iOSで増えた機能を構成プロファイルでオフにできるのか？」といった視点でアップデート情報欄を見ると良いと思います。</p>
<p>以上、4つの情報収集手段を紹介しました。自分にあった方法で、構成プロファイルで設定できる内容は常に把握しておくようにしましょう。</p>
<p>&nbsp;</p>
<h3>構成プロファイルで設定できないこと</h3>
<p>iOSの設定アプリで設定できることの全てが、構成プロファイルで設定できる<strong>わけではない</strong>ことには特に注意が必要です。設定可能な項目は極めて限定的で、上記で紹介したAppleのオフィシャルドキュメントに記載されていない項目は基本的に設定できません。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_iossettings.png" alt="" width="300" class="alignnone" /><br /><span class="caption">(赤枠は設定できない大項目。赤枠以外のものでも指定できる小項目は限られている)</span> </p>
<p>例えば、「サウンドと触覚」「画面表示と明るさ」の項目や「アクセシビリティ」や「バッテリー」は、そもそも項目まるごと設定できませんし、「コントロールセンター」はほんの一部を制御できますが細かな設定はできません。</p>
<p>更に大事なこととして、InHouse配信している<strong>アプリ内の設定項目も記述できません</strong>。(アプリ内の設定値を配布するには、Managed App Configuration という仕組みを使います。これはまた別のエントリで紹介します)</p>
<p>一方、構成プロファイルでは、iOSの設定アプリに存在しない特殊設定を指定することができます。</p>
<p>例えば、パスコード長の制限や、スクリーンショット制限の設定など、いかにも企業を意識した項目がそうですね。個人用途ではまず必要とはならない設定です。</p>
<p><img src="https://20230101.www.micss.biz/wp-content/uploads/2020/05/20200518_ac2passcode.png" alt="" width="600" class="alignnone" /></p>
<p>できること、できないこと、できるのにできないこと&#8230;と構成プロファイルは非常にややこしいですね。</p>
<p>でもだからこそ、何が設定できて何が設定できないのか、そしてどのように設定するのかを把握しておく必要があります。これを知っているか知らないかで、初期導入や有事の際の対応コストに数倍の差がつきます。エンタープライズiOSに関係することになったら、構成プロファイルの全体像は掴んでおきましょう。</p>
<p>&nbsp;</p>
<p>以上、iOS端末の設定を楽にする構成プロファイルについて紹介しました。構成プロファイルの具体的な作り方やインストール方法については、また別の投稿でご紹介します。</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
