MR36で色々と実験をしておりまして、WIFI接続時の認証をGoogle Workspaceのユーザーで認証できる?といった記事を見かけたのですが、これは可能なものでしょうか?
設定画面内のスプラッシュページ項目にもGoogle OAuthの表示があり、出来そうな雰囲気があるにも関わらず
設定方法や実際に設定したという記事をネット上で見つける事が出来ませんでした。
内容としてはRADIUS認証にような事を行いたく
・MerakiのWIFIに接続する際、Google Workspaceのユーザー情報を入力するとWIFIが利用できるようになる
・Google Workspaceのユーザーを停止や削除すると、そのユーザーアカウントではMerakiのWIFIが利用できなくなるといった事を実現したいと考えております。
これはそもそも不可能なのか等、知見のある方がいらっしゃいましたら是非お力添え頂ければと思います。
よろしくお願いします。
解決済! 解決策の投稿を見る。
実機で検証したので設定方法を共有します。
まず「Meraki MRによるSplash PageでのGoogle Workspace (旧G Suite)のOAuth認証」のメインとなる設定は下記のドキュメントの通りです。
Google Sign-In - Cisco Meraki
https://documentation.meraki.com/MR/MR_Splash_Page/Google_Sign-In
注記: SSIDで接続した段階の認証ではなく、Splash Pageを使った仕組みなので混同しないようにしてください。
ただし、その設定だけだとSplash Pageで "Sign in with Google" でログイン試行しようとすると、
ログイン画面のページ遷移が必要になりますがSplash Pageでブロックされるようです。
そのため、下記のWalled Gardenのドキュメントを参考にして、GoogleのOAuthの通信に必要なドメインを認証前 (prior to sign-on)でも通せるように設定します。
Using Google OAuth Splash with a Walled Garden - Cisco Meraki
Walled Garden - Cisco Meraki
https://documentation.meraki.com/General_Administration/Cross-Platform_Content/Walled_Garden
【Walled garden の設定の説明 (Dashboardの上の情報より)】
Manually specify an IP range or domain names users can access prior to sign-on. Meraki's splash page is automatically included in your walled garden. If you host your own splash page you must enter its information here.
Googleの方の最新のドキュメントを見ると、2023年09月01日時点では下記がWalled gardenへの登録対象です。
ただし clients*.google.com は * (ワイルドカード)が文字列"中"にあるので、そのままだと登録できなかったです。
私は検証環境だったので適当に *.google.com に読み替えて登録しました。
Gmail のファイアウォールの設定 - Google Workspace 管理者 ヘルプ
https://support.google.com/a/answer/9497877
*.client-channel.google.com
accounts.google.com
apis.google.com
clients*.google.com
contacts.google.com
*.googleusercontent.com
mail.google.com
ssl.gstatic.com
www.google.com
www.gstatic.com
ogs.google.com
play.google.com
【clients*.google.com を登録時のエラー メッセージ】
There were errors in saving this configuration:
Walled garden field is neither a subnet, a domain name, nor a domain wildcard: clients*.google.com
【考慮点】
運用上の注意点としては、HTTP (80/tcp)の非暗号化 (Not HTTPS)の通信でSplash Pageがキックされるようにする必要があります。
ドキュメント上では http://neverssl.com/ が紹介されています。
これは一般的なCaptive Portalでの考慮点と共通だと思います。
また、セキュリティ強化された都合でそれが制限にもなっているので、
Guest Wi-Fiのような幅広くユーザーに公開するようなサービスだと、ユーザーの持ち込みデバイスや使い方次第で問い合わせが増えるかもしれません。
Google Developers Japan: セキュリティが強化された OAuth フローで Google OAuth インタラクションの安全性が向上
https://developers-jp.googleblog.com/2022/03/oauth-google-oauth.html
Upcoming security changes to Google's OAuth 2.0 authorization endpoint in embedded webviews — Google for Developers Blog - News about Web, Mobile, AI and Cloud
実機で検証したので設定方法を共有します。
まず「Meraki MRによるSplash PageでのGoogle Workspace (旧G Suite)のOAuth認証」のメインとなる設定は下記のドキュメントの通りです。
Google Sign-In - Cisco Meraki
https://documentation.meraki.com/MR/MR_Splash_Page/Google_Sign-In
注記: SSIDで接続した段階の認証ではなく、Splash Pageを使った仕組みなので混同しないようにしてください。
ただし、その設定だけだとSplash Pageで "Sign in with Google" でログイン試行しようとすると、
ログイン画面のページ遷移が必要になりますがSplash Pageでブロックされるようです。
そのため、下記のWalled Gardenのドキュメントを参考にして、GoogleのOAuthの通信に必要なドメインを認証前 (prior to sign-on)でも通せるように設定します。
Using Google OAuth Splash with a Walled Garden - Cisco Meraki
Walled Garden - Cisco Meraki
https://documentation.meraki.com/General_Administration/Cross-Platform_Content/Walled_Garden
【Walled garden の設定の説明 (Dashboardの上の情報より)】
Manually specify an IP range or domain names users can access prior to sign-on. Meraki's splash page is automatically included in your walled garden. If you host your own splash page you must enter its information here.
Googleの方の最新のドキュメントを見ると、2023年09月01日時点では下記がWalled gardenへの登録対象です。
ただし clients*.google.com は * (ワイルドカード)が文字列"中"にあるので、そのままだと登録できなかったです。
私は検証環境だったので適当に *.google.com に読み替えて登録しました。
Gmail のファイアウォールの設定 - Google Workspace 管理者 ヘルプ
https://support.google.com/a/answer/9497877
*.client-channel.google.com
accounts.google.com
apis.google.com
clients*.google.com
contacts.google.com
*.googleusercontent.com
mail.google.com
ssl.gstatic.com
www.google.com
www.gstatic.com
ogs.google.com
play.google.com
【clients*.google.com を登録時のエラー メッセージ】
There were errors in saving this configuration:
Walled garden field is neither a subnet, a domain name, nor a domain wildcard: clients*.google.com
【考慮点】
運用上の注意点としては、HTTP (80/tcp)の非暗号化 (Not HTTPS)の通信でSplash Pageがキックされるようにする必要があります。
ドキュメント上では http://neverssl.com/ が紹介されています。
これは一般的なCaptive Portalでの考慮点と共通だと思います。
また、セキュリティ強化された都合でそれが制限にもなっているので、
Guest Wi-Fiのような幅広くユーザーに公開するようなサービスだと、ユーザーの持ち込みデバイスや使い方次第で問い合わせが増えるかもしれません。
Google Developers Japan: セキュリティが強化された OAuth フローで Google OAuth インタラクションの安全性が向上
https://developers-jp.googleblog.com/2022/03/oauth-google-oauth.html
Upcoming security changes to Google's OAuth 2.0 authorization endpoint in embedded webviews — Google for Developers Blog - News about Web, Mobile, AI and Cloud
ちなみにWalled Gardenの設定してないときは、アカウント入力してEnterキーを押下したら下記のエラーが出ました。
400. That’s an error.
The server cannot process the request because it is malformed. It should not be retried. That’s all we know.
大変詳しい情報ありがとうございます。
上から順に設定内容の確認をしてみます。
設定を行ったところGWS環境にいるユーザーのみスプラッシュページ経由の認証でwifi接続する事が出来ました。大変助かりました。
MyHomeNWLab様にご返信頂いた事でやりたい事に大きく近づくことが出来ました。
ありがとうございました。