Jamf Pro + Microsoft Entra ID で macOS プラットフォーム シングル サインオン (PSSO) を構成する
今回は、2024年5月にパブリックプレビューとなった Microsoft Entra ID macOS プラットフォーム シングル サインオン (PSSO)について、よくご質問をいただくJamf Connectとの違いや設定方法、気づいたことなどを書きたいと思います。
1. はじめに macOS プラットフォーム シングル サインオン (PSSO)とは
macOS プラットフォーム シングル サインオン (以下、PSSOとします)により、
Microsoft Entra ID 資格情報を使用して以下のことができるようになります。
Macにローカルアカウントを作成する
Macのローカルアカウントとパスワードを同期する
Entra IDに登録されたアプリやWebサイト、デスクトップやアプリケーションへのシングルサインオン
展開の要件は以下のとおりです。
展開の要件
macOS 14 Sonoma 以上の Mac (macOS 13 Ventura はサポートされていますが、macOS 14 Sonoma 以降が推奨されています)
Microsoft Intune ポータル サイト アプリ バージョン 5.2404.0 以降がインストールされている
2. Jamf Connectとの違い
ローカルアカウントの作成やローカルパスワード同期といった、似た機能をもつJamf Connectと比較されることが多いと思いますが、
PSSOとJamf Connectの最も大きな違いは、Microsoft Entra ID 資格情報の利用前に端末をEntra IDに登録する必要があるか否かです。
Jamf Connectでは、Entra IDに登録に端末を登録することなくMicrosoft Entra ID 資格情報を利用できます。
PSSOでは、Entra IDに登録に端末を登録した後からMicrosoft Entra ID 資格情報が利用できるようになります。
つまり、Jamf Connect は自動デバイス登録からのユーザ作成に使用することができ、PSSOはあらかじめ作成したローカルアカウントに対してEntra IDのカウントを紐づける動作になります。
この違いは、Macの自動デバイス登録からのキッティングプロセスに利用者自身のアカウント作成とIdPへのログインのプロセスを違和感なく組み込めるか?
という点に影響します。
今回はできるだけこの違いを意識せずにPSSOを使えるよう、登録カスタマイゼーションの機能を活用した導入のフローをご紹介しようと思います。
MDMへの登録の過程では、Jamf Connect っぽくIdPの認証をしつつ、PSSO設定はMDM登録後に行ってパスワードの同期をとるようにします。
3. 設定開始
早速実践してみましょう!
今回ご紹介するフローは以下の設定が必要です。
・シングルサインオン設定
・登録カスタマイゼーション構成
・事前登録へ登録カスタマイゼーション構成を追加
・クラウドアイデンティティプロバイダ設定
・Intune ポータルサイトアプリの展開
・構成プロファイルの作成
それぞれポイントのみ説明していきます。
3-1. シングルサインオン設定
Microsoft Entra SSOとJamf Proを統合し、登録カスタマイゼーション構成にて使用します。実施手順はこちらをご覧ください。
<ナビゲーション>
Jamf Proの[設定]> システム > シングルサインオン
※登録カスタマイゼーションにて「LDAP認証」する場合は、こちらは設定せずLDAP設定をしていただければOKです。
3-2. 登録カスタマイゼーション構成
登録時にEntra IDへの認証要求をするために登録カスタマイゼーション設定をしておきます。「シングルサインオン」もしくは「LDAP認証」が使用できます。
今回は「シングルサインオン」で設定します。
<ナビゲーション>
Jamf Proの[設定]> グローバル > 登録カスタマイゼーション
3-3. 事前登録へ登録カスタマイゼーション構成を追加
Jamf Proの[コンピュータ]> 事前登録から、自動デバイス登録時に 3−2. で作成した登録カスタマイゼーション設定を使用してEntra IDへの認証を行うように設定しておきます。
ポイントは、[アカウント設定] セクションにて 「プライマリアカウント情報の事前入力」を行うようにして、その値の編集を可能にしておく点です。
値の編集を可能にしておく理由は、作成されるアカウントのユーザ名が ユーザー プリンシパル名(メールアドレス形式)で設定されてしまうため、任意の表示へ変更できるようにしています。
ホームディレクトリやユーザ名がメールアドレス形式で問題なければ、値の編集は可能にしなくても結構です。
3-4. クラウドアイデンティティプロバイダ設定
Jamf Pro の インベントリ情報に利用ユーザの情報を表示するためにクラウドアイデンティティプロバイダとの連携設定をしておきます。
実施方法は、Jamf Pro ドキュメントの システム設定>クラウドアイデンティティプロバイダ より Microsoft Entra ID 統合 のページを参考に設定してください。
<ナビゲーション>
Jamf Proの[設定]> システム > クラウドアイデンティティプロバイダ
3-5. Intune ポータルサイトアプリの展開
Jamf Proのポリシーから Installomator or インストールパッケージの実行。もしくは Jamf Pro の Appインストーラ 等で Intune ポータルサイトアプリをインストールする準備をしておきます。
スムーズなユーザ体験のために、以下の設定をオススメします。
Intune ポータルサイトアプリは、ポリシーを使用して登録完了時にインストールする
インストール用のポリシーの最後にインベントリ更新を実施する
Intune ポータルサイトアプリがインストールされていることをクライテリアとするスマートグループを作成し、後述する構成プロファイルのSCOPEに設定する
3-6. 構成プロファイルの作成
こちらの内容を参考に、PSSO 拡張機能の構成プロファイルを作成します。
サンプル:psso.plist
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>AppPrefixAllowList</key>
<string>com.microsoft.,com.apple.,com.jamf.,com.jamfsoftware.</string>
<key>browser_sso_interaction_enabled</key>
<integer>1</integer>
<key>disable_explicit_app_prompt</key>
<integer>1</integer>
</dict>
</plist>
各組織にて、必要なプレフィックスを追加してください。
4. 動作確認
4-1. 自動デバイス登録からの展開
準備ができたら、対象のMacを 3-3. で構成した事前登録のSCOPEに割当を行ってから、初期化してください。
4-1-1. リモートマネジメント画面の表示。[登録]ボタンを押下
4-1-2. 登録カスタマイゼーション画面の表示
4-1-3. Entra ID アカウント入力
4-1-4. Entra ID パスワード入力
4-1-5 ・6. 多要素認証・確認画面等
4-1-7 ・8. コンピュータアカウント作成
初期状態ではEntra IDから取得されたアカウント名(@マーク以下があるメールアドレス形式)が表示されています。
必要に応じてアカウント名を編集し、不要な部分を削除してください。
登録完了後、少し待つと登録の通知が表示さます。
4-1-9. 登録通知の表示。
4-1-10. プラットフォームSSOのダイアログ表示
ローカル管理者アカウントで開始する必要があります。
4-1-11. IdPのアカウント入力
4-1-12. IdPのパスワード入力。
ここまでの作業でMacはEntra IDへ登録されます。(まだパスワードは同期されていません。)
ここからの作業で、ログインアカウントとサインインするMicrosoft Entra IDのアカウントを紐付けて同期します。
4-1-13. 紐づけ対象のEntra ID アカウントへのサインイン
4-1-14. パスワードがアップデートされた旨の通知
4-1-15. 登録完了後の確認
左 :ネットワークアカウントサーバ画面 右:ユーザ情報画面
4-2. 利用中端末へ展開する場合
上記 4-1-9. 以降の動作と同じになります。
5. 気づいたこと・注意点
① PSSOによる認証を行うユーザには、ユーザごとのMFA は設定しないようにしましょう。「上記4-1-13. Entra ID へのサインイン」で正しいパスワードを入力しても認証が通らずハマりました。。
( きちんと条件付きアクセスの運用ができていれば、ハマることはないのかも知れませんが。別のブログでも同じ問題でハマったような気が・・・学習しないな・・・)
②デバイスコンプライアンスとの両立について
春先より色々と非対応の情報が出ていましたが・・・実際に確認した結果、両立は可能でした。MacをEntra ID登録した後、ターミナルから下記のコマンドを実行してください。
/Library/Application\ Support/JAMF/Jamf.app/Contents/MacOS/Jamf\ Conditional\ Access.app/Contents/MacOS/Jamf\ Conditional\ Access gatherAADInfo
もしくは、Jamf Pro のポリシーから下記のスクリプトを実行して準拠状況を反映してください。
#!/bin/bash
CURRENT_USER=$( /usr/bin/stat -f "%Su" /dev/console )
echo "現在の使用者:$CURRENT_USER"
# 管理者でのコマンドの実行
sudo jamf manage
# 使用者でのコマンドの実行
sudo -u $CURRENT_USER /Library/Application\ Support/JAMF/Jamf.app/Contents/MacOS/Jamf\ Conditional\ Access.app/Contents/MacOS/Jamf\ Conditional\ Access gatherAADInfo
exit 0
他、気になった点としては
③Entra IDへのデバイス登録毎に新規のデバイスレコードがつくられます。
不要なレコードを削除するような運用が必要だと思います。
④(上述していますが、)作成されるアカウントのユーザ名が ユーザー プリンシパル名(メールアドレス形式)で設定されてしまう点は、アカウント名を変更可とする設定と運用での対応が必要です。
おわりに
Jamf Pro の標準機能(登録カスタマイゼーション)とEntra ID のみで、登録時のIdP認証(多要素認証)とローカルアカウントとIdPのパスワード同期の仕組みが作成できました。
Entra ID への登録動作や、パスワード同期時の動作はやや煩雑なため、利用者へのガイドが必要な部分はありますが、投資を抑えつつIdPとのパスワード同期を実施する手段としては有効だと感じました。ぜひお試しください!
今回の内容は昨年の夏頃に公開しようとしていたのですが、下書きのまま年を越してしまい、2025年最初の公開となってしまいました。
なかなか公開頻度があがらず、もどかしい思いもありますが、マイペースにみなさんのお役に立てそうな情報を発信していきたいと思います。
本年も引き続き Magic Hat Tech Blog をよろしくお願いいたします。
最後まで読んでいただき、ありがとうございました。
以上、 エンジニアの中峯が担当いたしました。