6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure API Management - OpenID Connect 認証設定

Last updated at Posted at 2021-05-28

目的

Azure API Management で OpenID Connect 認証を設定する方法を確認する
9.png

前提

Azure API ManagementでAPIは作成済
作成方法は以下を参照
Azure API Management - SwaggerからのAPIインポート、Functionsとの連携

概要

(Azure AD 設定)
1.アプリケーションを Azure AD に登録
2.クライアントシークレットの作成
3.アプリケーションID URIの追加
4.OpenID Connect メタデータ ドキュメントのエンドポイント確認
6.リダイレクトURIを Azure AD に登録(※開発者ポータル用の設定)

(API Management 設定)
5.OpenID Connect Serverの作成(※開発者ポータル用の設定)
7.APIのセキュリティ設定(※開発者ポータル用の設定)
8.Inbound processing設定

(開発者ポータル)
9.開発者ポータルを使用した動作確認

手順

1.アプリケーションを Azure AD に登録

(1).Azure portalの Azure Active Directoryで、アプリの登録+ 新規登録を選択
1.png

(2).任意のアプリケーション名を入力、その他は変更なしで登録をクリック
2.png

2.クライアントシークレットの作成

(1).Azure portalの Azure Active Directoryで、アプリの登録 → 登録したアプリを選択 → 証明書とシークレット+ 新しいクライアントシークレットを選択
3.png

(2).任意の説明を入力し追加をクリック、生成された以下**クライアントシークレットの値 [*1]**は後程使用する
4.png

3.アプリケーションID URIの追加

(1).Azure portalの Azure Active Directoryで、アプリの登録 → 登録したアプリを選択 → 概要を選択
(2).**アプリケーション (クライアント)ID [*2]**は後程使用する
(3).アプリケーションID URIの追加を選択
5.png

(4).設定を選択
6.png

4.OpenID Connect メタデータ ドキュメントのエンドポイント確認

(1).Azure portalの Azure Active Directoryで、アプリの登録 → 登録したアプリを選択 → 概要エンドポイントを選択
(1).**OpenID Connect メタデータ ドキュメント [*3]**は後程使用する
7.png

5.OpenID Connect Serverの作成

※手順9.(4) 開発者ポータルで Authorizationを選択した際に、開発者ポータルがAzure ADからidTokenを取得するための情報設定
50.png

(1).Azure portalの API Managementで、OAuth 2.0 + OpenID ConnectOpenID Connect タブ+ 追加を選択
(2).任意の名前を入力
(3).メタデータ エンドポイント URLに**OpenID Connect メタデータ ドキュメント [*3]を入力
(4).クライアント IDに
アプリケーション (クライアント)ID [*2]を入力
(5).クライアントシークレットに
クライアントシークレットの値 [*1]**を入力
(6).作成をクリック
8.png

6.リダイレクトURIを Azure AD に登録

※手順9.(4) 開発者ポータルがAzure ADから idToken取得後にリダイレクトするURIの設定

(1).作成したOpenID Connect Server 設定の許可コード付与フロー [*4],**暗黙的な許可フロー [*5]**は後程使用する
9.png

(2).Azure portalの Azure Active Directoryで、アプリの登録 → 登録したアプリを選択 → 概要リダイレクト URIを追加するを選択
20.png

(3).+ プラットフォームを追加Webを選択
21.png

(4).リダイレクトURIに**許可コード付与フロー [*4]**を入力、IDトークンにチェック、構成をクリック
22.png

(5).続けて、URIの追加を選択、**暗黙的な許可フロー [*5]**を入力、保存をクリック
23.png

7.APIのセキュリティ設定

※手順9.(4) 開発者ポータルの Authorization欄に OpenID Connectの項目を追加するための設定
50.png

(1).Azure portalの API Managementで、API → 対象のAPIのSettingタブ → Security項目の OpenID connectを選択 → 作成したOpenID Connect Serverを選択
30.png

8.Inbound processing設定

(1).Azure portalの API Managementで、API → 対象のAPIのDesignタブ → All operations+ Add Policyを選択
31.png

(2).Validate JWTを選択
32.png

(3).Header name に Authorizationを入力
(4).Faild validation error messageに 認証エラー時にレスポンスするメッセージを入力
(5).Required claimsに、Name aud、Values **アプリケーション (クライアント)ID [*2]を追加
(6).Open ID URLsに
OpenID Connect メタデータ ドキュメント [*3]**を入力
(7).Saveをクリック
33.png

9.開発者ポータルを使用した動作確認

(1).Azure portalの API Managementで、対象のAPIを選択 → サブスクリプション主キーの値(サブスクリプションキー [*6])は後程使用する
39.png

(1).ブラウザをシークレットウィンドウで開く
40.png

(2).ブラウザで開発者ポータルのURLに移動
41.png

(3).APIsから動作確認するAPIを選択 → Try itをクリック
42.png

(4).作成したOpenID Connect Serve名の項目で implicitを選択、アクセス許可ダイアログが表示されるので承諾
(5).Subscription keyの項目に**サブスクリプションキー [*6]**を入力
43.png

(6).Headersに Authorization と Ocp-Apim-Subscription-Keyが追加されていることを確認
44.png

(7).Sendボタンをクリックし、200 OKが返ってくることを確認
45.png

(8).Headersに Authorizationを載せなかった場合は認証に失敗することを確認
46.png

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?