IaaS

Jamf Connect を使って Mac に Okta アカウントでログインしてみた

こんにちは、きょーこです。

Jamf Connect Login を使って、 Okta アカウントで Mac にローカルアカウントを作成してみました。その手順や挙動について書いていきます。

前回 Jamf Connect を使って Mac に AzureAD アカウントでログインしてみた という Blog を書いているので、「そもそも Jamf Connect って一体なんなの?」 という方や 「AzureAD を使いたい!」という方はぜひ読んでみてください。

今回使用する IdP は Okta になります。

注意

AzureAD の時と同様で Jamf Connect Login で作成されるのはローカルアカウントですので、作成されたローカルアカウントと IdP のパスワードは同期されているわけではありませんのでご注意を。

本手順で必要なもの

  • Jamf Connect Configuration (Jamf Nation からダウンロード)
  • Jamf Connect ライセンス

参考にしたドキュメント

工程

  1. Jamf Connect Login と Okta を統合
  2. Jamf Connect Configuration で 署名済み構成プロファイルを作成
  3. 自動 FileVault ログイン無効化 plist の作成
  4. Jamf Pro で 構成プロファイルを3つ作成
  5. Jamf Pro でポリシーを1つ作成
  6. Mac 端末に Okta アカウントでログイン

1. Jamf Connect Login と Okta を統合

まずは、Okta に管理者アカウントでアクセスして Jamf Connect と Okta を統合する作業を行います。 この統合 App を作成するのは任意のようですが、今回は統合 App を元に Mac 上に作成するローカルユーザーの権限を決めたいので作成しました。

Mac に作成するローカルユーザーを「管理者権限ユーザー」と「標準ユーザー」のどちらで作成するか判別をするために統合 App は 2つ 必要です。作成手順は同様です。

ただ、App の名前は管理者なのか標準なのかわかるように設定してください。

Mac に作成するローカルアカウントの権限を Jamf Connect Configuration で指定する場合は統合 App が不要なので、2-2. Okta 統合 App を作成しない場合の構成プロファイルに進んでください。

1-1. 統合 App の登録

  • Okta の管理ページにアクセスします。
  • [Applications] > [Applications] > [+ Add Applications] をクリックします。
  • [Create New App] をクリックします。
  • 「Create a New Application Integration」 ウィンドウで以下を選択して [Create] ボタンをクリックします。
    • Platform : Native app
    • Sign on method : OpenID Connect
  • 「Create OpenID Connect Integration」 ウィンドウで以下を設定して [Save] ボタンをクリックします。
    • Applicatin name : Jamf Connect Login Okta など、分かりやすい任意の名前。管理者権限アカウント用の App には Jamf Connect Login Okta Admin などの名前をつけてください。
    • Login redirect URls : jamfconnect://127.0.0.1/jamfconnect
  • 作成した統合 App の [General] > [Edit] をクリックして一部編集を行います。
  • 「Allowed grant types」 の Implicit (Hybrid) にチェックを入れ、その配下にあるAllow ID Token with implicit grant typeAllow Access Token with implicit grant type にもチェックを入れたら [Save] ボタンをクリックします。

1-2. 統合 App にユーザーを割当

作成した 2つ の統合 App にそれぞれユーザーを割り当てます。

  • 標準ユーザー用 App には 「Jamf Connect を利用するユーザー全員」を割り当てます。
  • 管理者ユーザー用App には「Mac 端末上で管理者権限を付与したいユーザー」のみを割り当てます。

つまり管理者ユーザーにしたい場合は 2つ の App に割り当てをしないといけないません。

  • 作成した統合 App を開きます。
  • [Assignments] > [Assign] をクリックして [Assign to People] もしくは [Assign to Groups] を選択します。
  • 対象を選択したら [Done] をクリックします。

2つの App それぞれで上記手順を行ってください。

また、各 App の Client IDLogin redirect URIs はこのあとの作業で使用するので控えておいてください。

2. Jamf Connect Configuration で 署名済み構成プロファイルを作成

Jamf Connect Configuration を使用して Jamf Connect Login Okta 版の構成プロファイルを作成します。 構成プロファイルは Jamf Pro にアップロードする際に証明書で署名済みである必要があります。

