次の方法で共有


Azure API Management で Microsoft Entra ID を使用して開発者アカウントを承認する

適用対象: Developer | Basic v2 | Standard | Standard v2 | Premium | Premium v2

この記事では、次の方法について説明します。

  • 組織の Microsoft Entra ID テナントまたはその他の Microsoft Entra ID ワークフォース テナントのユーザーに対して、開発者ポータルへのアクセスを有効にします。
  • Microsoft Entra ユーザーが含まれた外部グループを追加することでそれらのユーザーのグループを管理する。

開発者ポータルをセキュリティで保護するためのオプションの概要については、API Management 開発者ポータルへのアクセスをセキュリティで保護するをご覧ください。

重要

  • この記事は、Microsoft 認証ライブラリ (MSAL) を使用して Microsoft Entra アプリを構成する手順で更新されています。
  • Azure AD 認証ライブラリ (ADAL) を使用してユーザー サインイン用に Microsoft Entra アプリを構成していた場合は、 MSAL に移行します。

外部 ID が開発者ポータルへのサインインを許可する Microsoft 外部 ID を含むシナリオについては、「 Microsoft Entra External ID を使用して API Management 開発者ポータルへのアクセスを承認する」を参照してください。

ヒント

API Management では、1 つのアプリ登録と ID 構成を通じて、複数の Microsoft Entra ID テナント内のユーザーから開発者ポータルへのアクセスがサポートされるようになりました。 現在、これは Developer、Standard、Premium レベルでサポートされています。

前提条件

API Management インスタンスに移動します。

  1. Azure portal で、 API Management サービスを検索して選択します。

    検索結果に API Management サービスを示すスクリーンショット。

  2. [API Management サービス] ページで、API Management インスタンスを選択します。

    [API Management サービス] ページの API Management インスタンスを示すスクリーンショット。

Microsoft Entra ID を使用してユーザーのサインインを有効にする - ポータル

構成を簡略化するために、API Management では、開発者ポータルのユーザーに対して Microsoft Entra アプリケーションと ID プロバイダーを自動的に有効にできます。 また、Microsoft Entra アプリケーションと ID プロバイダーを手動で有効にすることもできます。

Microsoft Entra アプリケーションと ID プロバイダーを自動的に有効にする

開発者ポータルで Microsoft Entra ID を自動的に有効にするには、次の手順に従います。

  1. API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ポータルの概要] を選択します。

  2. [ポータルの概要] ページで、[Microsoft Entra ID を使用してユーザー サインインを有効にする] まで下にスクロールします。

  3. [Microsoft Entra ID を有効にする] を選択します。

  4. [Microsoft Entra ID を有効にする] ページで、[Microsoft Entra ID を有効にする] を選択します。

  5. [閉じる] を選択します。

    開発者ポータルの概要ページで Microsoft Entra ID を有効にするスクリーンショット。

Microsoft Entra プロバイダーが有効になった後:

  • Microsoft Entra テナントのユーザーは、 Microsoft Entra アカウントを使用して開発者ポータルにサインインできます。
  • Microsoft Entra ID プロバイダーの構成は、 ポータルの開発者ポータル>Identities ページで管理できます。
  • 必要に応じて、「複数のテナントのアプリ登録を構成する」の説明に従って、複数のテナントをサポートするように Microsoft Entra ID の アプリ登録を更新します。 API Management によって作成される既定のアプリ登録の名前は、API Management インスタンス名と同じです。
  • 必要に応じて、[ID]>[設定] を選択して他のサインイン設定を構成します。 たとえば、匿名ユーザーをサインイン ページにリダイレクトしたい場合があります。
  • 構成の変更があれば、開発者ポータルを再発行します。

Microsoft Entra アプリケーションと ID プロバイダーを手動で有効にする

