API GatewayのKong GatewayのSaaS版であるKonnectでは開発者向けAPIポータル(Dev Portal)の認証にOpenID Connect(OIDC)をサポートしている。
ここではEntra ID(旧AzureAD)と連携させて、どれくらい簡単に設定できるかを確認する。
なお、公式ドキュメントはこちらになる。
準備
Azure側の設定
アプリケーションの作成
最初にAzureにアプリケーションの作成を行う。
参考にしたのはこちら。
Azureにログインし、Entra IDからアプリの登録->新規登録をクリック。

以下を入力して登録ボタンを押す。
- 名前:
konnect - サポートされているアカウントの種類:
この組織ディレクトリのみに含まれるアカウント - リダイレクトURI:
Web,https://<Dev PortalのURL>/login
KonnectのClient IDがアプリケーションのアプリケーションIDに相当するため、作成後にアプリケーションIDを控えておく。
アプリケーションの設定
作成したアプリケーションをクリックし、証明書またはシークレットの追加->+ 新しいクライアントシークレット->追加の順にクリックする。

作成したクライアントシークレットの値がKonnectのClient Secretに対応するため、作成後にそれらの値を控えておく。作成直後しか値は取得できないので、見逃した場合は再作成する。
左サイドバーの概要からアプリケーションの概要画面に戻り、エンドポイントからOpenID Connect メタデータ ドキュメントに表示されているURLをコピーしブラウザで開く。
ブラウザで開くとJSON形式の出力が確認できるので、issuerの項目(https://login..../v2.0)をコピーし控えておく。
グループ要求の設定
Azureの左サイドバーのトークン構成->+ グループ要求の追加からグループ要求を追加する。
全てのチェックボックスにチェックを入れて、ID、アクセス、SAMLはそれぞれグループIDを選択して追加をクリックする。

次に+ オプションの要求の追加をクリックして以下選択して追加をクリックする。
- トークンの種類:
ID - 要求:
email - Graph email のアクセス許可: チェックする
以上でAzure側の設定は終了となる。
Konnect側の設定
Dev PortalのSettings->IdentityからOIDCの横のConfigure Providerをクリックし、以下を入力してSaveする。
- Provider URL:
IssuerのURL - Client ID:
アプリケーションID - Cilent Secret:
シークレットIDの値
動作確認
Dev Portalにアクセスする。
アクセスすると、以下のようにSSOログインのボタンが表示されるようになる。

Continue with SSOをクリックしてEntraIDのアカウントでログインすると以下のようにDevPortalの画面が表示される。

ということで、特に苦労することなく簡単にOIDC連携を設定することが出来た。



