スキップしてメイン コンテンツに移動

GmailユーザーでMicrosoft TeamsにMSアカウントを作成せずにゲスト参加させる方法。~AzureADB2BとGCP設定

 

はじめに

TeamsへのGmailアドレスによるゲストアクセスの機能を実装する方法を紹介します。
通常で、Gmailユーザーを招待できますが、Microsoftアカウントを作成する必要があります。
しかし、Azure AD B2BでIDプロバイダーとしてGCPに設定すれば、Microsoftアカウントの必要がなくなるので、Gmailユーザーを容易にTeamsに招待することが可能になります。


そもそも、Azure AD B2Bって何?

自分の組織にゲスト ユーザーを招待して安全に共同作業を行うための機能です。
詳しくは次をご参照ください。



何がうれしいのか?

招待される側が新たにMicrosoftアカウントを作らずに済みます。ですので、招待される側は普段利用しているGmailアカウントさえあればゲストとしてTeamsやSharePointなどの共同利用が可能になります。
また、グループ設定が容易になるので、管理がしやすくなります。例えば2要素認証必須にするなどの運用がやりやすくなります。

要するにどういうこと?

GmailユーザーがMicrosoft365サービスにシングルサインオン(フェデレーション)出来るように設定可能ということです。


条件

Azure AD Premium P1 又は P2を契約
Azure AD とGCPの管理権限所持
最初の 50,000 MAU までは無料


つまり、組織でTeamsを利用している場合、Azure AD Premium P1は契約上はいっているの場合が多いので基本的に実装可能かと思います。また、月にGmailユーザーがTeamに50,000ユーザー未満のアクセスであれば無料なので、ほとんどの組織が無料で運用できるのではないでしょうか。

手順

Microsoftの公開情報を参考に検証した手順を紹介いたします。


GCPにアクセス

新しいプロジェクトを作成

プロジェクト名を入力 例では、B2BAzureAD にしました。

メッセージから作成したプロジェクトを選択

APIの概要に移動

OAuth 同意画面 > 外部 > 作成

アプリ名を入力 例ではB2BAzureADにしています。
※注意ポイントとして、アプリのロゴは絶対に設定しないでください。アプリのURLが必須になり、Teamsサインインの目的が達成できなくなります。さらに削除できないといったオマケ付きなため、振り出しにもどります。


続いて、ユーザーサポートメールについて、Googleのグループメールを設定することで、Googleユーザーの追加と削除を柔軟に運用可能になります。
Googleグループにアクセスします。

グループを作成 > グループメール > グループのメール
を設定し、。
※もし、Google Workspace のアカウントで設定している場合は、グループメールのドメインがGoogleのテナントのドメインになっているかもしれませんが、外部のGmailユーザーをゲストとして登録するので、@googlegroups.comにて設定します。

概要 > グループアカウントを確認

GCP側に戻って、
ユーザーサポートメールに先ほどのグループメールのアカウントを登録

デベロッパーの連絡先情報に自分のメールアドレスを登録し、保存して次へ

認証情報 > 認証情報を作成 > OAuth クライアント ID

アプリケーションの種類をウェブアプリケーション > 名前
例ではAzure AD B2B

承認されたリダイレクト URI に、次の3つの URI を追加します。

https://login.microsoftonline.com
https://login.microsoftonline.com/te/<tenant ID>/oauth2/authresp
(<tenant ID> はご利用のテナントの ID です)
https://login.microsoftonline.com/te/<tenant name>.onmicrosoft.com/oauth2/authresp
(<tenant name> はご利用のテナント名です)

テナントの ID確認
Azure ADからプロパティ > テナントIDで確認できます。

Microsoft365 管理センターから確認できます。onmicrosoft.com‎が対象のテナント名です。

設定を完了させるとクライアントIDとクライアントシークレットが作成されます。
こちらをAzureAD側に登録します。

OAuth > アプリを公開します。



AzureADすべての ID プロバイダー > Google > クライアントID(先ほどのID)>クライアントシークレット(先ほどのシークレット) を設定し保存します。

以上で設定完了です。

これで、Googleグループに登録したGmailユーザーをTeamsのメンバーに追加し、URLを共有することでサインイン可能になります。

ゲスト招待する方法

実際にteamsに招待してサインインする流れを紹介したいと思います。

Teamsで、招待するチームを作成します。

Gmailユーザーを追加して招待します。以上です。


ゲスト招待されたGmailユーザーがサインインする方法

Gmailに招待メールが届くので、Open Microsoft Teamsからサインインします。

Gmailアカウント選択


承諾してサインインします。
メール、もしくはアプリでパスコードを必要とする場合があります。




ゲストとしてチームに参加できました。


うまくいかない場合

キャッシュの設定等でうまくいかない場合は、シークレットモードや別のブラウザ、もしくはスマホから同じように進めるとうまくいくかもしれません。

複数のTeamsに参加している場合は、切り替えるとうまくいくかもしれません。
こちらもご確認ください。


まとめ

AzureADB2BとGCP設定によるフェデレーションを紹介してみました。
サービスの連携についてはしっかりと検討し、適切に設定することでより安全に、より快適に利用できます。
実際やってみると、ちょっとしたことで詰まったり、沼にハマることもあるかと思いますが、出来ることから少しづつでも整備していけたらいいんじゃないかな?と考えたりしてます。
ドキュメントを補足する形で記事にしてみました。

コメント

このブログの人気の投稿

