管理者は、Android のバーチャル プライベート ネットワーク(VPN)アプリで Security Assertion Markup Language(SAML)認証を使用するように設定できます。この設定には、ID プロバイダ(IdP)、サービス プロバイダ(SP)である VPN アプリ、Play ストア、ChromeOS のそれぞれの間で多数の構成と調整が必要となるため、トラブルシューティングのプロセスが複雑になります。
この記事では、表題の設定における潜在的な問題の原因を特定する方法について説明します。
注: VPN アプリの SAML 設定および IdP との連携はこの記事の範囲外となるため、該当の VPN アプリ プロバイダにお問い合わせください。
Android VPN アプリで SAML 認証を設定する
SAML とは、SAML IdP に認証リクエストを発行する際にユーザー エージェント(通常はウェブブラウザ)を必要とするウェブ プロトコルです。設定手順は Android VPN アプリによって異なりますが、全体的な手順は以下のとおりです。
- インストール済みの Android VPN アプリを開きます。
- VPN アプリで [接続] をクリックします。
- VPN アプリでブラウザが開き、IdP ログイン ページが表示されます。
- ユーザーが以前に IdP での認証に成功している場合は、ブラウザで認証情報、証明書、または Cookie を使用して認証します。
- ユーザーの認証ステータスを含む SAML アサーションが VPN アプリに転送されます。
Chromebook の場合、Android VPN アプリは以下のいずれかのブラウザを使用できます。
- WebView
- Android 版 Chrome アプリ
- ネイティブの Chrome ブラウザ
注: 最適なオプションは、VPN および SAML の設定方法によって異なります。
設定
|
VPN アプリの WebView |
Android 版 Chrome アプリ |
ネイティブの Chrome ブラウザ |
---|---|---|---|
証明書による SAML 認証 | VPN アプリで証明書による認証を許可する必要があります | VPN アプリで証明書による認証を許可する必要があります | すぐに使用できます |
認証情報による SAML 認証 注: ここでは、ユーザーがすでに ChromeOS でのSAML ログイン手順 を完了していると仮定します(通常はログイン画面で完了) |
認証情報を再認証する必要があります | 認証情報を再認証する必要があります | ユーザーによる操作は不要です(SAML 認証に Cookie を使用) |
ロックダウン モード インタラクション | すぐに使用できます | サポート対象外 |
Google 管理コンソールの [常時接続 VPN の URL の例外] の設定と連動します 詳しくは、AlwaysOnVpnPreConnectUrlAllowlist のポリシーをご覧ください |
ChromeOS に関する特記事項 | なし(Android と同じ設定) | なし(Android と同じ設定) | SAML アサーションは、ChromeOS から Android VPN アプリに転送される必要があります |
ChromeOS 特有の問題に関するトラブルシューティング
VPN接続をオフにできない
これは、VPN アプリで Chrome ブラウザを使用して IdP にログインする際に最もよく発生する問題です。ほとんどの場合、この問題にはシステムで使用しているウェブブラウザでのナビゲーション エラーも伴います。
根本原因認証に成功した後、SAML アサーションがアプリに転送される必要があります。これは通常、VPN アプリへの転送が必要な HTTP リダイレクトによって行われ、アプリが SAML 認証のステータスに基づいて接続をオンまたはオフに切り替えることを可能にします。
VPN アプリで URL を開くインテントを Android システムに明示するインテント フィルタが定義されると、そのインテント フィルタは Android でのみ認識され、ChromeOS の Chrome ブラウザでは認識されません。
解決策SAML アサーションが Android アプリに正しく転送されるためには、リダイレクト URL に intent://
スキームを使用する必要があります。標準の http://
URL を使用すると、Android アプリへの転送および検証は行われず、ブラウザが URL を直接開こうとする現象が起こります。
サードパーティ製の VPN アプリをご利用の場合は、当該 VPN サービス プロバイダのサポートチームにこの変更を適用してもらうよう依頼してください。
VPN 接続でユーザーが認証情報の再認証を要求される
IdP での認証に成功すると、通常はセッション Cookie が発行されます。この Cookie はユーザーの認証ステータスのリマインダーとして機能するので、異なる SP にアクセスするたびに認証情報を入力する必要がなくなります。
根本原因Cookie は Chrome ブラウザに保存され、Android アプリに転送することはできません。VPN アプリが WebView を使用する場合、または他の Android アプリに認証を委任する場合、ユーザーは SAML 認証情報を再度入力する必要があります。
解決策ChromeOS でのネットワーク ユーザーデータの隔離と保護により、認証 Cookie は VPN アプリと共有されないため、ユーザーは認証情報を 2 回入力することになります。これは想定された挙動です。混乱や懸念を生じさせないためにも、VPN を設定する際はこの要件について従業員に知らせることが重要です。
VPN のロックダウンによってシステム ブラウザ経由の SAML 認証がブロックされる
常時接続 VPN をロックダウン モードで起動している場合、VPN アプリを経由しない接続はすべてブロックされます。SAML 認証はウェブベースの認証プロセスであるため、ロックダウン モードでは通常、VPN アプリの WebView 内のみで限定的に機能します。
解決策ChromeOS バージョン 122 以降、管理者は管理コンソールの [常時接続 VPN の URL の例外] 設定を使用してシステム ブラウザ経由での SAML 認証を設定することが可能になりました。なお、Android の常時接続 VPN がロックダウン モードに設定され、VPN に接続されていないときに、ユーザーはこのリストの任意の URL に移動できます。
証明書ベースの SAML 認証が機能しない
デバイスにプロビジョニングされたユーザー証明書による VPN 認証に失敗しています。
根本原因ChromeOS にインストールされた証明書が Android アプリと自動で共有されることはありません。
解決策管理コンソールで、ポリシーベースの ChromeOS 認証局(CA)証明書、ならびにユーザー証明書が Android および Android アプリと共有されていることを確認してください。
- VPN アプリにポリシーベースの CA 証明書へのアクセスを許可するには、[デバイス] > [Chrome] > [設定] > [ユーザーとブラウザの設定] > [Android アプリ] に移動して [証明書の同期] をオンにします。
- VPN アプリに Android デバイスに保存されたユーザー証明書へのアクセスを許可するには、管理コンソールで該当するアプリのページに移動し、設定パネルにアクセスして [鍵へのアクセスを許可する] をオンにします。