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

Azure

 

はじめに

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設定によるフェデレーションを紹介してみました。

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

コメント

タイトルとURLをコピーしました