Teamsの共有チャネルを条件付きアクセスで制御してみる
はじめに
前回の記事はTeamsの共有チャネルがどのような動きをするかを確認しました。
今回は共有チャネルの条件付きアクセスを検証してみます。
認証アーキテクチャ
B2Bコラボレーション(ゲスト)やB2B直接接続の認証の仕組みは以下の通りです。
※ MFAを前提にかみ砕いてみます。
外部組織にアクセスした際、クロステナントアクセスの組織設定、信頼設定が構成されていれば、認証情報にMFAトークンが含まれていれば素通り、含まれていなければ自組織でMFAを要求されるようです。
なぜ信頼設定が便利なのか
信頼設定を構成せずにB2Bコラボレーション(ゲスト)でTeamsを利用するケースを考えます。
自組織・招待されたテナント両方に「Teamsリソースにアクセス時はMFAを要求する」条件付きアクセスのポリシーがあるとします。
まずは自組織のTeamsリソースにアクセスする際にMFAを要求されます。
その後、テナントを切り替える際に、招待されたテナントのTeamsリソースにアクセスする際もMFAを要求されます。
このようにクロステナントアクセスの信頼設定がない状態ではMFAを2回要求されていました。
Microsoft Authenticatorのアプリにも自組織・招待されたテナントの情報が2個存在します。(≒2回セットアップする必要があった)
招待されるテナントが増えるほど管理が大変
一例ですが、招待された組織で先にMFAの設定をすると、自組織でMFAを要求されたときに「既にMFAセットアップしてるようだからセットアップ不要だね」と判断されるので、自社のMFAを突破できず管理者がMFA再登録要求をする必要がありました。(今は発生しないかもですが)
ユーザーの認証方法の欄にも2個存在
また、MFAはまだいいですが「準拠したデバイス」や「ハイブリッドAzureAD参加」は1台のデバイスで1組織のみ利用できる特徴から、テナント間でデバイス情報をやり取りできないので条件付きアクセスの利用は非推奨でした。
いろいろ面倒くさいので、自組織のテナントでMFAや準拠したデバイスを設定しておけば、その情報を他組織でも利用できる機能がクロステナントアクセスの信頼設定です。
信頼できる項目
2023年1月時点では以下の認証情報を外部組織でも利用できます。
- 多要素認証
- 準拠したデバイス(Intune)
- ハイブリッドAzureAD参加デバイス
「相手の情報を受け入れる」ので送信設定ではなく受信設定です。
分かりやすい多要素認証の項目で検証します。
条件付きアクセス設定
以下の条件で条件付きアクセスを有効化します。
作成場所 | ポリシー |
---|---|
招待する側 | ゲストまたは外部ユーザーがすべてのリソースにアクセス時MFAを要求する |
招待される側 | 自組織のユーザーがTeamsリソースにアクセス時MFAを要求する |
招待する側のポリシーは「B2Bコラボレーションゲストユーザー」・「B2B直接接続ユーザー」とします。
「B2B直接接続ユーザー」を選択しても自組織のユーザーは対象外となり、外部組織のユーザーが共有チャネル利用時に対象となります。
特定の Microsoft アプリケーション (現在、Microsoft Teams Connect 共有チャネル) へのシングル サインオン アクセスを許可する別の Azure AD 組織との相互の双方向接続である B2B 直接接続を介してリソースにアクセスできる外部ユーザー。 B2B 直接接続ユーザーは Azure AD 組織にプレゼンスを持たず、代わりにアプリケーション内から管理されます (Teams 共有チャネル所有者など)。
「条件付きアクセスで自組織のユーザーが共有チャネルにアクセスをブロック」といったことはできません。
そういった要件はTeamsのポリシーやクロステナントアクセスので調整する必要がありそうです。
前回の記事に少し記載してます。
サインインログ
Azure AD管理センター > 監視 > サインインログのフィルター機能でクロステナントアクセスを選択すると見やすいです。
信頼設定なしでアクセスしてみる
条件付きアクセスでポリシーを有効化後、まずは信頼設定を構成せずに共有チャネルにアクセスします。
結果です。
外部ユーザー種別 | 結果 |
---|---|
B2Bコラボレーション(ゲスト) | 自組織と外部組織でMFAを2回要求される |
B2B直接接続(共有チャネル) | 自組織でMFAをクリアしたが、外部組織でMFAを要求されずアクセスがブロック |
B2Bコラボレーションと同じ結果になると予想していましたが、アクセスがブロックされました。
不具合とかではなくドキュメントにきちんと記載されています。(ドキュメント一読大事!)
(手順6)信頼設定が構成されていないときに MFA が必要な場合、B2B コラボレーション ユーザーに MFA の入力を求め、リソース テナントで満たす必要があります。 B2B 直接接続ユーザーのアクセスはブロックされます。 デバイスのコンプライアンスが必要だが評価できない場合、B2B コラボレーションと B2B 直接接続の両方のユーザーのアクセスがブロックされます。
つまり、外部組織が共有チャネル利用時にMFAを必須としていた場合、外部組織の信頼設定がなければMFAをセットアップするように促されず、無条件でアクセスがブロックされます。
だからB2Bコラボレーションと動きが違ったのか。。(B2Bは信頼設定未構成で外部組織からMFAの設定を要求されます。)
B2B直接接続(共有チャネル)のエラーコード。信頼設定をしてねだって
サインインログにも残っています
信頼設定を構成してアクセスしてみる
招待をする側のみが信頼設定を構成していれば問題ないです。
信頼設定は既定で無効化しておいて、組織ごとに構成するのが良いかもしれません。
※信頼設定を構築する組織が多ければ既定で構成するほうが良いかなと思います。
結果です。
外部ユーザー種別 | 結果 |
---|---|
B2Bコラボレーション(ゲスト) | 自組織でMFAを1回要求されアクセス可能 |
B2B直接接続(共有チャネル) | 自組織でMFAを1回要求されアクセス可能 |
理想的な動きとなりました。
MFA情報を自組織から外部組織に渡せました
招待する側のみ条件付きアクセスを設定している場合は?
※ここからはB2B直接接続(共有チャネル)のみで検証を進めます。
以下の条件付きアクセスで共有チャネルにアクセスしてみます。
作成場所 | ポリシー |
---|---|
招待する側 | ゲストまたは外部ユーザーがすべてのリソースにアクセス時MFAを要求する |
招待される側 | ID・パスワードのみ(≒なし) |
招待された外部組織のユーザーは、TeamsにID・パスワードでアクセスでき、共有チャネルではない自組織のチャネルには通常通りにメッセージをやり取りできます。
ただし、共有チャネルにアクセスすると自組織のMFAを要求されるポップアップが出現しました。
MFAをクリアすると共有チャネルでメッセージや共有チャネルに紐づいたサイトのドキュメントにもアクセスできます。
MFAをクリアできなければ、共有チャネルでメッセージのやり取りはできますが、共有チャネルに紐づいたサイトのドキュメントにはアクセスできません。
共有チャネルでメッセージのやり取りもできなくなるのかなと思ってました。
※公式ドキュメントで情報は見つけられませんでした。。
MFAをクリアできなくても、共有チャネル上部のアクセス許可の確認を押すことで再トライできます。
サインイン頻度は使える?
最後に以下の条件付きアクセスで共有チャネルにアクセスしてみます。
作成場所 | ポリシー |
---|---|
招待する側 | ゲストまたは外部ユーザーがすべてのリソースにアクセス時MFAを要求する。サインインの頻度で1時間ごとにMFAを要求する。 |
招待される側 | ID・パスワードのみ(≒なし) |
「毎回」はIntune登録時といった特定のイベントのみが対象なので、1時間ごとにMFAを要求するようにしてみました。
サインインの頻度についてはサポートチームのブログをご覧ください
結果です。
外部ユーザー種別 | MFA | 結果 |
---|---|---|
B2B直接接続(共有チャネル) | 成功 | 1時間ごとに外部組織でパスワードと自組織でMFAを1回要求され共有チャネルにアクセス可能 |
B2B直接接続(共有チャネル) | 失敗 | 共有チャネルでメッセージのやり取りはできるが共有チャネルに紐づいたサイトのドキュメントにはアクセス不可 |
パスワード要求画面は招待した側のテナント、MFAは招待された側のテナント(ホームテナント)でした。
会社のブランドを設定しているとどっちのテナントで要求されているかわかりやすい
サインインの頻度も共有チャネルで利用できました。
パスワードレスの設定(Authenticatorの電話利用)をしているのにパスワードを必ず要求されるので、パスワードを知らせていない組織はご留意ください。
おわりに
共有チャネルが普及してテナント切り替え作業がなくなりますように!
Discussion