Azure API Management で Microsoft Entra ID を使用して開発者アカウントを承認する
適用対象: Developer | Basic v2 | Standard | Standard v2 | Premium
この記事では、次の方法について学習します。
- Microsoft Entra ID 内のユーザーに対して開発者ポータルへのアクセスを有効にする。
- Microsoft Entra ユーザーが含まれた外部グループを追加することでそれらのユーザーのグループを管理する。
開発者ポータルをセキュリティで保護するためのオプションの概要については、API Management 開発者ポータルへのアクセスをセキュリティで保護するをご覧ください。
重要
前提条件
Azure API Management インスタンスの作成に関するクイックスタートを完了します。
Azure API Management インスタンスで API をインポートして公開します。
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
API Management インスタンスに移動します。
Azure portal で、[API Management サービス] を検索して選択します。
[API Management サービス] ページで、ご自身の API Management インスタンスを選択します。
Microsoft Entra ID を使用してユーザーのサインインを有効にする - ポータル
構成を簡略化するために、API Management では、開発者ポータルのユーザーに対して Microsoft Entra アプリケーションと ID プロバイダーを自動的に有効にできます。 また、Microsoft Entra アプリケーションと ID プロバイダーを手動で有効にすることもできます。
Microsoft Entra アプリケーションと ID プロバイダーを自動的に有効にする
API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ポータルの概要] を選択します。
[ポータルの概要] ページで、[Microsoft Entra ID を使用してユーザー サインインを有効にする] まで下にスクロールします。
[Microsoft Entra ID を有効にする] を選択します。
[Microsoft Entra ID を有効にする] ページで、[Microsoft Entra ID を有効にする] を選択します。
[閉じる] を選択します。
Microsoft Entra プロバイダーが有効になった後:
- 指定した Microsoft Entra インスタンス内のユーザーが、Microsoft Entra アカウントを使用して開発者ポータルにサインインできます。
- Microsoft Entra の構成は、ポータルの [開発者ポータル]>[ID] ページで管理できます。
- 必要に応じて、[ID]>[設定] を選択して他のサインイン設定を構成します。 たとえば、匿名ユーザーをサインイン ページにリダイレクトしたい場合があります。
- 構成の変更があれば、開発者ポータルを再発行します。
Microsoft Entra アプリケーションと ID プロバイダーを手動で有効にする
API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ID] を選択します。
上部から [+ 追加] を選択して、右側に [ID プロバイダーの追加] ウィンドウを開きます。
[種類] の下で、ドロップダウン メニューから [Microsoft Entra ID] を選択します。 選択すると、他の必要な情報を入力できます。
- [クライアント ライブラリ] ドロップダウンで、[MSAL] を選択します。
- [クライアント ID] と [クライアント シークレット] を追加するには、この記事の後半の手順を参照してください。
後で使用するためにリダイレクト URL を保存します。
ブラウザーの新しいタブで、Azure portal を開きます。
Active Directory にアプリを登録するために、[アプリの登録] に移動します。
[新規登録] を選択します。 [アプリケーションの登録] ページで、次のように値を設定します。
- [名前] は、"開発者ポータル" などのわかりやすい名前に設定します
- [サポートされているアカウントの種類] を [任意の組織のディレクトリ内のアカウント] に設定します。
- [リダイレクト URI] で [シングルページ アプリケーション (SPA)] を選択し、前の手順で保存したリダイレクト URL を貼り付けます。
- [登録] を選択します。
アプリケーションを登録したら、 [概要] ページから [アプリケーション (クライアント) ID] をコピーします。
API Management インスタンスが含まれているブラウザー タブに切り替えます。
[ID プロバイダーの追加] ウィンドウで、 [クライアント ID] ボックスに [アプリケーション (クライアント) ID] の値を貼り付けます。
[アプリの登録] が含まれているブラウザー タブに切り替えます。
適切なアプリの登録を選択します。
サイド メニューの [管理] セクションで、[証明書とシークレット] を選択します。
[証明書とシークレット] ページの [クライアント シークレット] で、[新しいクライアント シークレット] を選択します。
- [Description](説明) を入力します。
- [有効期限] のオプションを選択します。
- [追加] をクリックします。
ページから離れる前に、クライアント シークレット値をコピーします。 この情報は後で必要になります。
サイド メニューの [管理] で、[トークン構成]>[+ オプション要求の追加] を選択します。
- [トークンの種類] で [ID] を選択します。
- 要求として、[メール]、[family_name]、[given_name] を選択します (オンにします)。
- [追加] を選択します。 メッセージが表示されたら、[Microsoft Graph メールを有効にする] プロファイルのアクセス許可を選択します。
API Management インスタンスが含まれているブラウザー タブに切り替えます。
シークレットを [ID プロバイダーの追加] ウィンドウの [クライアント シークレット] フィールドに貼り付けます。
重要
キーの有効期限が切れる前に、クライアント シークレットを更新します。
サインイン テナントで、Microsoft Entra へのサインインに使用するテナント名または ID を指定します。 値が指定されていない場合は、Common エンドポイントが使用されます。
許可されるテナントで、Microsoft Entra にサインインするための特定の Microsoft Entra テナント名または ID を追加します。
必要な構成を指定したら、 [追加] を選択します。
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 プロバイダーの構成を更新する
- API Management インスタンスの左側にあるメニューの [開発者ポータル] で、[ID] を選択します。
- リストから Microsoft Entra ID を選択します。
- [クライアント ライブラリ] ドロップダウンで、[MSAL] を選択します。
- [更新] を選択します。
- 開発者ポータルを再発行します。
外部の Microsoft Entra グループを追加する
Microsoft Entra テナント内のユーザーに対するアクセス許可を有効にしたら、次のことが可能になります。
- Microsoft Entra グループを API Management に追加する。 追加されるグループは、API Management インスタンスがデプロイされるテナント内に存在する必要があります。
- Microsoft Entra グループを使用して製品の可視性を制御する。
- 前のセクションで登録したアプリケーションのアプリ登録ページに移動します。
- [API のアクセス許可] を選択します。
- Microsoft Graph API 用に、次の最小アプリケーション アクセス許可を追加します。
User.Read.All
アプリケーションのアクセス許可 – API Management でユーザーのグループ メンバーシップを読み取って、ユーザーのログイン時点にグループ同期を実行できるようにします。Group.Read.All
アプリケーションのアクセス許可 – 管理者がポータルの [グループ] ブレードを使用してグループを API Management に追加しようとしたときに、API Management が Microsoft Entra グループを読み取ることができるようにします。
- [Grant admin consent for {tenantname}]({テナント名} に対する管理者の同意を与える) を選択して、このディレクトリ内のすべてのユーザーに対するアクセスを許可します。
これで、外部の Microsoft Entra グループを、API Management インスタンスの [グループ] タブから追加できるようになります。
サイド メニューの [開発者ポータル] で [グループ] を選択します。
[Microsoft Entra グループの追加] ボタンを選択します。
ドロップダウン リストから [テナント] を選択します。
追加するグループを検索して、選択します。
[選択] ボタンを押します。
外部 Microsoft Entra グループを追加した後、次のようにしてそのプロパティを確認および構成できます。
- [グループ] タブからグループの名前を選択します。
- グループの [名前] と [説明] の情報を編集します。
これで、構成された 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 を使用してサインインするときに新しいアカウントが自動的に作成されますが、サインアップ ページに同じウィジェットを追加することを検討できます。 サインアップ フォーム:OAuth ウィジェットでは、OAuth によるサインアップに使用されるフォームが示されます。
重要
Microsoft Entra ID の変更を有効にするには、ポータルを再発行する必要があります。
関連するコンテンツ
- Microsoft Entra ID と OAuth2.0 についてさらに学習します。
- MSAL と MSAL への移行の詳細を確認します。
- VNet 内から Microsoft Graph へのネットワーク接続のトラブルシューティング。