Skip to content

MS_AzureADB2B

nishi_74322014 edited this page Aug 4, 2026 · 1 revision

Azure Active Directory B2B collaboration

概要

  • 取引先やパートナーを自社の AD に招待して、ディレクトリやユーザーを管理する機能。
  • こうした仕組みを構築するにはコストが掛かるため、利用は大規模な企業に限られた。
    • Azure AD B2B collaboration は、それをシンプルかつ無料で利用できる。
    • 参加する取引先やパートナーは、Azure AD Premium のアカウントは必要ない。
  • 異動や退職に伴うアカウント失効なども簡単に管理することが可能。

補足: B2B の要点は「招待されたユーザは自分の組織のアカウントでサインインする」 ことである。招待側はパスワードを管理しない。 相手先で退職しても、相手先のアカウントが無効になれば 自動的にアクセスできなくなる(招待側の削除漏れが致命傷になりにくい)。

Azure Active Directory B2C との違いは、 B2B = 他組織の従業員B2C = 一般消費者という対象の違いである。

詳細

ユーザの種類

  • Azure AD に登録されているユーザをホームユーザと言い、
  • ホームユーザに対して、招待したユーザは招待ユーザと呼び、
    ≠ ゲストで、以下の 2 属性がある。
  • この属性はユーザのプロパティ情報で、PowerShell で変更可。
種別 対象
メンバ 当該組織や関連会社の従業員、請負業者や代理業者
ゲスト 当該組織や関連会社のメンバーではないユーザ

権限

招待されたユーザでも、管理者権限を付与可能であるもよう。

  • 元々、VDC 管理用に使用することが想定されているタメ
  • Azure の管理者、Azure AD の管理者、双方の権限を付与できる模様。

補足(セキュリティ): 「ゲストに管理者権限を付与できる」ことは、 裏を返せば外部組織のアカウントが自社テナントを管理しうるということである。

  • ゲストの既定のアクセス許可を制限する (既定ではディレクトリの一部を列挙できてしまう)
  • 誰がゲストを招待できるかを制限する(既定では一般ユーザも招待可能)
  • アクセス レビューでゲストを定期的に棚卸しする
  • 特権付与には Entra PIM を併用し、常時付与を避ける

RBAC の「上位に付与した権限を下位で拒否できない」という 性質もそのまま効くので、スコープを絞って付与すること。

招待可能な連携先IdP

IdP 内容
Microsoft Microsoft アカウント(MSA)か、Azure AD アカウント(組織または学校のアカウント)が自動認識される
Google Google アカウント (OAuth2) か、G Suite アカウント (SAML2)
Facebook ID プロバイダーとして追加可能
任意の IdP 直接フェデレーション(SAML / WS-Fed)

補足(最新化): 現在は Google / Facebook に加えて メール ワンタイム パスコード既定の代替手段になっている。 相手が Microsoft アカウントも Azure AD も持たない場合、 招待メールに届くコードでサインインできる。 Facebook 連携は B2B では終了しており、B2C 系の機能に整理された。

招待の方法

  • ポータル — ゲスト ユーザーを追加する
  • ポータル(一括) — CSV による一括招待
  • PowerShell
# テナントIDのドメインに接続
Connect-AzureAD -TenantId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

# 招待メールの送信
New-AzureADMSInvitation `
  -InvitedUserDisplayName "UserDisplayName" `
  -InvitedUserEmailAddress xxxx@yyyy `
  -InviteRedirectURL https://myapps.microsoft.com `
  -SendInvitationMessage $true

# ユーザの確認
Get-AzureADUser -Filter "UserType eq 'Guest'"

# ユーザの削除(UPN の例)
Remove-AzureADUser -ObjectId "xxxx_yyyy#EXT#@zzzz.onmicrosoft.com"
  • ホストはゲストへロールを割り当てる。
    • 最低限、サブスクリプションの閲覧者に設定。
    • 必要に応じて、サブスクリプションのスコープにカスタム・ロールを設定。
  • ゲストはメールで招待を受け入れる。

補足(最新化): AzureAD PowerShell モジュール (Connect-AzureAD / *-AzureAD*)は 2025 年に廃止された。 現在は Microsoft Graph PowerShell SDK を使う。

Connect-MgGraph -Scopes "User.Invite.All"
New-MgInvitation -InvitedUserEmailAddress "xxxx@yyyy" `
  -InviteRedirectUrl "https://myapps.microsoft.com" `
  -SendInvitationMessage
Get-MgUser -Filter "userType eq 'Guest'"

ゲストの UPN が 元のアドレス#EXT#@テナント.onmicrosoft.com になる点は変わらない。

参考


Tags: クラウド, Azure, Active Directory, 認証基盤, クレームベース認証

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally