-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureADB2B
- 戻る(Azure(
MS_Azure.md)、Active Directory、Microsoft Azure Active Directory)- Azure Active Directory B2B collaboration
- Azure Active Directory B2C
- Azure Active Directory 条件付きアクセス
- 取引先やパートナーを自社の 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 | 内容 |
|---|---|
| Microsoft | Microsoft アカウント(MSA)か、Azure AD アカウント(組織または学校のアカウント)が自動認識される |
| Google アカウント (OAuth2) か、G Suite アカウント (SAML2) | |
| 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になる点は変わらない。
- Microsoft Azure Active Directory
- Azure Active Directory B2C
- Azure Active Directory 条件付きアクセス
- Role Based Access Control (RBAC)
- Azure AD での B2B コラボレーションとは - Microsoft Learn
Tags: クラウド, Azure, Active Directory, 認証基盤, クレームベース認証
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。