entra-external-id について
顧客IDやパートナーアクセスを管理するチーム向けの Microsoft Entra External ID 設定スキルです。顧客IDと、ワークフォーステナントでのB2B連携を区別し、認証、条件付きアクセス、移行計画を扱います。
主な機能
- 01顧客用とワークフォース用のテナント境界の計画
- 02サインアップ、サインイン、IDプロバイダーの設定
- 03カスタム認証拡張機能の設定
- 04パートナーとのテナント間アクセス管理
- 05Azure AD B2C移行の計画
活用シーン
- 01顧客向けアプリのサインアップとサインインの設定
- 02Azure AD B2CユーザーのExternal IDへの移行
- 03パートナーのテナント間アクセスとMFA信頼の設定
- 04外部ユーザー向け条件付きアクセスポリシーの設計
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vinayaklatthe/ microsoft-security-skills --skill entra-external-idインストール後、Claude Code で/entra-external-idを入力して読み込まれたか確認します。
詳細
Microsoft Entra External ID
Entra External ID は、従業員以外の ID を対象とする Microsoft の統合プラットフォームです。
- 専用の 外部テナント での 顧客 ID(CIAM) — 新規デプロイでは Azure AD B2C の後継となります。
- ワークフォーステナント での ビジネスパートナーとのコラボレーション(B2B) — ゲスト、B2B ダイレクト接続、テナント間アクセス設定が含まれます。
どちらも同じ管理画面で管理され、同じ条件付きアクセスエンジンを使用します。
使用する場面
- ソーシャルアカウントまたはメールでのサインアップにより、アプリで顧客や消費者を認証する場合。
- Azure AD B2C を置き換える場合(新規 CIAM デプロイで Microsoft が示している移行先です)。
- 条件付きアクセスを適用して、外部パートナーを B2B ゲストとして招待し、管理する場合。
- フェデレーションされたパートナー組織のテナント間アクセスを構成する場合。
従業員 ID(entra-id)、ワークフォースのライフサイクルガバナンス
(entra-id-governance)、またはワークフォースの CA ポリシー作成
(conditional-access-mfa)には、このスキルを使用しないでください。
外部テナントとワークフォーステナント — まず選択する
| シナリオ | テナントの種類 |
|---|---|
| 一般公開の消費者向けアプリ、ソーシャルアカウント/メールでのサインアップ、ブランドをカスタマイズしたサインイン | 外部テナント(CIAM) |
| パートナー企業の従業員が Teams/SharePoint/アプリで共同作業する | ワークフォーステナント(B2B ゲスト、テナント間アクセス) |
| 両方 | 分離した外部テナントと既存のワークフォーステナント |
経験則: 顧客と従業員を同じワークフォーステナントに混在させないでください — ライセンス、ブランディング、ライフサイクル、CA の適用範囲がすぐに大きく異なってきます。
進め方
外部テナント(CIAM)
-
外部テナントを作成します(ワークフォーステナントとは別に作成します)。リージョンを選択してください。 データの保存場所はテナントごとに固定されます。
-
外部テナントに顧客アプリを登録します。SDK:Web/SPA/モバイル向けの MSAL、 およびネイティブ統合。
-
ユーザーフローを作成します。 組み込みフローでは、サインアップ/サインイン、パスワード リセット、プロフィール編集といった一般的なケースに対応しています。次の項目を構成します。
- ID プロバイダー(メール+パスワード、メール OTP、Google、Facebook、Apple、汎用 OIDC、SAML)。
- パスキーのサポート(リージョンによりプレビュー/GA)— 初日からパスワードレスにできます。
- 収集するカスタム属性。
- ブランディング(ロゴ、色、サインインページのカスタム CSS/HTML)。
-
カスタム認証拡張機能は、従来の B2C カスタムポリシー XML モデルに代わるものです。 次の 2 種類があります。
- トークン発行開始 — サインイン時に外部 API を呼び出してクレームを拡充します (例:CRM からロイヤルティランクを照会する)。
- 属性の収集/送信 — サインアップ時に API を呼び出し、新しいユーザーを検証または 拡充します(例:サードパーティによる本人確認)。
-
外部ユーザーに条件付きアクセスを適用します。 外部テナントで CA ポリシーを適用します — リスクベースの MFA、デバイスプラットフォームの制限、国のブロックなどです。外部 テナントの CA は含まれています。
-
Azure AD B2C から移行します — インプレースアップグレードはできません。次の計画を立ててください。
- External ID でアプリ登録とユーザーフローを再作成します。
- Microsoft Graph を使ってユーザーを一括移行します(パスワードはエクスポートできません。ユーザーは 初回サインイン時にリセットするか、ジャストインタイム(JIT)移行で段階的に移行します)。
- 移行中は B2C と External ID を並行稼働させ、アプリごとに切り替えます。
Workforce tenant(B2B コラボレーション)
-
テナント間アクセス設定 — パートナーテナントごとに、次を決定します。
- B2B コラボレーション:ユーザーをゲストとして自分のテナントに招待します。
- B2B ダイレクト接続:ユーザーは自分のテナントのゲストにならずに、Teams 共有チャネル経由でアクセスします(現在:Teams と選択したリソース)。
- 受信 MFA の信頼:パートナーの MFA クレームを信頼し、再認証を求めません。
- 送信制限:ユーザーがパートナーのテナントで実行できる操作を制限します。
-
既定のポリシーは許容的です。 既定のテナント間アクセスをブロックに変更してから、信頼できるパートナーテナントを許可リストに追加します。
-
ゲストのライフサイクル。 次を設定します。
- 非アクティブなゲストの検出と自動クリーンアップ(Entra ID Governance のアクセスレビュー)。
- ゲスト招待の制限 — 組織内で誰が招待できるかを指定します(既定では全員。特定のロールに設定します)。
- 招待メールドメインの許可リスト/拒否リスト。
-
Workforce tenant でのセルフサービス サインアップとユーザーフローは、B2B セルフサービス コラボレーションでサポートされています — パートナーが自分で登録するポータルに便利です。
-
ゲストには CA を明示的に適用します。 既定では CA の「すべてのユーザー」にゲストも含まれますが、多くの組織では個別の、より厳格なポリシーが必要です(常に MFA を要求し、ゲストのデバイスは管理対象ではないためデバイス準拠チェックは行いません)。
ガードレール
- 顧客と従業員を同じテナントに配置しないでください。 ブランド設定、ライセンス、CA の適用範囲、ライフサイクルがすべて競合します。
- 今後は External ID を使用してください。Azure AD B2C は新しいテナントではメンテナンス モードです。 新しい CIAM を構築する場合は、External ID が既定の選択肢です。
- カスタム認証拡張機能は HTTP Webhook です。 認証パスで実行されるため、高可用性、低レイテンシ、冪等性が必要です。
- テナント間アクセスの既定値は許容的です。 初期状態では、どのテナントのユーザーでも招待でき、共有コンテンツにアクセスできる可能性があります。初日から制限してください。
- B2B ダイレクト接続ではゲスト オブジェクトが作成されません — ガバナンスモデルが異なります。ゲストのアクセスレビューを適用しても、ダイレクト接続ユーザーを検出できるとは限りません。
- ゲストのパスワードは自分のテナントにありません。 MFA を強制するには、明示的な CA ポリシーか、パートナーからの受信 MFA の信頼が必要です。
- メール OTP は MFA ではありません。 MSA/ソーシャル アカウントを持たないユーザー向けのサインアップを簡便にするものです。実際の MFA を追加してください。
- External ID のパスキーは、顧客認証において最も強力です。 主な認証方法として、パスワード+OTP よりパスキーを推奨してください。
よくあるアンチパターン
- 「顧客を Workforce tenant のゲストにする」 — ライセンスが分かりにくくなり、ブランド設定が競合し、大規模環境ではガバナンスが不可能になります。
- 「XML をインポートして B2C カスタム ポリシーを移行する」 — External ID はこれらを使用しません。拡張機能を使って作り直してください。
- 「テナント間アクセスを既定のままにする」 — どのパートナーでも招待でき、どのユーザーでも招待される可能性があり、MFA の調整も行われません。明示的に設定してください。
- 「ゲストの非アクティブ期間を 365 日にする」 — 監査で指摘され、侵害時の影響範囲が拡大します。90 日または 180 日にしてください。
- 「カスタム認証拡張機能の Webhook を単一リージョンの App Service でホストする」 — サインインが停止します。マルチリージョン構成にして、正常性プローブを設定してください。
- 「従業員と同じ CA ポリシーをゲストにも適用する」 — ゲストはデバイス準拠チェックに失敗してブロックされます。ゲスト用のポリシーを個別に作成してください。
- 「Workforce Entra ID のセルフサービス サインアップで顧客認証を構築する」 — 小規模なパートナー利用には対応できますが、CIAM の規模やブランド設定には対応できません。
プロンプトの例
メールアドレス+パスキーと Google サインインを利用するコンシューマー向けモバイルアプリ用に、Entra External ID テナントを構築してください。顧客への影響を最小限に抑えながら、200,000 人のユーザーと 3 つのアプリを Azure AD B2C から Entra External ID に移行してください。サインイン時に CRM のロイヤルティランクをトークンに追加するカスタム認証拡張機能を作成してください。クロステナントアクセスの既定値を厳格化し、受信 MFA 信頼を設定した 12 のパートナーテナントを許可リストに登録してください。ゲストにサインインのたびに MFA を要求し、レガシー認証をブロックする条件付きアクセスを展開してください。2 社の戦略的パートナー向けに、Teams の共有チャネル用 B2B ダイレクト接続を設定してください。パートナーユーザー 8,000 人を対象に、四半期ごとのゲストアクセスレビューを実施してください。ワークフローと Graph の自動化も含めます。
Microsoft Learn
- External ID の概要: https://learn.microsoft.com/entra/external-id/external-identities-overview
- 外部テナント(CIAM): https://learn.microsoft.com/entra/external-id/customers/overview-customers-ciam
- B2B コラボレーションの概要: https://learn.microsoft.com/entra/external-id/what-is-b2b
- クロステナントアクセス設定: https://learn.microsoft.com/entra/external-id/cross-tenant-access-overview
- B2B ダイレクト接続: https://learn.microsoft.com/entra/external-id/b2b-direct-connect-overview
- カスタム認証拡張機能: https://learn.microsoft.com/entra/identity-platform/custom-extension-overview
- ユーザーフロー: https://learn.microsoft.com/entra/external-id/customers/how-to-user-flow-sign-up-sign-in-customers
- External ID のパスキー: https://learn.microsoft.com/entra/external-id/customers/concept-authentication-methods-customers
- Azure AD B2C から External ID への移行: https://learn.microsoft.com/entra/external-id/customers/concept-planning-your-solution
- 外部テナントの条件付きアクセス: https://learn.microsoft.com/entra/external-id/customers/how-to-multifactor-authentication-customers