GoogleアカウントだけでWEBアプリを作る方法。〜作成代行してもらったAppSheetを受け取る編

 はじめに Googleアカウントを持っていれば、Googleスプレッドシートをデータベースとしてアプリを作ることができるAppSheet。しかも、グーグルストアやアップルストアに登録する必要がなく、スマホ、タブレット、パソコンなど、色々なデバイスで利用可能な自分だけのアプリが作成可能です。 簡単にアプリを作ることが出来る ので手軽に始めることができるAppSheet。 ところが、このAppSheet。作りこみ次第ではデータからPDFを自動で作成し、指定のメールアドレスに一斉配信など、会社の 基幹システムレベルの構築が可能 であり、かなり奥の深いサービスだったりします。 作りこみを委託するケースも今後増えるんじゃないか?と思ったので、今回は 作成を代行してもらう方法 を紹介したいと思います。 手順 代行者側 Googleスプレッドシートでデータ作成 AppSheetでデータソースを紐付ける AppSheetの共同編集者に依頼者を設定する AppSheetのUsersからUser emailsに依頼者のGoogleアカウントを入力し、 私はロボットではありません をチェックします。 登録したユーザーの設定をします。 Can edit definition 、 Role:Admin、App version: Defaultにします。 Linksタブから、 アプリのURLをコピー して依頼者に共有します。 念の為、SAVEを忘れずしておきましょう。 URL共有時のメール例文 --- ○○さま お世話になっております。 アプリを作成したのでURLを送付いたします。 設定させていただいたGoogleアカウントによりアクセス可能です。 ご確認よろしくお願いいたします。 AppSheet https://www.appsheet.com/template/Apps アプリインストール用URL https://www.appsheet.com/newshortcut/○○○ ブラウザ利用におけるURL https://www.appsheet.com/start/○○○ 参考 GoogleアカウントだけでWEBアプリを作る方法。〜作成代行してもらったAppSheetを受け取る編 (goog-life.blogspot.com) --- 依頼者側 メールが届いたら、AppSheet

Google Workspaceのアカウントを個人スマホに追加して使おうとしたらアプリが使えないときの対処方法

はじめに 個人デバイスで仕事で利用しているGoogleWorkspaceを利用する場合、Androidスマホだとユーザーを別途用意してスマホにサインインするように運用したほうがセキュリティ上安全な場合があります。 ユーザー追加が終わり、アプリを利用しようとしたときにデータがスマホに同期されない原因の一つに、管理コンソール上の設定があります。 仕事用プロファイルを追加できません。 このデバイスには仕事用プロファイルを追加できません。ご不明な点がある場合は、IT管理者にお問い合わせください。 というメッセージが表示され、Gメールなどのアプリに情報が同期されず利用できないときの対処法を紹介します。 前提条件として、デバイスで仕事用プロファイルの設定が求められるといったケースです。 原因 管理コンソール上の端末管理設定が「詳細」になっているから。 解決策 モバイル管理の設定を「詳細」から「標準」に変更する。 「詳細」が選択されている場合は、Google Workspace のアカウントを利用時に仕事用プロファイルの設定が必須であり、より細かな制御が可能となります。 「標準」の設定であれば、細かな制御はできなくなってしまいますが、仕事用プロファイルの設定なくアカウント追加が可能になります。 手順 1.管理者アカウントで Google Admin にアクセス 2.デバイス>モバイルとエンドポイント>設定>一般設定>全般 3.全般>モバイル管理>標準(エージェント不要)に変更 ダウングレードの文字が出る場合があるが、OKで設定が適用されます。24時間反映にかかる場合があるみたいです。 4.既に個人のスマートフォンの [ 設定 ] > [ アカウント ] の欄に該当アカウントが存在している場合は、一度ログアウトさせてから再追加 まとめ BYODなどで、個人デバイスを業務利用するシーンが増えてきていると思います。 管理者に確認し、適切なセキュリティ運用を心がけてください。

Microsoft365アカウントでchromeBookを使う方法。~古いPCにchromeOS Flexをセットアップしてシングルサインオンしてみた

  出典:https://www.photo-ac.com/ はじめに 小規模な会社では、リモートワーク用のパソコンを調達するにもまとまった 予算を確保できない 問題があったりします。最初は補助金を活用できても、リプレース予算が捻出できなければ継続可能な運用が出来ないため、悩ましいですよね。 そんな場合、古いパソコンにchromeOS Flexをパソコンにインストールして、 ChromeBook化してリモートワークをする 方法があります。 この方法は、そもそも会社が普段利用しているグループウェアがGoogleWorkspaceだと最適なのですが、 Microsoft365を利用している会社 の場合、WindowsPCを利用したリモートワークが一般的かと思います。 そこで、高いニーズとして出てくるのが、 「MicrosoftからChromeBookライクなデバイスが提供されないのか?」といったお話なのですが、現在純正でそのようなデバイスはありません。 代替手段として、Intune(MDM)を利用してWindows端末に利用制限をかけてChromeBookライクな使い方をしている会社もありますが(むしろ一般的)、元はWindowsPCなのでChromeBookに比べて高額だったり設定が複雑だったりします。 ここでは、 Chrome OSをMicrosoft365ユーザーアカウントで利用 するといった方法を紹介したいと思います。この運用が正解だ!というつもりは無く、あくまでも一つの手段として何かの参考にしていただけると嬉しく思います。 まずは、AzureADでGoogleWorkspaceへのシングルサインインの設定が済んでいる必要があります。別の記事で紹介していますので、未だの方は参考に設定してみてください。 AzureADからGoogleWorkspaceへのシングルサインオンを実装 https://www.cd-l.net/2022/08/microsoft365google.html#toc_headline_5 公式のインストールガイドを参照ください。 chromeOS Flex インストール ガイド https://support.google.com/chromeosflex/answer/11552529?hl=ja 基本的には公式ガイドでインストールでき