Chromeブラウザから収集したシグナルをOkta認証ポリシーの条件として利用する

目次


今回のブログでは、Chrome Device Trustコネクターを用いてChromeブラウザからシグナルを収集し、デバイス保証ポリシーにおいて、デバイスのセキュリティ状態を総合的に評価する方法についてご紹介します。

Chrome Device Trustコネクターでは、Okta Verifyアプリよりも多くのデバイスシグナルを収集することができ、それらのシグナルをOktaへのアクセス条件として認証ポリシーにて利用することができます。

なお、Chrome Device Trustコネクターの動作には、Okta Verifyアプリが必須ではありませんが、Okta Verifyアプリと同時に利用することもできます。その場合は、Okta Verifyアプリからのシグナルが優先されます。

本機能の利用には、Adaptive SSOまたはAdaptive MFAのライセンスが必要です。

デバイス保証ポリシー

デバイス保証ポリシーとは、OSのバージョンやデバイスの状態を認証ポリシーの条件として利用することができる機能です。つまり、Oktaで保護されたアプリケーションへアクセスすることができるデバイスの最小要件を定義することができます。

Chrome Device Trustコネクター

Chrome Device Trustコネクターは、Oktaで保護されているアプリケーションへアクセスする前に、ChromeOSおよびChrome ブラウザを介してデバイスのセキュリティ状態を確認することができる Google Chrome サービスです。Chrome Device Trustコネクターは、OS、ブラウザのバージョン、セキュリティ パッチ レベル、ディスク暗号化など、さまざまなデバイス シグナルを安全に収集します。Okta は、リクエストごとにこれらのシグナルを使用して、アクセスを許可する前に、デバイスが一連のデバイス保証ポリシーに準拠しているかどうかを評価します。

Chrome Device TrustコネクターはChromeOSおよびWindowsやMacOS上のChromeブラウザーを管理することができますが、それ以外のChromiumベースのブラウザなどは管理対象とすることができません。

本ブログでは、Chrome Device Trust コネクターを用いて、管理対象のChromeブラウザから収集したデバイスシグナルを、Okta認証ポリシーの条件として利用する方法について、具体的に説明します。

Chrome Device Trustの設定

はじめに

本手順では、管理対象はWindows端末上のChromeブラウザとして説明します。ChromeOSやMacOS上のChromeブラウザなどを管理対象とする場合には、公式ドキュメントを参照に設定してください。

Chromeブラウザを管理対象にする

注意:既に、利用しているChromeブラウザが会社の管理対象となっている場合は、本手順を試すことはできません。管理対象となっていない端末でテストを実施してください。

本手順では、Chromeブラウザクラウド管理を利用し、Windows上で動作しているChromeブラウザを管理対象とします。

Google WorkspaceやGoogle Cloud IdentityなどのGoogleサービスを既に使用している場合は、追加でChromeブラウザクラウド管理のサブスクリプションを追加することができます。Googleサービスを使用していない場合でも、Chromeブラウザクラウド管理を利用することができます。利用料金はかかりません。(2024年8月時点)

  1. Chrome ブラウザ クラウド管理を利用するため、以下のWebサイトへアクセスし、アカウントを作成します。https://chromeenterprise.google/browser/management/
  2. アカウントが作成できたら、サインアップし、Google Admin Consoleにアクセスします。
  3. [Chrome ブラウザ] - [管理対象ブラウザ]メニューをクリックします。1 jp blog
  4. [登録]をクリックします。2 jp blog
  5. ブラウザを登録する方法は、グループポリシー管理エディタを使用する方法、レジストリを編集する方法、regファイルを実行する方法、MDMを利用する方法など、複数用意されています。今回は手順をなるべく簡略化し、わかりやすく説明するため、regファイルを用いて登録する方法を用います。
    それ以外の方法で実行する場合や、Windows以外のOSで実行する場合は、Google社のドキュメント[2. クラウド管理型の Chrome ブラウザを登録する]を参照してください。
  6. [ダウンロード]の[.REG ファイル (WINDOWS)]ボタンをクリックしダウンロードします。3 jp blog
  7. ダウンロードしたregファイルを、管理対象とするWindows端末へコピーします。
    以下手順は、管理対象端末で実施します。
  8. コピーしたregファイルを実行し、レジストリキーをインストールします。
  9. レジストリエディターを開き、[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]に[CloudManagementEnrollmentToken]キーが登録されていることを確認します。4 jp blog
  10. 設定が完了したら、管理対象のChromeブラウザをすべて終了し、再起動します。
    管理対象端末での操作は、以上です。
  11. Google Admin Consoleにアクセスし、  [Chrome ブラウザ] - [管理対象ブラウザ] に移動します。Chromeブラウザが登録され、情報が抽出されていることが確認できます。
    Chromeブラウザから収集されるシグナルの一覧は、こちらの[ユーザーのデバイスからアップロードされるデータ]を参照してください。5 jp blog

