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連携を設定することが出来た。