AzureAD B2B

※これは2017年11月にID Based Securityイニシアティブ コミュニティのブログに投稿された記事です※

パーソルプロセス&テクノロジーの小浦です。

今回のお題はAzureAD B2Bの活用について取り組んでみました。
いきなり薄いところですいません。

そもそもAzureAD B2Bとはどのようなサービスか?

一言でいうと自社のAzureADのテナントに外部の「組織アカウント」もしくは「Microsoftアカウント」を招待する機能。だと言えるでしょう。

ADの世界だと異なるドメインのAD間で信頼関係を結べるのに対して、B2BはAADに対してドメインではなくユーザー単位で信頼関係を結べるという言い方をすると理解し易いと思います。

ちなみにB2Bを利用するにはAzureAD Freeプランでも可能なようですが、プランごとにできることの制限があるようです。

Azure Active Directory の価格

一部抜粋するとこんな事が書いてあります。

テナント内の従業員または非ゲスト ユーザー用に所有している Azure AD エディション ライセンスごとに、最大 5 人のゲスト ユーザーをテナントに招待できます。これらのゲスト ユーザーに提供できる機能は、購入する Azure AD エディションのタイプによって異なります。ゲスト ユーザーを無料で招待して、Azure AD 内のアプリケーションに割り当てることができます。ゲスト ユーザー 1 人につき最大 10 個のアプリケーションに割り当てることができます。Azure AD ‘Free’ エディションの他の機能 (3 つの基本レポートなど) は、ゲスト ユーザーも無料で使用できます。ゲスト ユーザーに有料の Azure AD 機能を提供する場合は、招待するテナントではゲスト ユーザー数に合った適切な数の Basic、Premium P1、Premium P2 のいずれかのライセンスが必要です (上述のように、1 つのライセンスにつき 5 人のユーザーを招待できます)。たとえば、Azure AD Basic ライセンス 1 つにつき最大 5 人のゲスト ユーザーに対して、グループ ベースのアクセス管理とプロビジョニングを設定できます。6 人目のゲスト ユーザーについては、別の Azure AD Basic ライセンスが必要です。同様に、Azure AD Premium P1 ライセンスごとに最大 5 人のゲスト ユーザーが Multi-Factor Authentication 機能 (およびすべての Azure AD Basic 機能) を使用できます。MFA を使う 6 人目のゲスト ユーザーについては、2 つ目の Azure AD Premium P1 ライセンスが必要です。

という事で1ライセンスにつきゲストを5ユーザーまで招待できるという事とゲストユーザーにAADのどの機能まで使わせるかによってテナント側のAADプランは変わってくるようです。

例)ゲストユーザーにアクセスさせるアプリに多要素認証を組み込みたい場合はPremiumP1が必要。という感じです。

それでは早速ゲストユーザーを追加してみましょう。

まずAzureADのユーザーメニューから「新しいゲストユーザー」を追加します。

今回はテスト用の組織アカウントのユーザーを登録します。

登録が成功するとユーザーの種類が「Guest」として表示されます。

ここまで登録完了するとゲストユーザーに招待元のAADから招待メールが届きます。

こんな感じです。「はじめに」をクリックして処理を完了させておいてください。

次にアプリケーションの登録が必要となりますが、ここで注意が必要なのはOffice365のライセンスを割り当てるときは365ポータルから実行する必要があります。それ以外の自社開発アプリなどを含むAADに登録しているアプリはAzureポータルから実行します。

まず、自前で登録したアプリをAzureポータルからゲストユーザーに割り当てます。今回は「CloudPilot」というアプリを選択します。

先ほど登録したユーザーを検索して登録します。

外部ユーザーですのでセキュリティポリシーなど上げる場合には、そのままポータルからAADの「条件付きアクセス」を活用して多要素認証を設定することも可能です。(Premium P1以上が必要ですが。)

※一応、多要素認証のポリシーも入れました。

ここまで設定したら実際に登録したアプリにアクセスしてみましょう!
URLから直接アクセスすることも可能ですが、自分が利用可能なアプリを確認する方法で説明します。
ここで登場するのが例のアレです。

http://myapps.microsoft.com/

AzureADの個人用ポータル「アクセスパネルアプリケーション」です。

ここのサインイン情報は自社テナントのnccppt.onmicrosoft.comです。

当たり前ですが自社で割り当てられているライセンスが見えています。では、先ほど追加された「招待元のアプリ」はどこで見えるかというと、、、

右上のユーザーをクリックするとテナントを切り替えられるようになっています。

テナントを切り替えると先ほど登録したアプリだけの表示に変わっています。

アイコンをクリックするとサインインする前に先ほどポリシーを割り当てた多要素認証が有効になっていることも確認できました。(くどいですがこの場合はPremium P1が必要です)

次にOffice365のライセンスを割り当ててみます。

365管理ポータルからゲストユーザーを検索します。
ここで365側のユーザーIDを確認してみるとこんな表示になっています。

suyama_nccppt.onmicrosoft.com#EXT#@toyosoft1.onmicrosoft.com

どうやらこのIDもログインに使えるようですが、実際にこちらのテナントではパスワードが割り当てられていないので、初期パスワードを発行する必要があるようです。(あまり意味はないです)

ここでは365E3を割り当ててみました。

それではもう一度「アクセスパネルアプリケーション」にサインインしてみます。

はい。。。O365のライセンスが反映されていません。まだ作成中かな?と思い、1日待ってみましたが反映されませんでした。サポートに問い合わせたところ不具合だそうです。。。2017年12月中には改善見込みという事なのでもう少し様子をみたいと思います。

という事で一通り触ってみた結論としては以下のように考察しました。

【メリット】

外部ユーザーが普段利用しているIDとパスワードで他テナントにアクセスできるので利便性は格段に向上。
SIベンダーがユーザーのテナントで作業をする際にはとても有効と感じました。
プロジェクトなどで外部スタッフと共同作業するときなども役立ちそうです。
テナント管理者からすると、自社のAADに外部ユーザーを作って管理する必要がないのも魅力だと思います。(ごみオブジェクトも残らない)
IDの使いまわしも出来ないのでセキュリティ的も良いと思います。

多要素認証などのP1以上のライセンスを必要とする機能についても1ライセンスで5ユーザーまで適用できるのである意味リーズナブルだと思います。
多要素などの条件付きアクセスとPIMなどを組み合わせて活用していきたいと思います。

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、弊社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。