はじめに
こんにちは。ACS事業部)土居です。
この記事は エーピーコミュニケーションズ Advent Calendar 2023 の2日目の投稿です。
皆さん、AzureやMicrosoft 365等に代表されるMicrosoft Cloudは日々利用されているかと思います。 これらMicrosoft Cloudの統合認証基盤であるMicrosoft Entra ID(Azure Active Directory)を組織間のコラボレーションを実現される場合、Microsoft Entra External IDを活用すると、パートナーやゲストとの共同作業やアクセス管理を柔軟に行うことが出来ます。
仕事柄、業務でMicrosoft Azureの共同利用を行うことが非常に多いので、その際に設定しておいたほうがよいポイントを自分視点で解説していきます。
Microsoft Entra External IDとは?
Microsoft Entra IDは統合認証基盤として、様々なIDを利用することが可能なわけですが、その中の分類として大きく「内部向けID」と「外部向けID」の2つを有します。 内部向けIDは、主に以下のようなものが該当します。自組織のみでMicrosoft Entra IDを利用する場合はほとんどこれらのIDで事足りることが多いと思います。
- Microsoft Entra ID テナントで作成したユーザーアカウント
- サービスプリンシパル
- マネージドID
外部向けIDは、Microsoft Entra ID テナント内には存在しない外部ユーザーID(別のMicrosoft Entra IDテナントのID、Google、FacebookなどのソーシャルID)を利用します。 Microsoft Entra External ID とは、これら外部向けIDを活用して、組織外のユーザーと安全に対話できる方法の全体像を指します。
Microsoft Entra External IDでは、以下の組織間コラボレーションを行う機能があります。
B2B コラボレーション - 外部ユーザーが自組織のID を使用して Microsoft アプリケーションや他のエンタープライズ アプリケーション (SaaS アプリ、カスタム開発アプリなど) にサインインすることで、外部ユーザーと共同作業を行います。 B2B コラボレーション ユーザーはディレクトリで表され、通常はゲスト ユーザーとして表示されます。組織間のコラボレーションでは規模感問わず一番多く利用するのがこのパターンとなるため、今回はこちらのB2Bコラボレーションを前提に説明します。
B2B 直接接続 - 別の Microsoft Entra テナントとの間で相互に双方向の信頼関係を確立します。 主なユースケースとしては、M&Aや会社統合などにより各組織で利用していた大規模なMicrosoft Entra テナント同士を活用するようなシーンが考えられます。
Azure AD B2C - 様々なIDプロバイダーと連携して、B2C(企業-顧客)間のアプリケーションIDアクセス管理に利用される。
Microsoft Entra マルチテナント組織 - テナント間同期を使用して、1 つの Microsoft Entra 組織内の複数のテナントと共同作業を行います。
B2B コラボレーションユーザーのユーザーオブジェクトは、内部向けIDと同じMicrosoft Entra IDテナント上に作成され管理ができます。つまり、B2B コラボレーションユーザーのアクセス許可も招待したMicrosoft Entra IDから行うことが可能となります。
Microsoft Entra External IDの機能をサブスクリプションに紐付けよう
Microsoft Entra External IDでは、現在1 か月間に認証を行った一意の月間アクティブ ユーザー数に基づいた価格モデルが採用されています。従来は、Microsoft Entra ID P1 または P2 ライセンスごとに最大 5 人のゲスト ユーザーが許可されていた 1:5 の比率の課金モデルが採用されていたのですが、現在はサブスクリプションにExternal IDをアクティベートすることで、これらの課金がサブスクリプションに紐づく形になっています。しかも、サブスクリプションに紐づける価格モデルでは、1 か月あたり最初の 50,000 人の MAU (アクティベーション)については無料となり、 Microsoft Entra ID P1、P2相当の機能をこれらアクティブユーザーに対して適用することができるようになります!B2B コラボレーションユーザーで50,000 人も扱うことはほとんどないと思うので、是非組織間のコラボレーションの際はサブスクリプションへのアクティベートを有効にしておきましょう。
アクティベートは公式の以下手順から実行することができますが、以下の条件が必要なのでご注意下さい。
- 任意のリソースグループを作成しておく
- サブスクリプション内の共同作成者のロール または サブスクリプション内のリソースグループが割り当てられているアカウントを準備する
- Azure側でリソースプロバイダーで
Microsoft.AzureActiveDirectory
を登録してAzure ADとの連携設定を可能にしておく (リソースプロバイダーの登録方法はこちらを参照。)
B2B コラボレーションを利用して、ゲストユーザーを招待しよう
こちらの記事を参照し、パートナーやゲストなど組織間でコラボレーションしたいユーザーを、自組織のMicrosoft Entra テナントに招待しましょう。
条件付きアクセスを利用してアクセスポリシーを制御しよう
Microsoft Entra External IDを利用すれば、Microsoft Entra ID P1相当の機能を、外部向けIDに対して有効化できます。パートナーやゲストアカウントは可能な限り、Microsoft Entra ID P1の機能である条件付きアクセスを利用してセキュアなアクセスポリシーを設定します。例えばですが、MFAを強制させたり、特定のグローバルIPからのみAzure Portalにアクセスできるよう設定を行うことが可能です。
MFAについては、任意のB2B コラボレーションユーザーのオブジェクトを対象に以下の条件付きアクセスポリシーを参考に設定してやれば問題ありません。
特定のグローバルIPからのみアクセスを許可するためには、「条件付きアクセス」-「ネームドロケーション」に、許可するグローバルIPを登録します。次に、条件付きアクセスポリシーで、「条件」-「場所」-「対象外」で登録したネームドロケーションを指定します。最後に、「アクセス制御」を「アクセスのブロック」としてあげることにより特定グローバルIP以外からのアクセスはブロックするといった動作が可能となります。このあたりは、他のブログでも多く取り上げられているので是非参考にしてみて下さい。
公式の参考となるドキュメントも合わせて載せておきます。 learn.microsoft.com learn.microsoft.com jpazureid.github.io
また、Microsoft Entra External IDの条件付きポリシーでは、一部機能は利用できませんので注意下さい。とはいっても、ほとんどのやりたいニーズは十分満たせると思います。
おわりに
いかがだったでしょうか?
Microsoft Entra External IDでは他にも様々な活用ケースがあります。無償で利用できる場合も多いため、是非みなさんも積極的に利用を検討してみて下さい。
私達ACS事業部はAzureのクラウドネイティブ技術を軸に内製化のご支援をしております。ご相談等ありましたらぜひご連絡ください。
また、一緒に働いていただける仲間も募集中です!
切磋琢磨しながらスキルを向上できる、エンジニアには良い環境だと思います。ご興味を持っていただけたら嬉しく思います。