AzureADとADFSを利用した環境で
O365を利用しているところは多いと思います。
ただO365のリフレッシュトークン機能により
ADFSのクレームルールで 社外はメールを利用できないようにアクセス制御
していても、制御されない場合があります。
Exchange onlineへアクセスと想定したときの
アクセスの動きを説明しながら理由をお伝えします。
1:Exchangeonlineへアクセス
2:アクセスチケット(規定1時間)を持っていたらそのままExchangeonlineへアクセス
もっていなければAzureADへアクセスチケットの発行依頼
3:ここで本来はAzureADの認証画面が表示されて、ログイン画面でUPNを入力
対象ドメインがADFSとフェデレーションしているドメインであればADFS認証されます。
しかしAzureADではアクセストークンの他にデフォルトで90日間有効のリフレッシュトークンが発行されています。
このリフレッシュトークンをユーザが持っていると、認証せずにユーザーへサービスへのアクセスチケットが渡されます。この場合、ADFS認証は起きず、AzureADだけで認証が完結します。
これがADFS認証されない理由です。
ADFSクレームルールでアクセス元のグローバルIP等で、社内か社外かを
制御している環境の場合、ADFSまでアクセスがされないので
まったく効果がなくなってしまいます。
(一度認証通ったら、外でも使えてしまう)
これはセキュリティにリスクがあるので、対処方法を
下記します。
AzureADの条件付きアクセスを利用します。
ユーザーとグループを指定します。ここではテストユーザを指定しました。
アプリケーションはExchange onlineを指定します。
条件を指定します。携帯はもともと外からアクセスすることを想定しているパターンが
多いので、ここでは対象から外しました。
ここではWindowsPCを対象としました。"Windows"にチェックを入れます
場所を選択します。対象をすべてとし、対象外を自社用としました。
社内のGIP一覧を作成しておけば、社内からのアクセスは、サインイン頻度の対象にさせないことも可能です。
サインイン頻度を1時間で設定しました。
これで社外にPCを持っていけば、1時間後認証要求されます。
認証要求されると、この後、ADFSまで落ちるのでクレームルールの制御が
可能になります。
AzureADだけの環境であれば、外に持ち出すPCをintuneに登録し、アクセス制御できると思いますが、ADFSでアクセス制御している環境もまだ多いと思いましたので
記載致しました。
参考になれば幸いです。