Okta Identity EngineでのDevice Trustを検証してみた -macOS編-

こんにちは! たつみんです。
Okta Identity Engine(以下OIE)で利用可能になったOkta Device Trustを検証しましたのでご紹介いたします。

それでは早速設定方法についてみてみましょう。

参照ドキュメント

検証にあたり参照したドキュメントは以下の通りです。

  • 前提条件について
  • Jamf Proを利用した動的SCEPチャレンジの設定について

前提条件

macOSでのデバイストラストを実現するには下記の3点が前提条件となります。

  • macOS 10.15.x (Catalina), and 11 (Big Sur)
  • Safari (Credential SSO Extensionが必要), Chrome
  • macOS版Okta Verifyアプリを利用しアカウントを紐づけている
    Okta Verifyへのアカウント設定についてはこちらの記事をご参照ください。

なお、ドキュメントには記載がありませんでしたが、macOS 12 Montereyでも動作することを確認しております。

設定方法

OktaでSCEP URLを生成

  1. OktaのSecurity>Device integrations>Endpoint Management>Add Platformをクリックします。
  1. Desktop (Windows and macOS only)を選択し、Nextをクリックします。
  1. SCEP URL challenge typeをDynamic SCEP URLGenericを選択し、Generateをクリックします。
  1. SCEP URLChallenge URLUsernameおよびPasswordを控えた後、Saveを押し保存します。

Jamf Pro SCEP設定

  1. コンピュータ>構成プロファイル>新規をクリックします。
  2. 一般タブでプロファイルの名称を入力(今回はOIE_DynamicSCEPとしました)
  3. レベルはComputer Levelを選択します。
  1. SCEPタブ内の構成をクリックします。
  2. URLにOktaで発行したSCEP URLを入力します。
  3. 名称はわかりやすいものを入力します。(今回はOIEとしました)
  4. プロファイル再配布は30daysとし、証明書が切れる30日前に自動的に再配布されるように設定をしました。
  5. 件名は<s>O=UUID,CN=$UDID</s>を入力します。
    • 7.のプロファイルの再配布設定により、自動的に件名に$PROFILE_IDENTIFIERが追加されてしまいます。これにより件名のパラメータの長さが64文字をオーバーし、プロファイル再配布ができない事象を観測しています。
    • そのため64文字以内となるよう件名を調整してください。
      • 例1:CN=$SERIALNUMBER $PROFILE_IDENTIFIER
      • 例2:CN=$EMAIL $PROFILE_IDENTIFIER
  6. チャレンジタイプはDynamic-Microsoft CAを選択します。
  7. SCEP管理者のURLにOktaで発行したChallenge URLを入力します。
  8. ユーザー名およびパスワードもそれぞれOktaで発行した値を入力します。
  9. キーサイズを2048とし、デジタル署名として使用にチェックを入れます。
  10. キーチェーンからのexportを許可のチェックを外します。
  11. すべての App にアクセスを許可にチェックを入れます。
  12. 保存をクリックします。

Jamf Pro SSO拡張機能設定

  1. コンピュータ>構成プロファイル>新規をクリックします。
  2. 一般タブでプロファイルの名称を入力(今回はOIE_Extensible SSOとしました。)
  3. レベルはComputer Levelを選択します。
  1. シングルサインオン拡張機能タブで追加をクリックします。
  2. 拡張識別子にcom.okta.mobile.auth-service-extensionを入力します。
  3. チーム識別子にB7F62B65BNを入力します。
  4. サインオンタイプはCredentialを選択します。
  5. レルムにOkta Deviceを入力します。
  6. ホストにOktaのURLを入力します。この時https://は不要です。
  7. 保存をクリックします。

最後に、忘れずに作成した2つの構成プロファイルを対象端末に配布します。

Okta Authentication policiesの設定

Device Trust用のAuthentication policyを作成していない場合は以下の手順で作成するか、DefaultのラベルがついているAny two factorsなどのポリシーに以下のようなルールを組み込みます。

今回は検証結果をわかりやすく確認するために新規でポリシーおよびルールを作成しています。

  1. Okta管理画面のSecurity>Authentication policiesからAdd a policyをクリックします。
  2. 名前をDevice Trust Policyなどわかりやすいものを設定します。
  1. Add Ruleをクリックします。
  1. Rule nameをDevice Trust Ruleなどわかりやすいものを設定し、Device state isをRegisteredにしDevice management isをManagedにし、Saveをクリックします。
  1. 最初からあるCath-all Ruleを編集し、Access isをDeniedとしSaveをクリックします。最終的に以下のような2つのルールから構成されるポリシーとなっているかを確認します。
  1. Applicationsタブ内のAdd appをクリックします。
  1. 作成したポリシーを割り当てるアプリケーションのAddボタンをクリックし、最後にCloseをクリックします。

作成したポリシーは上から順番に判定され、ルールに該当しない場合に次のルールに一致するかどうかを確認します。今回の例ではDevice Trust Ruleに合致しない場合はCatch-all Ruleにて合致し、結果としてアクセスを拒否する設定としています。

動作確認

Oktaアプリケーション制御の確認

  1. 端末側でJamf Proで配布した構成プロファイルが適用されているかを確認します。
  2. Oktaにログインしている場合は一度、ログアウトしてから再度ログインをします。
  3. 対象アプリケーションにアクセス可能かを確認します。

なお、正常にアクセスできなかった場合は以下のような表示となります。

Devices上の確認

Okta管理画面のDirectory内のDevicesに該当端末のStatusがManagedとなっていることを確認します。

最後に

簡単にではありますがmacOSにおけるOkta Device Trustの設定方法をご案内いたしました。これまでのOkta Classic Engineの時よりも設定が容易になったように思います。

次回はWindowsにおけるデバイストラストの設定方法をご紹介いたします。それではまた〜?

この記事をシェア