0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KonnectのDev Portalの認証にEntra ID(AzureAD)を利用する

Posted at

API GatewayのKong GatewayのSaaS版であるKonnectでは開発者向けAPIポータル(Dev Portal)の認証にOpenID Connect(OIDC)をサポートしている。
ここではEntra ID(旧AzureAD)と連携させて、どれくらい簡単に設定できるかを確認する。
なお、公式ドキュメントはこちらになる。

準備

Azure側の設定

アプリケーションの作成

最初にAzureにアプリケーションの作成を行う。
参考にしたのはこちら
Azureにログインし、Entra IDからアプリの登録->新規登録をクリック。
20240521114831.png

以下を入力して登録ボタンを押す。

  • 名前: konnect
  • サポートされているアカウントの種類: この組織ディレクトリのみに含まれるアカウント
  • リダイレクトURI: Web, https://<Dev PortalのURL>/login

20240521132751.png

KonnectのClient IDがアプリケーションのアプリケーションIDに相当するため、作成後にアプリケーションIDを控えておく。

アプリケーションの設定

作成したアプリケーションをクリックし、証明書またはシークレットの追加->+ 新しいクライアントシークレット->追加の順にクリックする。
20240521120142.png

作成したクライアントシークレットのがKonnectのClient Secretに対応するため、作成後にそれらの値を控えておく。作成直後しかは取得できないので、見逃した場合は再作成する。

左サイドバーの概要からアプリケーションの概要画面に戻り、エンドポイントからOpenID Connect メタデータ ドキュメントに表示されているURLをコピーしブラウザで開く。
ブラウザで開くとJSON形式の出力が確認できるので、issuerの項目(https://login..../v2.0)をコピーし控えておく。

20240521120622.png

グループ要求の設定

Azureの左サイドバーのトークン構成->+ グループ要求の追加からグループ要求を追加する。
全てのチェックボックスにチェックを入れて、ID、アクセス、SAMLはそれぞれグループIDを選択して追加をクリックする。
20240521131912.png

次に+ オプションの要求の追加をクリックして以下選択して追加をクリックする。

  • トークンの種類: ID
  • 要求: email
  • Graph email のアクセス許可: チェックする

20240521132032.png

以上でAzure側の設定は終了となる。

Konnect側の設定

Dev PortalのSettings->IdentityからOIDCの横のConfigure Providerをクリックし、以下を入力してSaveする。

  • Provider URL: IssuerのURL
  • Client ID: アプリケーションID
  • Cilent Secret: シークレットIDの値

20240521133706.png

動作確認

Dev Portalにアクセスする。
アクセスすると、以下のようにSSOログインのボタンが表示されるようになる。
20240521133910.png

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

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

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?