Azure AD B2Bを見てみよう Part1

皆さんこんにちは。国井です。
先日、Interact 2018というイベントでお話させていただいた
Azure AD B2Bについてですが、結構反響が大きかったので、
こちらのブログでも紹介しておきたいと思います。

Azure AD B2Bとは?

Azure AD B2Bとは、他のAzure ADテナントにいるユーザーを自分たちのAzure ADテナントにゲストユーザーとして登録することで、自分たちのAzure ADテナントに登録されているアプリに対するアクセス許可を他の会社のユーザーに割り当てられるようにしましょうという機能です。

Azure ADの信頼関係

仕組みとしては、OAuth2.0を使ったID連携を行っています。なので、もともとのユーザーがいるテナントとは別に、ゲストユーザーと呼ばれるユーザーを作成し、2つのIDを連携させるような設定を行わせるのです。

あと、以前の投稿の時点では、ゲストユーザーを登録した後、送信されるメールのリンクをクリックする必要がありましたが、現在はアクセス許可が割り当てられているクラウドサービス(アプリ)に直接アクセスして利用開始することも可能になっています。

登録方法

ゲストユーザーの登録設定は、Azure管理ポータルから行えるほか、PowerShellなどから行うことができます。

■Azure管理ポータルから作成
Azure管理ポータルの場合、[Azure Active Directory]-[ユーザー]から[新しいゲストユーザー]を選んで作成します。

■PowerShellから作成
Azure ADv2 PowerShell
から、New-AzureADMSInvitationコマンドレットを使って作成します。

New-AzureADMSInvitation -InvitedUserEmailAddress <招待するAzure ADユーザー名> -SendInvitationMessage $True -InviteRedirectUrl "http://myapps.microsoft.com" -SendInvitedUserType guest

基本的にInvitedUserEmailAddressオプションで指定したメールアドレスにメールが送られますが、もしメールを送りたくない場合は、-SendInvitationMessage $Falseとしてください。
ここまでの設定で、ゲストユーザーが作られ、アクセスパネル(http://myapps.microsoft.com) へのアクセス許可が割り当てられたことになります。
最後に余談ですが、New-AzureADMSInvitationコマンドレットには-SendInvitedUserTypeというオプションがあります。デフォルトの値はguestという設定ですが、memberと指定することもできます。memberにすると、他の一般のAzure ADユーザーと同じユーザーの扱いになるので、Azure管理ポータルからユーザー一覧が見えちゃうなどの問題が発生します。

■CSVファイルから作成
事前に以下のようなCSVファイルを作っておき、Azure ADv2 PowerShellを使って実行します(そういえば、Interact 2018の資料のスライド8のコマンドは間違ってましたね。
正しくは↓こちら↓を参照してください)。

・CSVファイルのサンプル

Email
kunii@adfs.jp
arai@adfs.jp

・PowerShellコマンドレットのサンプル

$Invites = Import-Csv <CSVファイルのパス>
Foreach ($Invite in $Invites) {
New-AzureADMSInvitation -InvitedUserEmailAddress $Invite.Email -SendInvitationMessage $True -InviteRedirectUrl "https://myapps.microsoft.com" -SendInvitedUserType guest
}

■クラウドサービス(アプリ)から作成
OneDrive for Businessの共有設定や、Azure Information Protectionのアクセス許可設定などで、社外(自分たちのAzure ADテナント外)のユーザーにアクセス許可を割り当てると、実は裏ではAzure AD B2Bの機能を通じて、ゲストユーザーが作成されています。

こちらのブログでも紹介されているように、これが結構困ったことになるんですよね。。

次回は、いつの間に作られるAzure ADの話をしてみたいと思います。