または、Microsoft Entra ID にアプリケーションを自分で登録し、開発者ポータルの ID プロバイダーを構成して、開発者ポータルで Microsoft Entra ID を手動で有効にします。

  1. API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ID] を選択します。

  2. 上部から [+ 追加] を選択して、右側の [ ID プロバイダーの追加 ] ウィンドウを開きます。

  3. [種類] の下で、ドロップダウン メニューから [Microsoft Entra ID] を選択します。 このオプションを選択すると、他の必要な情報を入力できます。

    • [クライアント ライブラリ] ドロップダウンで、[MSAL] を選択します。
    • [クライアント ID][クライアント シークレット] を追加するには、この記事の後半の手順を参照してください。
  4. 後で使用するためにリダイレクト URL を保存します。

    Azure portal で ID プロバイダーを追加するスクリーンショット。

  5. ブラウザーの新しいタブで、Azure portal を開きます。

  6. [アプリの登録] に移動して、Microsoft Entra ID にアプリを登録します。

  7. [新規登録] を選択します。 [アプリケーションの登録] ページで、次のように値を設定します。

    • [名前] は、"開発者ポータル" などのわかりやすい名前に設定します
    • サポートされているアカウントの種類を設定し、シナリオに適した選択を行います。 複数の Microsoft Entra ID テナントのユーザーに開発者ポータルへのアクセスを許可する場合は、 任意の組織ディレクトリ (マルチテナント) で [アカウント] を選択します。
    • [リダイレクト URI][シングルページ アプリケーション (SPA)] を選択し、前の手順で保存したリダイレクト URL を貼り付けます。
    • [登録] を選択します。
  8. アプリケーションを登録したら、[概要] ページからアプリケーション (クライアント) ID をコピーします。

  9. API Management インスタンスが含まれているブラウザー タブに切り替えます。

  10. [ID プロバイダーの追加] ウィンドウで、 [クライアント ID] ボックスに [アプリケーション (クライアント) ID] の値を貼り付けます。

  11. アプリの登録を含むブラウザー タブに切り替えます。

  12. 適切なアプリの登録を選択します。

  13. サイド メニューの [管理] セクションで、[証明書とシークレット] を選択します。

  14. [証明書とシークレット] ページの [クライアント シークレット] で、[新しいクライアント シークレット] を選択します。

    • [Description](説明) を入力します。
    • [有効期限] のオプションを選択します。
    • [追加] をクリックします。
  15. ページから離れる前に、クライアント シークレット値をコピーします。 後の手順で必要になります。

  16. サイド メニューの [管理] で、[トークン構成]>[+ オプション要求の追加] を選択します。

    1. [トークンの種類][ID] を選択します。
    2. 要求として、[メール][family_name][given_name] を選択します (オンにします)。
    3. [追加] を選択します。 メッセージが表示されたら、[Microsoft Graph メールを有効にする] プロファイルのアクセス許可を選択します。
  17. API Management インスタンスが含まれているブラウザー タブに切り替えます。

  18. シークレットを [ID プロバイダーの追加] ウィンドウの [クライアント シークレット] フィールドに貼り付けます。

    重要

    キーの有効期限が切れる前に、クライアント シークレットを更新します。

  19. サインイン テナントで、Microsoft Entra へのサインインに使用するテナント名または ID を指定します。 値を指定しない場合は、共通エンドポイントが使用されます。

  20. [許可されたテナント] で、Microsoft Entra にサインインするための 1 つ以上の特定の Microsoft Entra テナント名または ID を追加します。

    Note

    追加のテナントを指定する場合は、複数のテナントをサポートするようにアプリの登録を構成する必要があります。 詳細については、「 複数のテナントのアプリ登録を構成する」を参照してください。

  21. 必要な構成を指定したら、 [追加] を選択します。

  22. Microsoft Entra 構成を有効にするため、開発者ポータルを再発行します。 左側のメニューの [開発者ポータル] で、[ポータルの概要]>[発行] を選択します。

Microsoft Entra プロバイダーが有効になった後:

  • 指定した Microsoft Entra テナント内のユーザーは、Microsoft Entra アカウントを使用して開発者ポータルにサインインできます。
  • Microsoft Entra の構成は、ポータルの [開発者ポータル]>[ID] ページで管理できます。
  • 必要に応じて、[ID]>[設定] を選択して他のサインイン設定を構成します。 たとえば、匿名ユーザーをサインイン ページにリダイレクトしたい場合があります。
  • 構成の変更があれば、開発者ポータルを再発行します。

MSAL に移行する

以前に ADAL を使用してユーザー サインイン用に Microsoft Entra アプリを構成した場合は、ポータルを使用してアプリを MSAL に移行し、API Management で ID プロバイダーを更新できます。

MSAL 互換性のために Microsoft Entra アプリを更新する

手順については、リダイレクト URI のシングルページ アプリケーションの種類への切り替えに関する記事を参照してください。

ID プロバイダーの構成を更新する

  1. API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ID] を選択します。
  2. リストから Microsoft Entra ID を選択します。
  3. [クライアント ライブラリ] ドロップダウンで、[MSAL] を選択します。
  4. [更新] を選択します。
  5. 開発者ポータルを再発行します

複数の Microsoft Entra テナントのユーザーによるアクセスを構成する

Note

複数の Microsoft Entra ID テナントのユーザーによる開発者ポータルへのアクセスのサポートは、現在、API Management Developer、Standard、Premium レベルで利用できます。

複数の Microsoft Entra ID テナントからユーザーが開発者ポータルへのアクセスを有効にすることができます。 これを行うには:

  • 複数のテナントのアプリ登録を構成します。
  • 開発者ポータルの Microsoft Entra ID ID プロバイダー構成を更新して、別のテナントを追加します。

複数のテナントのアプリ登録を構成する

ID プロバイダー用に構成するアプリの登録では、複数のテナントをサポートする必要があります。 これは、次のいずれかの方法で行うことができます。

  • アプリの登録を作成するときに、 サポートされているアカウントの種類任意の組織ディレクトリのアカウント (任意の Microsoft Entra ID テナント - マルチテナント) に設定します。
  • 以前に 1 つのテナントのアプリ登録を構成した場合は、アプリ登録の [管理>] ページで [サポートされているアカウントの種類] 設定を更新します。

