OktaのDesktop Password Sync for macOSとJamf Proの登録カスタマイゼーションを組み合わせてみよう!【前編】
Oktaの「プラットフォームシングルサインオン」への対応
今回はシングルサインオン機能拡張の追加機能にあたるプラットフォームシングルサインオン拡張機能(以下PSSOe)について紹介します。
2022年のWWDCにて発表されたPSSOeは、IdPに登録されている認証資格情報をmacOSで流用できるように拡張された機能ですが、発表当初はIdP側の対応ができておらず機能を利用することができませんでした。
2023年のWWDCでは機能強化が図られたPSSOeですが、Oktaはいち早くPSSOeの対応を表明し、昨年の秋にはDesktop Password Sync for macOSの提供を開始しています。
Desktop Password Syncで今現在何が実現できるのか。またJamf Proの機能と組み合わせることで、どのようなことが出来るのかについてご紹介します。
目次
これまでの「シングルサインオン機能拡張」についてはブログはこちらです。
【前編】ドメイン参加せず社内リソースに簡単にアクセスできる「シングルサインオン機能拡張」を検証!
【後編】Entra ID を使用するアプリやWebサイトへのシングルサインオンを実現する「シングルサインオン機能拡張」を検証!
Desktop Password Syncで何ができるのか
提供される機能
macOSに対してDesktop Password Syncを設定することで、以下の機能をユーザーに提供することができるようになります。
- 既存のローカルアカウントのパスワードとOkta認証資格情報のパスワードの同期
- 同期したパスワードを使用してTouch IDやApple WatchでMacのロックを解除することができる
- システム設定からOktaとの接続情報を確認することができる
MacへのログインパスワードをOktaのパスワードと同期させるだけではなく、構成によってはDesktop Password Syncの登録フロー時にユーザーをOkta FastPassに登録したり、Touch IDのパスワードとしても登録したりと様々な展開を行うことができるかと思います。
Desktop Password Syncが利用可能になるまでの流れについてご紹介しつつ、設定方法についてご説明いたします。
利用可能になるまでの流れ
Desktop Password Syncは以下のプロセスを経て、初めてOktaの認証資格情報を利用することができるようになります。
- ローカルアカウントの権限にてPSSOeにて定義されているOktaへ接続
- Oktaの認証資格情報を使用してデバイスをOktaに登録する
- Oktaの認証資格情報を使用してSSO トークンを取得する
まず最初にOktaへMacを登録するための認証を実行する必要があります。認証によりOktaユーザーであることが証明されることでOkta上にMacが登録され、Oktaに登録されているアカウント情報を参照することができるようになります。続いてパスワードを同期するために、最初の認証を実行したOktaアカウントの資格情報にて改めて認証を実行する必要があります。認証後、ローカルアカウントのパスワードはOktaアカウントのパスワードに置き換わり、同期が実行されるようになります。
PSSOeが適用されたMacにてシステム設定 > ユーザとグループにアクセスし、ネットワークアカウントサーバの編集をクリックすると、プラットフォームシングルサインオンの項目が追加され、構成プロファイルで定義したOktaが表示されていることを確認することができます。
同じく、作成されているローカル管理者アカウントのインフォメーションアイコン(アカウント名の右側にあるiのアイコン)をクリックすることで、プラットフォームシングルサインオンの項目であるログイン、方法、登録、トークンといったパラメータを確認することができるようになっています。
この登録が実行されていればOktaの認証資格情報を利用する準備ができたことになり、更にSSOトークンを取得することで作成されたローカルアカウントとOktaのアカウントが同期され、パスワードの更新はOktaを通じて実行するように設定されます。
■登録までのフロー
前置きが長くなりましたが、Oktaのパスワード同期機能であるDesktop Password Syncをもとに、実際に設定を作成して挙動を確認してみたいと思います。
Okta Desktop Password Syncの設定
OktaのDesktop Password Syncを設定すると、既存のローカルアカウントのパスワードをOktaと同期させることができるようになります。また条件によってはアプリケーションサービスへのSSOも合わせて可能となります。
Desktop Password Syncを使用するための前提条件は以下になります。
・Okta VerifyをmacOSデバイスにデプロイする
・デスクトップパスワード同期のデバイス管理プロファイルを構成する
それでは実際にDesktop Password Syncの設定を作成してみましょう。
今回もJamf Proを使用してご説明いたします。
※ 今回はOkta Verifyアプリの登録方法については割愛いたします。
Okta Desktop Password Syncアプリの構成
1. Oktaの「Admin Console」にログインし、アプリケーション > アプリ・カタログを参照の順にクリックします
2. 「検索」ウインドウに「Desktop Password Sync」と入力し、検索に候補に上がった「Desktop Password Sync」アプリを選択します
3. 作成した「Desktop Password Sync」アプリを選択します
4. 「サインオン」タブをクリックして「クライアントID」をコピーしておきます
5. 「割り当て」タブをクリックしてアプリケーションを使用するユーザーもしくはグループを登録します
6. 「保存」をクリックしてアプリケーションの編集を終了します
以上でOkta側の設定は完了です。
続いて、Jamf Proにて構成プロファイルを作成しましょう。
構成プロファイルの作成
1. Jamf Pro にログインし、コンピュータ > 構成プロファイルにアクセスし、+新規ボタンをクリックします
2. 一般ペイロードにてプロファイル名を入力します
a. 名称:任意の名称を入力します。例では999.Okta Desktop Password Syncとしています
b. カテゴリ:必要に応じて予め作成しておいたカテゴリを選択します(オプション)
3. シングルサインオン機能拡張ペイロードを選択し、+追加をクリックします
4. 下記の設定を行います
c. ペイロードタイプ:今回は「SSO」を選択します
d. 拡張識別子:「com.okta.mobile.auth-service-extension」を入力します
e. チーム識別子:「B7F62B65BN」を入力します
f. サインオンのタイプ:「リダイレクト」を選択します
g. URL:Desktop Password Syncを使用するための必要なURLを入力します
・https://契約しているOktaのドメイン/device-access/api/v1/nonce
・https://契約しているOktaのドメイン/oauth2/v1/token
h. プラットフォームSSOを使用する:トグルスイッチをクリックして「有効」にします
i. 認証方式:「パスワード」を選択します
5. 関連するドメインペイロードを選択し、+追加をクリックします
6. 下記の設定を行います
a. アプリ識別子:「B7F62B65BN.com.okta.mobile.auth-service-extension」を入力します
b. 関連するドメイン:「authsrv:」に続けて契約しているOktaドメインを加えた値を入力します:例:「authsrv:契約しているOktaのドメイン」
7. 「アプリケーションとカスタム設定」ペイロードを選択し、「アップロード」を選択。+追加をクリックします
8. 下記の設定を行います
a. 環境設定ドメイン:「com.okta.mobile」を入力します
b. プロパティリスト:以下の値を入力します
※ 「契約しているOktaのドメイン」は契約している自社のOktaドメインに置き換えてください
※ 「クライアントID」は「Desktop Password Sync」アプリ作成の手順4でコピーした値に置き換えてください
9. +追加をクリックします
10. 下記の設定を行います
a. 環境設定ドメイン:「com.okta.mobile.auth-service-extension」を入力します
b. プロパティリスト:以下の値を入力します
※ 「契約しているOktaのドメイン」は契約している自社のOktaドメインに置き換えてください
※ 「クライアントID」は「Desktop Password Sync」アプリ作成の手順4でコピーした値に置き換えてください
11. Scopeに配布対象のMac を追加し、画面右下の保存をクリックしてプロファイルを保存・配布します
設定は以上となります。
登録済みの「Okta Verify for macOS」も合わせて配布しておきます。
それでは、挙動を確認してみましょう。
動作を確認してみよう
Oktaへの登録とパスワード同期
Okta Verify for macOSがインストールされていることを確認後、パスワード同期のテストを開始します。
1. 通知センターに表示されている「登録が必要です」の通知から「登録」をクリックします
2. メッセージが表示されますので「設定」をクリックします
3. Macの管理者アカウントのパスワードを入力し「OK」をクリックします
4. Okta Verifyのメッセージが表示されるので「設定」をクリックします
5. Oktaの認証が要求されますのでOktaに登録されている認証資格情報(ユーザー名)を入力し「次へ」をクリックします
6. 任意のセキュリティ方式を選択して認証を続けます
7. 本人確認(Oktaへのデバイスの登録)が完了します。Safariを終了しておきます
8. Okta Verifyのメッセージが表示されるので「続行」をクリックします
9. Oktaアカウントのパスワードを入力し「サインイン」をクリックします
10. 通知センターに同期が完了した旨の通知が表示されれば、パスワードの同期は完了です
11. パスワードの同期が完了します。特にメッセージは表示されませんが、そのままご利用いただける状態になっております
続いて、作成されたアカウントのステータスを確認してみましょう。
PSSOeのステータスを確認してみる
Oktaへ登録されているのか、SSOトークンが取得できているのかを確認してみましょう。
1. システム設定を起動して、ユーザとグループをクリックします。続けてネットワークアカウントサーバの「編集」をクリックします
2. プラットフォームシングルサインオンに追加されているOkta Verifyが「登録済み」になっているかを確認します。問題がなければ「完了」をクリックします
3. 現在ログインしているローカルアカウント名の右側にある「インフォメーションアイコン(i)」をクリックします
例ではアカウント「DEMO Too」にてログインしています
4. プラットフォームシングルサインオンの項目にある「登録」と「トークン」が、それぞれ「登録済み」「SSOトークンがあります」になっているかを確認します。問題がある場合は「修復」もしくは「認証」を実行して、再度登録作業を実施します。問題がなければ「OK」をクリックします
PSSOeを構成することで、システム設定のユーザとグループから登録のステータスを確認することができるようになります。
この設定を適用することでローカルアカウントの作成・パスワード同期だけではなく、環境によってはアプリケーションへのシングルサインオンが実行できるようになりますので、ユーザーの利便性が向上することは間違いないでしょう。
登録カスタマイゼーションとDesktop Password Syncを組み合わせる
ここまでDesktop Password Syncについて説明させていただきましたが、残念ながらOktaの認証資格情報を使用してのローカルアカウントの作成は実現できておりません。
そこで、Jamf Proの機能である登録カスタマイゼーションと先にご紹介いたしましたDesktop Password Syncを使用して、Oktaの認証資格情報を使用してローカルアカウントを作成しつつ、パスワードを同期させる方法についてご案内したいと思います。
LDAPサーバの登録
登録カスタマイゼーションを使用してローカルアカウントの作成を実行するために、LDAPサーバの設定を使用します。今回はOktaのLDAPインターフェイスと連携してローカルアカウントの作成を行いたいと思います。
1. Jamf Pro にログインし、設定 > システム > LDAPサーバにアクセスし、+新規ボタンをクリックします
2. ディレクトリサービスを選択で「Configure Manually」を選択し「次へ」をクリックします
3. 接続タブは下記を参照して設定します
a. 表示名:任意の名称を登録します。今回は「Okta_LDAP」としています
b. ディレクトリサービス:「Configure Manually」を選択します
c. SSLを使用:チェックを入れます
d. サーバとポート:「LDAPインターフェイスの接続設定(https://help.okta.com/ja-jp/content/topics/directory/ldap-interface-connection-settings.htm)」の「ホスト名」に準じて「サブドメイン.ldap.ドメイン.com」の値を入力します。ポートはデフォルトの「636」を入力します
e. 証明書:何も登録しません
f. LDAPプロキシサーバを有効にする:チェックは入れません
g. プロキシサーバおよびプロキシバインディングIPアドレスとポート番号:何も設定しません
h. 認証タイプ:「Simple」を選択します
i. LDAPサーバアカウント / 識別ユーザ名:「LDAPインターフェイスの接続設定(https://help.okta.com/ja-jp/content/topics/directory/ldap-interface-connection-settings.htm)」の「ユーザ名」に準じて「uid=Okta管理者アカウント名,dc=サブドメイン,dc=oktapreview,dc=com」の値を入力します
j. パスワード:Okta管理者アカウントのパスワードを入力します
k. 接続・検索タイムアウト:デフォルトの値のままにします
l. 委任応答:「Use default from LDAP service」を選択します
m. 検索時にワイルドカードを使用:チェックを入れます
4. マッピングタブは下記を参照して設定します
■User Mappings
a. Object Class Limitation:「All ObjectClass Valuses」を選択します
b. Object Class:「inetOrgPerson」を入力します
c. ベース検索:「LDAPインターフェイスの接続設定(https://help.okta.com/ja-jp/content/topics/directory/ldap-interface-connection-settings.htm)」の「ベースDN」に準じて「ou=users,dc=サブドメイン,dc=oktapreview,dc=com」の値を入力します
d. スコープ検索:「All Subtrees」を選択します
e. 属性マッピング / ユーザID:「uid」を入力します
f. 属性マッピング / ユーザ名:「emailPrefix」を入力します
g. 属性マッピング / 本名:「cn」を入力します
h. 属性マッピング / Eメールアドレス:「mail」を入力します
i. 属性マッピング / ユーザUUID:「objectGUID」を入力します
※補足
本来、ユーザ名にはuidを指定します。ただしuidを指定した場合、Macで作成されるアカウント名(ホームディレクトリに適用される名前)がメールアドレスになってしまいます。今回はOkta側で属性値としてカスタムユーザ名を事前に作成しプロパティとしてemailPrefixを適用しています。このフィールドにサンプルで用意したアカウントdemo@too.co.jpのdemoの部分を登録しておくことで、Macで作成されるアカウント名としてdemoが適用されるようになります。
■User Group Mappings
a. Object Class Limitation:「All ObjectClass Valuses」を選択します
b. Object Class:「groupofUniqueNames」を入力します
c. ベース検索:「LDAPインターフェイスの接続設定(https://help.okta.com/ja-jp/content/topics/directory/ldap-interface-connection-settings.htm)」の「ベースDN」に準じて「ou=groups,dc=サブドメイン,dc=oktapreview,dc=com」の値を入力します
d. スコープ検索:「All Subtrees」を選択します
e. 属性マッピング / グループID:「uniqueIdentifier」を入力します
f. 属性マッピング / グループ名:「cn」を入力します
g. 属性マッピング / グループUUID:「objectGUID」を入力します
■User Group Membership Mappings
a. Membership Location:「Group Object」を選択します
b. メンバーユーザのマッピング:「uniqueMembers」を入力します
c. LDAP ディレクトリの検索時にメンバーユーザの識別名を使用:チェックを入れます
d. LDAP ディレクトリの検索時には、LDAP compare operation (比較オペレーション) を使用:チェックを外します
e. 属性を返すときにメンバーユーザのマッピングを含める:チェックを外します
f. メンバーシップ計算の最適化:チェックを外します
5. 画面右下の「保存」をクリックして設定を保存します
続いて、登録カスタマイゼーションの設定を行います。
登録カスタマイゼーションの設定
1. 設定 > グローバル > 登録カスタマイゼーションにアクセスし、+新規ボタンをクリックします
2. 「一般」ペイロードにて表示名と説明文を入力します
a. 表示名:任意の名称を入力します。例では「Okta_LDAP」としています
b. 説明:この設定に関する説明文を入力します。必須項目となります
3. 事前登録ペインの「+ ペインを追加」をクリックします
4. ペインを追加ウインドウに必要な項目を入力します
a. 表示名:任意の名称を入力します。例では「Okta_LDAP」としています
b. ペインの種類:ディレクトリサービス認証を選択します
c. タイトル:Macのセットアップ中に表示されるタイトル名を入力します
d. ユーザ名の文言:登録中にログインページのユーザ名フィールドに表示する文言を入力します
e. パスワード用文言:登録中にログインページのパスワードフィールドに表示する文言を入力します
f. [前へ] ボタンの文言:戻るためにユーザがタップまたはクリックするボタンの名前を入力します
g. ログインボタン用文言:ユーザがログインするためにタップまたはクリックするボタン名を入力します
f. ディレクトリサービスグループ:登録アクセスを構成する ディレクトリサービスグループを登録する場合に使用します(オプション)
5. 適用をクリックします
6. 画面右下の保存をクリックします
最後に事前登録の設定を行います。
事前登録の設定
1. コンピュータ > 事前登録 > 設定値 > 一般ペイロード にアクセスし、画面右下の編集ボタンをクリックします
※例では001.Tooという名称の設定を選択しています
2. 登録カスタマイゼーション構成をNoneから先ほど作成した設定名に変更します
※例ではOkta_LDAPという名称の設定を選択しています
3. アカウント設定ペイロードをクリックし下記の設定を行います
a. プライマリアカウント情報の事前入力:チェックを入れます
b. 情報の種類:デバイス所有者の詳細情報に変更します
c. プライマリアカウント情報をロックします:必要に応じてチェックを入れます
4. 画面右下の保存をクリックします
以上で必要な設定が完了いたしました。自動デバイス登録時の挙動を動画で確認してみましょう。
動作を確認してみよう
それでは、動画で動作を確認してみましょう。
動画では自動デバイス登録でMacをセットアップする途中で、Oktaアカウントでの認証画面がでてきます。
認証後にアカウント作成画面に移行しますが、既にOktaから収集したアカウント情報が適用されていることを確認することができます。
パスワード欄のみ空白のため、一旦は任意のパスワードを登録してセットアップを進めます。
セットアップアシスタント完了後にパスワード同期のための作業を進めることで、ローカルアカウントのパスワードとOkta側のパスワードが同期されます。
まとめ
いかがでしたでしょうか?
パスワードの同期のみとはいえ、OktaのアカウントとMacのローカルアカウントの情報を同期させることが可能となったことで、パスワード管理が格段に向上するのではないでしょうか。
またJamf ProとOktaを連携することで、ローカルアカウントの作成もある程度自動化できるのもポイントだと思います。
今後OktaのPSSOeが強化されれば、登録カスタマイゼーションを使用しなくてもローカルアカウントの作成まで行えるようになるでしょう。
OktaとJamf Proを利用しているのであれば、是非お試しいただきたと思います。
記事は2024年3月28日現在の内容です。
この記事に付けられたタグ
おすすめ記事を見る