署名証明書の作成方法および保存時に署名を要求されるようにする設定方法については前回の Jamf Connect を使って Mac に AzureAD アカウントでログインしてみた ブログで記載しているのでわからない方は参考にしてみてください。

2-1. Jamf Connect Login 構成プロファイルの作成

この手順は統合 App を作成している場合の手順になります。作成していない場合は次の手順に進んでください。

  • Jamf Connect Configuration を起動します。
  • 左上の [+New] をクリックします。
  • Setup Assistant ウィンドウで以下を設定し、[Advanced Setup] をクリックします。
    • Identity Provider:Okta
    • Auth Server:ドメイン名
  • Okta 項目で以下を追加設定します。
    • Admin Client ID:管理者ユーザー用統合 App の Client ID
    • Access Client ID:標準ユーザー用統合 App の Client ID
  • Advanced OIDC 項目で以下を追加設定します。
    • Token Caching:チェックを入れます。
    • OIDC Redirecy URl:jamfconnect://127.0.0.1/jamfconnect
  • 今回はオプション設定を追加するので [Login] をクリックして追加設定をします。
    • Authentication:チェックを入れることでログイン時にユーザーはローカル認証ができなくなります。
    • Local Fallback:チェックを入れることで、ログイン時にインターネット接続ができない場合ローカル認証ができるようになります。Okta アカウントでログインする場合は MFA がスキップされます。
  • メニューバーの [File] > [Save] をクリックして表示されたウィンドウで Jamf Connect Login を選択して保存します。

  • 署名に使用する証明書を聞かれるので、署名証明書を選択して [Choose] ボタンをクリックして任意の名前で任意の場所に保存します。

これで Jamf Connect Login 用の構成プロファイルは完成です。

2-2. Okta 統合 App を作成してない場合の構成プロファイル

※この手順は統合 App を作成してない場合の手順です。不要な場合は次の手順に進んでください。

  • Jamf Connect Configuration を起動します。
  • 左上の [+New] をクリックします。
  • Setup Assistant ウィンドウで以下を設定し、[Advanced Setup] をクリックします。
    • Identity Provider:Okta
    • Auth Server:ドメイン名
  • 今回はオプション設定を追加するので [Login] をクリックして追加設定をします。
    • Authentication:チェックを入れることでログイン時にユーザーはローカル認証ができなくなります。
    • User Creation:チェックを入れることで作成されるローカルアカウント全てに管理者権限が付与されます。AzureAD で検証していたときは再起動すると標準ユーザーに戻ってしまうという問題がみられましたが、今回はその問題は見られませんでした。
    • Local Fallback:チェックを入れることで、ログイン時にインターネット接続ができない場合ローカル認証ができるようになります。Okta アカウントでログインする場合は MFA がスキップされます。
  • メニューバーの [File] > [Save] をクリックして表示されたウィンドウで Jamf Connect Login を選択して保存します。

  • 署名に使用する証明書を聞かれるので、署名証明書を選択して [Choose] ボタンをクリックして任意の名前で任意の場所に保存します。

3. FileVault 有効時の自動ログイン回避 plist の作成

FileVault が有効である時に、ディスクの暗号化解除後、Jamf Connect Login 画面が省略されてしまうことがあるそうです。 それだと ユーザーが意識的にログアウトしない限り Jamf Connect Login 画面が表示されないようになってしまいます。

なので自動 FileVault ログインを無効にするための設定を plist ファイル で作成します。 作成した plist は Jamf Pro にアップロードして配布します。

3-1. plist の作成

  • 任意のエディットを起動します。
  • 以下の文字列をコピペして 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>DisableFDEAutoLogin</key>
        <true/>
      </dict>
    </plist>

4. Jamf Pro で 構成プロファイルを3つ作成

Jamf Pro にアクセスして以下 3つ の構成プロファイルを作成します。

  • Jamf Connect ライセンス配布構成プロファイル
  • Jamf Connect Login 構成プロファイル
  • FileVault自動ログイン無効化構成プロファイル

4-1. Jamf Connect ライセンス配布構成プロファイル

  1. [コンピュータ] > [構成プロファイル] > [アップロード] をクリックします。
  2. ライセンスファイルを選択して [アップロード] をクリックします。
  3. 一般情報を任意で設定し、[Scope] でライセンスを配布する対象を設定したら保存します。