複数のテナントの Microsoft Entra ID ID プロバイダー構成を更新する

ID プロバイダーの構成を更新して、別のテナントを追加します。

  1. Azure portal で API Management インスタンスに移動します。
  2. 開発者ポータルで、[ID] を選択します
  3. リストから Microsoft Entra ID を選択します。
  4. [ テナント ID ] フィールドに、追加のテナント ID をコンマで区切って追加します。
  5. Signin テナントの値を、構成済みのテナントのいずれかに更新します。
  6. [更新] を選択します。
  7. 開発者ポータルを再発行します

外部の Microsoft Entra グループを追加する

Microsoft Entra テナントのユーザーに対してアクセスを有効にすると、次のことができます。

  • Microsoft Entra グループを API Management に追加する。 API Management インスタンスをデプロイしたテナントにグループを追加する必要があります。
  • Microsoft Entra グループを使用して製品の可視性を制御します。
  1. 前のセクションで登録したアプリケーションの [アプリの登録] ページ に移動します
  2. [API のアクセス許可] を選択します。
  3. Microsoft Graph API 用に、次の最小アプリケーション アクセス許可を追加します。
    • User.Read.All アプリケーションのアクセス許可 – API Management はユーザーのグループ メンバーシップを読み取り、ユーザーがサインインしたときにグループの同期を実行できるようにします。
    • Group.Read.All アプリケーションのアクセス許可 – 管理者がポータルの [グループ] ブレードを使用して API Management にグループを追加しようとしたときに、API Management が Microsoft Entra グループ を読み取ることができるようにします。
  4. [ {tenantname} に管理者の同意を与える ] を選択して、このディレクトリ内のすべてのユーザーにアクセス権を付与します。

これで、外部の Microsoft Entra グループを、API Management インスタンスの [グループ] タブから追加できるようになります。

  1. サイド メニューの [開発者ポータル][グループ] を選択します。

  2. [Microsoft Entra グループの追加] ボタンを選択します。

    ポータルの [Microsoft Entra グループの追加] ボタンを示すスクリーンショット。

  3. ドロップダウン リストから [テナント] を選択します。

  4. 追加するグループを検索して、選択します。

  5. [選択] ボタンを押します。

外部の Microsoft Entra グループを追加したら、そのプロパティを確認して構成できます。

  1. [グループ] タブからグループの名前を選択します。
  2. グループの [名前][説明] の情報を編集します。

これで、構成された Microsoft Entra インスタンスのユーザーが次のことができるようになります。

  • 開発者ポータルにサインインします。
  • 可視性があるすべてのグループを表示し、サブスクライブする。

Note

Microsoft ID プラットフォームでのアクセス許可と同意」の記事で、委任されたアクセス許可とアプリケーションのアクセス許可の種類の違いについて詳細情報をご覧ください。

Microsoft Entra グループを API Management の同期

Microsoft Entra で構成するグループは、インスタンスに追加できるように API Management と同期する必要があります。 グループが自動的に同期されない場合は、次のいずれかの手順を使用して、グループ情報を手動で同期します。

  • サインアウトし、Microsoft Entra ID にサインインします。 通常、このアクティビティはグループの同期をトリガーします。
  • API Management の構成設定で、Microsoft Entra サインイン テナントが (テナント ID またはドメイン名のいずれかを使用して) 同じ方法で指定されていることを確認します。 API Management に Micorsoft Entra グループを追加するときに、開発者ポータルの Microsoft Entro ID の ID プロバイダーでサインイン テナントを指定します。

開発者ポータル: Microsoft Entra アカウント認証を追加する

開発者ポータルでは、既定の開発者ポータル コンテンツのサインイン ページに含まれる [サインイン] ボタン (OAuth ウィジェット) を使用して、Microsoft Entra ID を使用してサインインを有効にすることができます。

その後、ユーザーは次のように Microsoft Entra ID でサインインできます。

  1. 開発者ポータルに移動します。 [サインイン] を選択します。

  2. [サインイン] ページ Microsoft Entra ID を選択します。 このボタンを選択すると、Microsoft Entra ID のサインイン ページが開きます。

    開発者ポータルの OAuth ウィジェットを示すスクリーンショット。

    ヒント

    アクセス用に複数のテナントが構成されている場合は、サインイン ページに複数の Microsoft Entra ID ボタンが表示されます。 各ボタンにはテナント名のラベルが付けられます。

  3. Microsoft Entra テナントのサインイン ウィンドウで、プロンプトに応答します。 サインインが完了すると、ユーザーは開発者ポータルにリダイレクトされます。

これで、ユーザーは開発者ポータルにサインインし、[ ユーザー] に新しい API Management ユーザー ID として追加されます。

新しいユーザーが Microsoft Entra ID でサインインすると、新しいアカウントが自動的に作成されますが、サインアップ ページに同じウィジェットを追加することを検討してください。 サインアップ フォーム:OAuth ウィジェットでは、OAuth によるサインアップに使用されるフォームが示されます。

重要

Microsoft Entra ID の変更を有効にするには、ポータルを再発行する必要があります。