Microsoft Teamsのエラー&何度も認証を求めてくる現象について

ここ最近、Microsoft365のAPI変更やらTemasの障害やらで、いろいろ改修&アップデートしているんじゃないかな?と疑っていますが、それは良いとして、急にTemasアプリが認証を求めてきて、認証後にエラーが表示されたり、正常に認証できたその翌日にまた認証を求めて来たり・・・と不安定な動作をしていました。↓このエラー画面、よく見ません??

繰り返しになりますが、このエラー表示、認証時に表示されたり、この画面が表示されても、Teamsアプリを再起動すると正常にログイン出来ている状態になっていたりと・・・良くわからないです。

で、「サインアウトしてみてください」のリンクをクリックすると通常は再度認証画面が表示される(表示まで1~2分ぐらいかかることがあったので、ちょっと我慢です)ことが多いので、再ログインしてみてください。正常にログインできない、あるいは翌日に再発するような場合、以下の対処をしてみてください。私はこれで解決しました。

Windows資格情報を削除する

Windows OSの「資格情報の管理」を開いて「Windows資格情報」を表示、以下のレコードがある場合、削除してみてください。(とりあえず「SSO_POP_User」を削除してダメなら「MicrosoftAccount」も削除してみてください。)

SSO_POP_User:user=ユーザーアカウント
MicrosoftAccount:user=ユーザーアカウント

「MicrosoftAccount」はOSの「アカウント」設定に登録した「メールとアカウント」(組織の場合には「職場または学校にアクセスする」)の認証情報だと思います。

「SSO_POP_User」はアプリとかの認証情報なのでしょうか・・・調べても有益な情報が出てこないですね。

ちなみに自己責任で実施してください。まあ認証情報なので再認証を求められるだけでOSが壊れるとか、変なことになったことはありませんが。

この現象、1台のデバイスで複数のアカウントを利用しているような状況で良く発生するとの情報もあります。例えばMSアプリ(Word/Excelなど)はAアカウントで認証して、TeamsはBアカウントを利用しているとか。確かに私もそんな状況でした。

ということで、いろいろブラックボックスで正確なことはわかりませんが、現象が発生した時にはOSの資格情報を疑ってみてください。

【2022年4月:追記】
VPN接続している端末だとTeamsへの接続エラーが多発することを確認しました。特にBtoBで複数組織をTeamsで使い分けている環境だと組織の切り替え時にエラーが発生することが多いです。VPNを切断すると正常に利用できます。ナレッジを調べたところ「Microsoft TeamsはVPN利用:非推奨」とのことです。Google検索で「Teams VPN 非推奨 」と検索するとたくさん情報が出てきます。

・Microsoft Teamsで推奨されないテクノロジー
https://docs.microsoft.com/ja-jp/microsoftteams/microsoft-teams-online-call-flows

AzureADが発行する認証トークンについて

ここ最近、AzureADを認証基盤に利用するお客様がとても増えていると感じてます。他のIDaaSや認証ソフトウェアも検討するのですが、「セキュリティ」と「マイクロソフトという安心感」から最終的にAzureADを選択するお客様が多くなっています。まあ、世界をリードするTech Campanyですから、そりゃぁ、情報も早いし投資しているお金や人も桁違いなので、安心と言えばそうですよね。

で、今回はAzureADの認証キャッシュについてまとめてみました。「AzureADの認証キャッシュ」について解説しているマイクロソフト社の動画があり、こちらをベースに簡単にまとめてみました。お時間ある方は直接動画を見てもよいかと思います。

【マイクロソフト サポート部門が送る AzureAD認証情報のキャッシュを解き明かす】
https://www.youtube.com/watch?v=BU-nVn9CDmw

AzureADが発行する認証キャッシュの種類について

AzureADで認証が成功すると以下の認証トークンをクライアントに返します。

基本的にこれらの認証トークンを持っていると認証はスキップされます。そのため日々、利用しているユーザはID/Passなどの入力は基本的に求められないことになります。とても便利ですね。「認証を求められないのはセキュリティ上問題では?」と考える方もいるかも知れませんが、今やそんな時代ではないようです。マイクロソフト社は以下のポリシーを前提としているとのことです。

—————————————————————————————————————————————–
頻繁な認証要求(パスワード入力などの対話型認証)はユーザのパスワード入力に対する注意を低下させ、パスワード入力の形骸化へとつながり、結果として悪意のあるプロンプトに対してパスワード入力をしてしまうなどのリスクへ繋がる可能性がある。そのため、対話型認証ではなく「条件付きアクセス」などにより状況に合わせて多要素認証を要求させることや適切な運用に基づいてトークンの失効を行うことが重要。
—————————————————————————————————————————————–

ただ、みんなで利用する「共有PC」の場合は困っちゃいますね。例えば共有PCの場合にはブラウザ利用のみに限定して、「サインインの状態を維持しない(設定で強制可能)」ような運用するのも方法かと思います。

それと、一度認証してしまっているので、アクセス元の環境が変わっても「条件付きアクセス」で制御できないんじゃないの?と思われるかも知れませんが、「条件つきアクセスはATの更新タイミング(規定1時間)で継続的に評価される」ので問題ないようです。良くできていますね。ただ、「最大1時間のタイムラグがある」ってことは要注意です。

プライマリ更新トークン(PRT)について

PRTは以下の2つのシナリオで発行されます。

・Azure AD 参加済み または ハイブリッド Azure AD 参加済みの時
PRT は、ユーザが自分の組織の資格情報を使用してサインインするとき、Windows ログオン中に発行されます。PRT は、パスワードや Windows Hello for Business など、Windows 10 でサポートされているすべての資格情報と共に発行されます。

・Windows10にアカウントを追加した場合
ユーザは以下の方法で Windows 10 にアカウントを追加できます。
1.アプリ (Outlook など) にサインイン後、[組織がデバイスを管理できるようにする] で[はい]を選択
2.[設定] > [アカウント] >[職場または学校にアクセスする]> [接続] でアカウント追加

【プライマリ更新トークンとは】
https://docs.microsoft.com/ja-jp/azure/active-directory/devices/concept-primary-refresh-token

対話型の認証を強制させたいとき

そうは言っても認証を再度行わせたい場合もあるかと思います。以下はパスワード認証などの対話型認証が発生する主なシナリオです。

・ユーザのパスワードが変更された場合
・意図的に認証トークンを失効させる(Revoke-AzureADUserAllRefreshToken -ObjectID)
・条件付きアクセス機能で「サインインの頻度」を設定可能(1~23時間/1~365日間隔)

条件付きアクセス機能で認証を強制させる頻度が設定できるんですね!条件付きアクセスは「AzureAD P1ライセンス」を持っていれば利用できますので、どうしても定期的な認証をユーザに強制させたい、という方はご活用ください。

継続的アクセス評価(CAE)

従来のAzureADではアクセストークン(AT)が有効な間は条件付きアクセスやユーザ/デバイスの状態が評価されずに「最大1時間アクセスできてしまう」という問題があったが、これを解消するための機能として「継続的アクセス評価(2021年9月時点でプレビュー)」という機能がリリースされています。これを利用するとほぼリアルタイム(それでも最大15分のラグあり)でユーザやデバイス状態、場所の変化(IPアドレスの変化)を検知してアクセス制御できるようになっているようです。

【継続的アクセス評価】
https://docs.microsoft.com/ja-jp/azure/active-directory/conditional-access/concept-continuous-access-evaluation

今回はここまで。