4-2. Jamf Connect Login 構成プロファイル

  • [コンピュータ] > [構成プロファイル] > [アップロード] をクリックします。
  • Jamf Connect Configuration で作成した構成プロファイルを選択してアップロードします。
  • [Scope] で構成プロファイルを配布する対象を設定たら [保存] します。

4-3. FileVault 自動ログイン無効化構成プロファイル

  • [コンピュータ] > [構成プロファイル] > [新規] をクリックします。
  • [一般] を任意の情報で設定します。
  • [カスタム設定] > [構成] をクリックします。
  • [環境ドメイン設定] に com.apple.loginwindow と入力します。
  • [PLIST ファイルのアップロード] をクリックして先ほど作成した plist ファイルを選択しアップロードします。
  • [Scope] で構成プロファイルを配布する対象を設定したら [保存] します。

5. Jamf Pro でポリシーを1つ作成

Jamf Pro にアクセスして 「Jamf Connect Login パッケージ配布用] のポリシーを作成します。

5-1. パッケージ名の変更

Jamf Connect Login を Okta で使用する場合は、インストーラーパッケージ名に Okta という文字を含ませて、Okta 認証を有効にする必要があります。

なので インストーラーパッケージを Okta という文字を含める名前に変更します。

5-2. インストーラーパッケージ を Jamf Pro にアップロード

  • Jamf Pro にアクセスします。
  • 画面右上の [歯車マーク] > [コンピュータ管理] > [パッケージ] をクリックします。
  • [+新規] をクリックして一般を任意の情報で設定し、[ファイルを選択] からインストーラーパッケージを選択します。
  • [保存] します。

5-3. インストーラパッケージ配布ポリシーの作成

  • [コンピュータ] > [ポリシー] > [新規] をクリックします。
  • [General] を任意の情報で設定します。
  • [パッケージ] > [Configure] をクリックします。
  • 先ほどアップロードしたパッケージを [追加] ボタンをクリックして追加します。
  • [Scope] で構成プロファイルを配布する対象を設定したら [保存] します。

6. Mac 端末に Okta アカウントでログイン

これで  Mac に Okta を使ったローカルアカウント作成およびログインができるようになりました。 今回は DEP端末 での挙動を書きます。

  • 端末側で初期設定をもろもろこなして DEP の設定配布画面にいきます。
  • ログイン画面に進む前に作成した構成プロファイルおよびポリシーの配布が complete になっている事を Jamf Pro で確認します。
  • 設定配布が完了しているのを確認して次に進むと、通常のログイン画面ではなく Jamf Connect Login 画面 が表示されるので Okta のアカウント情報を入力して [Sign in] をクリックします。
  • モバイルデバイスに要求する MFA の形式を選択できます。
  • モバイルデバイスで MFA を承認すると、Okta アカウントの名前でローカルアカウントが作成されます。

現在確認できている問題

言語設定が英語に…

これは AzureAD で試した時に起きていた問題と同様です。初期設定時に言語設定を日本語に設定していたはずがログインすると英語になってしまう問題です。必ずなるわけではなくて、日本語になる場合もあります。これについては Jamf 社側でも調査してくれているようです。もちろんログイン後に日本語設定に変更することは可能です。

Jamf Connect Configuration のテスト機能が正常に動いていない…?

Jamf Connect Configuration で構成プロファイルを作成する際に、右上にある [OIDC Test] ボタンをクリックすると挙動の確認ができるのですが、実行してみると400エラーが表示され、そのまま進めると Okta ブラウザにログインしてしまい Jamf Connect Login の画面にいけませんでした。しかし、テストでうまく行かなくても実際の Jamf Connect Login の挙動は正常に動作しました。

まとめ

長くなってしまいましたがこんな感じで Jamf Connect を使った「Mac に Oktaアカウントを使ってユーザー作成およびログインをする」を実行しました。確認できている問題の原因や対処法などがわかった際は随時更新していきます。次は引き続き Jamf Connect Verify と Sync の実装を試してブログにしていきたいなーと思ってます。

渡辺響子

栄養士からIT業界へ異色の転職をしました。 全くの未経験からクラウドネイティブでエンジニアのスタートを切っています。デバイス周りをメインに日々勉強中。お酒と映画とジョジョが好きです。