皆さんこんにちは。国井です。
アプリケーションからAzure ADのユーザー名/パスワードを入力してサインインしているだけなのに、その認証にはレガシー認証と先進認証と呼ばれる2つがあります。
レガシー認証はOffice 2013以前のOfficeアプリケーションやSMTP,POPなどを利用したアプリケーションなどで使われます。レガシー認証の実態は基本認証で、これを利用すると多要素認証が使えないなど、セキュリティ上の問題点が指摘されていることもあり、2021年後半に廃止される予定になっています。(もともとは2020年10月に廃止される予定だったのですが延期されました)
※2021年10月13日追記
2022年10月1日に廃止されることが決定しました。
いずれにしてもレガシー認証が無くなることは確かなのに、自分のまわりからはレガシー認証無くすために〇〇しよう、みたいな話が聞こえてこないんですよね。
実際に自分の会社でレガシー認証を使っているかについて確認するときは
Azure ADのサインインログを使いましょう。
Azure AD 管理センター画面から [Azure Active Directory] – [サインイン] を開き、
フィルターで [クライアント アプリ]を選択して、
クライアントアプリの値としてレガシ認証クライアントの全項目を選択します。
(なるほど、ここに書いているアクセスがレガシー認証なのですね)
すると、レガシー認証を行った履歴が全部出てきます。
意外と出てくることがわかります。(しかも全部Exchange Onlineへのアクセス!)
なかでも多いのが、Exchange ActiveSyncを使って接続しているパターンと
アプリケーションパスワードを使って接続しているパターンでした。
Exchange ActiveSync
Exchange ActiveSyncは携帯電話からExchange Online/Exchange Serverに接続するときに使われるプロトコルでレガシー認証を使います。Exchange ActiveSyncを使うかどうかは携帯で使うメーラー次第なんだけど、iOSでも標準メーラーではExchange ActiveSyncを使っているようです。
(MSの中の人から標準メーラーは先進認証だという話をどこかで聞いたことがあるのですが、
私のログではiOS13の標準メーラーでもExchange ActiveSyncを使っていました)
アプリケーションパスワード
アプリケーションパスワードは多要素認証が使えない環境用(要するにレガシー認証用ってことですね)に用意された特別なパスワードで、これを利用すると多要素認証をスキップできます。アプリケーションパスワードはExchange ActiveSyncやPOP3/IMAP4などと一緒に使うことを想定しているようなので、結局レガシー認証になります。あ、ちなみにアプリケーションパスワードそのものについて詳しく知りたい場合はこちらをどうぞ。
アプリケーションパスワードを使ってサインインしているかについてはログの[認証の詳細]から[認証方法]欄を参照するとCloudOnlyPasswordと書かれているものがありますが、これがアプリケーションパスワードです(たぶん)。
■ ■ ■
私が面倒を見ている環境では、この2つがレガシー認証を使うことになる主要因でした。
いずれもExchange Onlineにアクセスするときの認証が要因なので、Exchange Onlineに接続するクライアントアプリの見直しを行うことにしました。
クラウド側の設定が要因であれば、管理者がちゃちゃっと設定すれば終わりなんだけど、
クライアント側の要因だと、各デバイスで設定をしなきゃならないので、時間をかけて入れ替えだったり、啓蒙活動だったりをしなきゃならないんですよね。
(続く)