SaaS

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

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

注意

2021年11月18日現在、OIEは新規発行されるテナントに限り適用されます。これまでのOkta Classic EngineからOIEへ移行する時期や方法については別途Okta社からのアナウンスをお待ちください。

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

参照ドキュメント

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

  • 前提条件について
  • 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をクリックします。
  2. Desktop (Windows and macOS only)を選択し、Nextをクリックします。
  3. SCEP URL challenge typeをDynamic SCEP URLGenericを選択し、Generateをクリックします。

  4. SCEP URLとChallenge URLとUsernameおよびPasswordを控えておきます。

Jamf Pro SCEP設定

  1. コンピュータ>構成プロファイル>新規をクリックします。
  2. 一般タブでプロファイルの名称を入力(今回はOIE_DynamicSCEPとしました)
  3. レベルはComputer Levelを選択します。

  4. SCEPタブ内の構成をクリックします。
  5. URLにOktaで発行したSCEP URLを入力します。
  6. 名称はわかりやすいものを入力します。(今回はOIEとしました)
  7. プロファイル再配布は30daysとし、証明書が切れる30日前に自動的に再配布されるように設定をしました。
  8. 件名はO=UUID,CN=$UDIDを入力します。
  9. チャレンジタイプはDynamic-Microsoft CAを選択します。
  10. SCEP管理者のURLにOktaで発行したChallenge URLを入力します。
  11. ユーザー名およびパスワードもそれぞれOktaで発行した値を入力します。
  12. キーサイズを2048とし、デジタル署名として使用にチェックを入れます。
  13. キーチェーンからのexportを許可のチェックを外します。
  14. すべての App にアクセスを許可にチェックを入れます。
  15. 保存をクリックします。

Jamf Pro SSO拡張機能設定

  1. コンピュータ>構成プロファイル>新規をクリックします。
  2. 一般タブでプロファイルの名称を入力(今回はOIE_Extensible SSOとしました。)
  3. レベルはComputer Levelを選択します。

  4. シングルサインオン拡張機能タブで追加をクリックします。
  5. 拡張識別子にcom.okta.mobile.auth-service-extensionを入力します。
  6. チーム識別子にB7F62B65BNを入力します。
  7. サインオンタイプはCredentialを選択します。
  8. レルムにOkta Deviceを入力します。
  9. ホストにOktaのURLを入力します。この時https://は不要です。
  10. 保存をクリックします。

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

Okta Authentication policiesの設定

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

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

  1. Okta管理画面のSecurity>Authentication policiesからAdd a policyをクリックします。
  2. 名前をDevice Trust Policyなどわかりやすいものを設定します。
  3. Add Ruleをクリックします。
  4. Rule nameをDevice Trust Ruleなどわかりやすいものを設定し、Device state isをRegisteredにしDevice management isをManagedにし、Saveをクリックします。
  5. 最初からあるCath-all Ruleを編集し、Access isをDeniedとしSaveをクリックします。最終的に以下のような2つのルールから構成されるポリシーとなっているかを確認します。
  6. Applicationsタブ内のAdd appをクリックします。
  7. 作成したポリシーを割り当てるアプリケーションの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におけるデバイストラストの設定方法をご紹介いたします。それではまた〜?

たつみん

事業会社の情シスからクラウドネイティブにJoin!
好きなものはF1海外観戦とベルギービール!
集中力の質は深く長く遅い典型的なシングルタスクタイプです。