Chromeブラウザのレポートを有効にする

  1. Google Admin Consoleにて、[Chrome ブラウザ] - [設定]に移動します。
  2. 適用する組織部門を選択します。
  3. [ユーザーとブラウザの設定]タブの[ブラウザに関するレポート]までスクロールします。6 jp blog
  4. [管理対象ブラウザに関するレポート] を [管理対象ブラウザのクラウドレポートを有効にする] に設定し、[保存] をクリックします。7 jp blog
  5. 管理対象のWindows端末のChromeブラウザを再起動し、新しいポリシーを適用します。

Chrome Device Trustをエンドポイントとして追加する

  1. Okta Admin Consoleへ管理者権限でログインします。
  2. [Security]  - [Device Integrations]に移動します。
  3. [Endpoint security]タブを選択し、[Add endpoint integration]をクリックします。8 jp blog
  4. [Chrome Device Trust]を選択し、統合の対象として有効にするプラットフォームを選択し、[Add]ボタンをクリックします。9 jp blog
  5. OktaとGoogleの双方のアカウントをリンクするために利用される値が表示されますので、[Login URL pattern]および[Service account]をコピーして、別途保存します。保存したら、[Close]をクリックしメニューを閉じます。10 jp blog

Chrome Device Trust コネクターを設定する

  1. Google Admin Consoleにアクセスし、[Chrome ブラウザ] - [コネクタ]に移動します。
  2. [+ 新しいプロバイダの設定]をクリックします。11 jp blog
  3. [プロバイダの設定]からOktaを見つけ、[設定]をクリックします。12 jp blog
  4. [設定名]には任意の名前を入力し、[許可するURLパターン(各行に1つずつ入力)]と[サービスアカウント(1行に1つずつ)]に、Okta Admin Consoleで作成したChrome Device Integrationの値([Chrome Device Trustをエンドポイントとして追加する] 手順5を参照)を入力します。
    入力が完了したら[設定を追加]ボタンをクリックします。13 jp blog
  5. 次に、[Chrome ブラウザ] - [コネクタ]をクリックし、[デバイストラストコネクタ]にて適用する組織部門(OU)を選択し、[保存]をクリックします。14 jp blog

以上で、Chrome Device Trustコネクターの設定は完了です。

デバイス保証ポリシー設定

管理対象のChromeブラウザから収集したシグナルのうち、Oktaにてデバイスのセキュリティ要件として利用するシグナルを決めます。

  1. Okta Admin Consoleに管理者権限でログインします。
  2. [Security] - [Device Assurance Policies]へアクセスし、[Add a policy]をクリックします。
  3. Platformでは対象とするOS(今回は、Windows)を選択し、[Device attribute provider(s)]にて、[Chrome Device Trust]を選択します。15 jp blog
  4. ポリシーの内容は、要件に合わせて設定します。
    設定の一覧は以下のドキュメントを参照してください。
    Windows向けデバイス保証ポリシー設定一覧
    macOS向けデバイス保証ポリシー設定一覧
  5. 設定が完了したら、[Save]ボタンをクリックして保存します。

認証ポリシーの設定

認証ポリシーにて、先ほど設定したデバイス保証ポリシーを条件として追加します。この設定を行うことで、Oktaで保護されているアプリケーションへアクセスする際に、デバイスの要件が評価されるようになります。

  1. Okta Admin Consoleにログインします。
  2. [Security] - [Authentication Policies]にアクセスし、適用するポリシーを編集します。
  3. [Device assurance policy is]にて[Any of the following device assurance policies:]を選択し、先ほど[Device Assurance Policies設定]の章で設定したデバイス保証ポリシーを追加します。16 jp blog
  4. 設定が完了したら、[Save]をクリックして保存します。

動作確認

サインインウィジェット上のエラーメッセージ

設定したデバイス保証ポリシーを満たない端末からアクセスがあった場合、サインイン時にエラーの修正手順を表示させることができます。

以下のスクリーンショットの例では、Chromeブラウザを指定のバージョン(126)以上にアップデートするよう、メッセージが表示されています。

17 jp blog

Chromeブラウザの要件が満たなかった時のデバイス保証修復メッセージの有効化は、Admin Consoleにて、[Device Assurance Policies] - [Display device error remediation in the browser when access is denied]を有効化します。

18 jp blog

一部の条件ではエラーメッセージとして表示されない場合があります。エラーメッセージが表示される条件は、デバイス保証の修復メッセージを参照してください。

System Log

System Logでは、ユーザーの管理対象Chromeブラウザから収集されたシグナルをすべて確認することができます。

認証失敗のログを検索するには、以下のフィルターを利用します。
eventType eq "policy.evaluate_sign_on" and outcome.result eq "DENY"
Device - Device Integratorの値を見ると、例えばOSバージョン、Chromeブラウザバージョン、ファイアウォールの設定などが収集されていることがわかります。収集されたシグナルとデバイス保証ポリシーの内容と差異を見比べることで、認証失敗した理由を特定することができます。

19 jp blog

最後に

本ブログでは、Chrome Device Trust コネクターによって収集したデバイスシグナルを用いて、デバイスのセキュリティ状態を総合的に評価する方法についてご紹介しました。

Okta Verifyアプリよりも、より多くのデバイスシグナルを収集し、Oktaへアクセスする端末のセキュリティ要件をチェックすることができますので、是非ご活用ください。