Jamf Setup と Azure ADでつくる 共有iPad のつくり方
iPadで共有デバイスといえば、モバイルデバイス管理(MDM)ソリューションと、組織が発行および所有する管理対象Apple IDを使用してつくる 共有iPad という仕組みがありますが、 新OSの発表後しばらくは動作しなかったり、OSのアップグレードの際に初期化が必要であったりと、イマイチおすすめしにくい機能であるというのが率直な感想でした。
今回は、Jamf社から出ているアプリ Jamf Setup と Azure AD を使って、共有のiPadをつくってみたいと思います。
この仕組みでは、ボタン1つ押して Azure の認証するだけで Azure AD 内のユーザの役割に基づいて、iPad のセットアップをすることができます。
また、端末の利用を終えるときも Jamf Reset アプリを使用することで、簡単に iPad の設定をリセットすることができます。
今回の内容は、下記の動画やガイドと併せてご覧いただくとよいと思います。
さあ、はじめましょう。
1. Azure AD側の準備
1-1. Microsoft Azure AD へのアプリケーション登録
Azure AD 側に認証に使用するアプリケーションを登録します。
Microsoft Azure Portal にログインして Azure Active Directory に入り、左側メニューの [アプリの登録] から新規登録で作成します。
作成後、「アプリケーションID」「ディレクトリ(テナント)ID」をメモしておいてください。
1-2. API 呼び出しに管理者の同意を与える
サイドバーの 管理 で、[API のアクセス許可] をクリックして所属する会社に対して [管理者の同意を与える] をクリックし、プロンプトが表示されたら、[はい] をクリックします。
1-3. App 認証設定の変更
サイドバーの「管理」で、[認証] をクリックし、詳細設定にある[パブリッククライアントフローを許可する] 設定を [はい] に設定します。
1-4. アプリロールの作成
サイドバーの「管理」で、[アプリロール] をクリックし、[アプリロールの作成]からロールを作成します。
このロールがセットアップ選択時に表示されるセットアップの種類になるため、ロールはセットアップの種類分作成します。
今回は例として「Engineer」「Sales」「Marketing」の3つを作成しました。
1-5. アプリロールのユーザ割り当て (任意)
1-4で作成したアプリロールをユーザに割り当てます。この工程は任意です。
割当を行うと、対象のユーザは割り当てられたロールに紐づくセットアップしか選択できなくなります。
ロールの割り当ては、 [アプリの登録] メニューからではなく、[エンタープライズアプリケーション]メニューの[ユーザーとグループの割り当て]から実施します。
※参考情報:アプリケーションへのアクセス制限をするには
今回ご案内した手順で設定を行うと、Azure ADに存在するユーザであれば、アプリケーションの割り当てをしなくても Jamf Setupによるデバイスのセットアップが実施できます。
割り当てたユーザのみセットアップ可能とする場合は、[エンタープライズアプリケーション] メニューの [プロパティ]から、「割り当てが必要ですか?」に 「はい」を選択してください。
2.Jamf Pro 側の準備
2-1. 役割の構成
2-1-1. 拡張属性の作成
Jamf Pro の [設定] > [デバイス管理] > [拡張属性] から、拡張属性を作成します。この拡張属性は利用者が選択したセットアップ種類を保持するためのものです。
2-1-2. Smart Device Group の作成
Jamf Pro の [デバイス]タブ [スマートデバイスグループ] から、スマートデバイスグループを作成します。
※拡張属性はSetupのパターン分作成します。例えば3つのSetupパターンを用意する場合は、スマートデバイスグループは3つ作成します。
2-1-3. パターン(役割)ごとのセットアップを作成
2-1−2で作成したスマートデバイスグループをSCOPEに指定してアプリケーションや、構成プロファイルの作成を行います。
ホーム画面のレイアウト指定や、アプリケーションの非表示設定等
2-1-4. 再登録設定の確認
Jamf Pro の [設定] > [グローバル] > [再登録] から、再登録設定を確認します。
再登録時に前回設定を参照しないよう、再登録時に設定されている拡張属性を消去する設定をします。
2-2. シングルサインオンの設定
※任意設定
Jamf Setup に Azure AD のアカウントでサインインしたときに、Jamf Setup が自動的にシングルサインオンセッションを開始することで、シングルサインオン拡張機能ペイロードをサポートする他の App にユーザがアクセスできるようになります。
実施内容は以下の2つです。
・Microsoft Authenticator の展開
・Azure AD のためのシングルサインオンエクステンションペイロードを展開
2-2-1. Microsoft Authenticator の展開
Apple Business/School Manager より Microsoft Authenticator を購入し、Jamf Pro の [モバイルデバイスApp] から配布します。ログインと同時に配布される必要があるため、配布方法には「Install Automatically」を選択するようにしてください。
また、[Appの構成]タブでは下記の設定をしてください。
<dict>
<key>sharedDeviceMode</key>
<true/>
</dict>
2-2-2. Azure AD のためのシングルサインオン拡張機能の構成プロファイルを展開
Jamf Pro の [デバイス]タブ [構成プロファイル] から、シングルサインオン機能拡張ペイロードを構成し、展開します。
【設定項目】
ペイロードタイプ:SSO
拡張識別子:com.microsoft.azureauthenticator.ssoextension
チーム識別子:空欄
サインオンのタイプ:リダイレクト (Redirect)
URL:以下の内容を全て設定します。
https://login.microsoftonline.com/
https://login.microsoft.com/
https://sts.windows.net/
https://login.partner.microsoftonline.cn/
https://login.chinacloudapi.cn/
https://login.microsoftonline.de/
https://login.microsoftonline.us/
https://login.usgovcloudapi.net/
https://login-us.microsoftonline.com/
カスタム構成:以下サンプル参照。 PLISTファイルを作成してアップロードしてください。ファイル名は任意のもので結構です。
サンプル:jamfsetup.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AppPrefixAllowList</key>
<string>com.microsoft.,com.apple.,com.google.</string>
<key>browser_sso_interaction_enabled</key>
<integer>1</integer>
<key>disable_explicit_app_prompt</key>
<integer>1</integer>
</dict>
</plist>
Google Chromeを使用する場合は、AppPrefixAllowListに com.google. を指定してください。
※要注意:マニュアルには「共有デバイスモード(sharedDeviceMode)を有効にするPLISTファイルをアップロードする」とあるのですが、その設定をアップロードすると認証に失敗してしまうため、添付の設定にしています。
2-3. Jamf Setup の構成と展開
Apple Business/School Manager より Jamf Setup を購入し、Jamf Pro の [モバイルデバイスApp] から配布します。ログインと同時に配布される必要があるため、配布方法には「Install Automatically」を選択するようにしてください。
また、[Appの構成]タブでは下記のような設定をしてください。
<dict>
<key>com.jamf.config.jamfpro.url</key>
<string>$JPS_URL</string>
<key>com.jamf.config.jamfpro.device-id</key>
<string>$JSSID</string>
<key>com.jamf.config.oauth.authorization-code</key>
<string>$OAUTH_AUTH_CODE</string>
<key>com.jamf.config.reinstall-code</key>
<string>$APP_CONFIG_REINSTALL_CODE</string>
<key>com.jamf.config.setup.extension-attribute.name</key>
<string> ★ここには拡張属性名をセット★ </string>
<key>com.jamf.config.setup.extension-attribute.options</key>
<array>
<string> ★ここには役割1の値をセット★ </string>
<string> ★ここには役割2の値をセット★ </string>
<string> ★ここには役割3の値をセット★ </string>
</array>
<key>com.jamf.config.ui.main-page.title</key>
<string>Make a Selection</string>
<key>com.jamf.config.ui.main-page.text</key>
<string>役割を選択してデバイスのセットアップをします。</string>
<key>com.jamf.config.ui.text.color</key>
<string>#444444</string>
<key>com.jamf.config.ui.main-page.button.text</key>
<string>Submit</string>
<key>com.jamf.config.ui.main-page.button.color</key>
<string>#37BB9A</string>
<key>com.jamf.config.ui.main-page.button.text.color</key>
<string>#F8F8F8</string>
<key>com.jamf.config.ui.success-page.title</key>
<string>Success</string>
<key>com.jamf.config.ui.success-page.text</key>
<string>ホームボタンを押すかスワイプアップでデバイスの使用を開始します。</string>
<key>com.jamf.config.ui.background.color</key>
<string>#F8F8F8</string>
<key>com.jamf.config.sso.login-type</key>
<string>AZURE</string>
<key>com.jamf.config.sso.client-id</key>
<string> ★ここにはAzureアプリケーションのクライアントIDをセット★ </string>
<key>com.jamf.config.sso.authority-uri</key>
<string> ★ここにはオーソリティID をセット https://login.microsoftonline.com/ここにAzureのテナントID/★ </string>
</dict>
詳細は、こちら↓ を参考にしてください。
Jamf Setup および Jamf Reset 構成ガイド:Jamf Setup の管理対象Appの構成
※Azure ADがない場合でも、設定中のAzure AD関連以外の箇所を設定することでJamf Setupそのものは使用できます。
2-4. Jamf Reset の構成と展開
Apple Business/School Manager より Jamf Reset を購入し、Jamf Pro の [モバイルデバイスApp] から配布します。ログインと同時に配布される必要があるため、配布方法には「Install Automatically」を選択するようにしてください。
また、[Appの構成]タブでは下記の設定をしてください。
<dict>
<key>com.jamf.config.jamfpro.url</key>
<string>$JPS_URL</string>
<key>com.jamf.config.jamfpro.device-id</key>
<string>$JSSID</string>
<key>com.jamf.config.oauth.authorization-code</key>
<string>$OAUTH_AUTH_CODE</string>
<key>com.jamf.config.reinstall-code</key>
<string>$APP_CONFIG_REINSTALL_CODE</string>
<key>com.jamf.config.jamfpro.device-id</key>
<string>$JSSID</string>
<key>com.jamf.config.setup.extension-attribute.name</key>
<string> ★ここには拡張属性名をセット★ </string>
<key>com.jamf.config.reset.soft-reset</key>
<false/>
<key>com.jamf.config.ui.main-page.title</key>
<string>Device Reset</string>
<key>com.jamf.config.ui.main-page.text</key>
<string>リセットを実行するとこのデバイスのすべてのコンテンツと設定が消去されます</string>
<key>com.jamf.config.ui.main-page.button.text</key>
<string>Reset</string>
<key>com.jamf.config.ui.main-page.button.text.color</key>
<string>#F8F8F8</string>
<key>com.jamf.config.ui.main-page.button.color</key>
<string>#E8573F</string>
<key>com.jamf.config.ui.background.color</key>
<string>#F8F8F8</string>
<key>com.jamf.config.ui.text.color</key>
<string>#444444</string>
<key>com.jamf.config.sso.login-type</key>
<string>AZURE</string>
<key>com.jamf.config.sso.client-id</key>
<string> ★ここにはAzureアプリケーションのクライアントIDをセット★ </string>
<key>com.jamf.config.sso.authority-uri</key>
<string> ★ここにはオーソリティID をセット https://login.microsoftonline.com/ここにAzureのテナントID/★ </string>
</dict>
詳細は、こちら↓ を参考にしてください。
Jamf Setup および Jamf Reset 構成ガイド:Jamf Reset の管理対象Appの構成
※Azure ADがない場合でも、設定中のAzure AD関連以外の箇所を設定することでJamf Resetそのものは使用できます。
3. ユーザエクスペリエンス
3-1. セットアップ
iPadのセットアップアシスタントが終了した状態からスタートします。Jamf Setup のアイコンから起動し、Setupボタンを押すとAzure ADへの認証画面が表示されます。(Azure ADにて設定しておけば、2要素認証も可能です。)
認証が終わると役割選択画面が表示され、選択した内容でセットアップされます。
(アプリロールをユーザに割り当てをしている場合は、対象権限のみが表示される)
Azure ADの有無による違いは、以下2点です。
・Azure ADへの認証(割り当て役割表示・シングルサインオン用)があること
・役割選択を管理者側で指定することができること
3-2. シングルサインオン
Teamsアプリと、SafariでMicrosoft 365 ポータル からシングルサインオンの確認をしてみました
Teamsアプリはアカウント入力のみ必要でしたが、新たな認証は不要で使用開始できました。Microsoft 365ポータルはURLにアクセスしただけで、対象アカウントのポータルが開きました。
(スクリーンショットは割愛します。)
3-3. リセット
Jamf Setup のアイコンから起動し、Resetボタンを押すと確認画面が表示され、端末のリセットが始まります。
おわりに
ちょうど新年度が始まったばかりで、情報システム担当のみなさまは、どちらでも組織変更対応や、新しいメンバー対応で忙しい日々を過ごされているかと思います。
今回のテーマは特に新しいテーマではありませんが、「iPadを業務で使いたいが、人数分の用意するほどではない」といった場合や、「新人研修用に一時的に貸し出す端末を用意したい」、「アルバイトメンバーが共有で使用する業務端末を用意したい」といったニーズにもマッチすると思い、取り上げてみました。
Azure ADがない場合でも、設定中のAzure AD関連の以外の部分のみでも動作するので、興味を持たれた方は設定してみてください。
以上、 エンジニアの中峯が担当いたしました。
最後まで読んでいただき、ありがとうございました。