目的
Azure API Management で OpenID Connect
認証を設定する方法を確認する
前提
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
で、アプリの登録
→ + 新規登録
を選択
(2).任意のアプリケーション名を入力、その他は変更なしで登録をクリック
2.クライアントシークレットの作成
(1).Azure portalの Azure Active Directory
で、アプリの登録
→ 登録したアプリを選択 → 証明書とシークレット
→ + 新しいクライアントシークレット
を選択
(2).任意の説明を入力し追加をクリック、生成された以下**クライアントシークレットの値 [*1]**は後程使用する
3.アプリケーションID URIの追加
(1).Azure portalの Azure Active Directory
で、アプリの登録
→ 登録したアプリを選択 → 概要
を選択
(2).**アプリケーション (クライアント)ID [*2]**は後程使用する
(3).アプリケーションID URIの追加
を選択
4.OpenID Connect メタデータ ドキュメントのエンドポイント確認
(1).Azure portalの Azure Active Directory
で、アプリの登録
→ 登録したアプリを選択 → 概要
→ エンドポイント
を選択
(1).**OpenID Connect メタデータ ドキュメント [*3]**は後程使用する
5.OpenID Connect Serverの作成
※手順9.(4) 開発者ポータルで Authorization
を選択した際に、開発者ポータルがAzure ADからidToken
を取得するための情報設定
(1).Azure portalの API Management
で、OAuth 2.0 + OpenID Connect
→ OpenID Connect タブ
→ + 追加
を選択
(2).任意の名前を入力
(3).メタデータ エンドポイント URLに**OpenID Connect メタデータ ドキュメント [*3]を入力
(4).クライアント IDにアプリケーション (クライアント)ID [*2]を入力
(5).クライアントシークレットにクライアントシークレットの値 [*1]**を入力
(6).作成をクリック
6.リダイレクトURIを Azure AD に登録
※手順9.(4) 開発者ポータルがAzure ADから idToken
取得後にリダイレクトするURIの設定
(1).作成したOpenID Connect Server 設定の許可コード付与フロー [*4],**暗黙的な許可フロー [*5]**は後程使用する
(2).Azure portalの Azure Active Directory
で、アプリの登録
→ 登録したアプリを選択 → 概要
→ リダイレクト URIを追加する
を選択
(4).リダイレクトURIに**許可コード付与フロー [*4]**を入力、IDトークンにチェック、構成をクリック
(5).続けて、URIの追加
を選択、**暗黙的な許可フロー [*5]**を入力、保存をクリック
7.APIのセキュリティ設定
※手順9.(4) 開発者ポータルの Authorization
欄に OpenID Connect
の項目を追加するための設定
(1).Azure portalの API Management
で、API
→ 対象のAPIのSettingタブ → Security
項目の OpenID connect
を選択 → 作成したOpenID Connect Serverを選択
8.Inbound processing設定
(1).Azure portalの API Management
で、API
→ 対象のAPIのDesignタブ → All operations
→ + Add Policy
を選択
(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をクリック
9.開発者ポータルを使用した動作確認
(1).Azure portalの API Management
で、対象のAPIを選択 → サブスクリプション
→ 主キー
の値(サブスクリプションキー [*6])は後程使用する
(3).APIs
から動作確認するAPIを選択 → Try it
をクリック
(4).作成したOpenID Connect Serve名の項目で implicit
を選択、アクセス許可ダイアログが表示されるので承諾
(5).Subscription keyの項目に**サブスクリプションキー [*6]**を入力
(6).Headersに Authorization
と Ocp-Apim-Subscription-Key
が追加されていることを確認