1
1

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のログイン認証をEntra ID(旧Azure AD)で行う

Posted at

過去にKong Gateway/KonnectとEntra IDの連携関連のメモは以下で書いてきた。

ただ、まだKonnectのログイン認証の検証はやっていなかったので、ここではその手順を確認する。

前提

検証開始時、以下が揃っているものとする。

  • Konnectにログインできる
  • アプリが作成済みで、以下を既に入手済み
    • クライアントID
    • クライアントシークレットの値
    • IssuerのURL

アプリの作成については過去のこちらの記事にまとめている。
なお、リダイレクトURIはhttps://cloud.konghq.com/loginとなる。

また今回はOIDCでログインしたユーザはKonnectのデフォルトのチームであるOrganization Adminに所属させて、Teamに割り当たっている権限が使えるようにするところをゴールとする。

連携手順の確認

Entra ID設定

ここまででEntra IDのアプリの作成は終わっているが、ロールの作成は未実施である。
ロールはKonnectのTeamとマッピングするために作成し、ログインユーザに権限を与えるために利用する。

ロールの作成はアプリのアプリロールからアプリロールの作成を選択して行う。

20240918162037.png

アプリロールの作成画面になるので、各項目を埋めて作成する。
ここでは以下のようにした。

  • 表示名:OrgAdmin for Konnect
  • 許可されたメンバーの種類:ユーザーまたはグループ
  • 値:OrgAdmin
  • 説明:Role for Team in Konnect

ここの値はKonnect内のTeamとのマッピングで利用する。
なお、Kong Gateway Enterprise版と異なり<Workspace名>:<ロール名>のような制約はないので好きな値にしてもらって問題ない。

次にロールとEntra IDのユーザとの紐づけを行う。
Entra IDのエンタープライズアプリケーションから作成したアプリを選択し、ユーザーとグループからユーザーまたはグループの追加を選択してKonnectを利用するユーザにロールを割り当てる。

割り当てが終わればユーザーとグループから割当たっていることが確認できる。
20240918164537.png

以上でEntra IDの設定は終了となる。

Konnect設定

OIDCの設定を行い、先程作成したロールとTeamを紐づけてログインユーザがKonnect内で操作を出来るように設定する。
まずKonnectにログインし、Organization->SettingsからAuthentication Schemeのタブの中にあるOIDCのConfigureをクリックする。
20240918133729.png

最初に以下の入力項目を入力する。

  • Issuer URI
  • Client ID
  • Client Secret
  • Organization Login Path

Issuer URIClient IDClient SecretについてはEntra IDで取得したものを入力する。
Organization Login PathについてはOIDCログインのURLのためのパスであり、https://cloud.konghq.com/login/<指定した値>でOIDCログインが出来るようになる。

上記値設定後、Entra ID固有の設定をAdvanced Settings部分に行う。

  • Scopes:<Client ID>/.defaultを追加
  • Claim Mappings:Groupsをrolesに変更

以下のような感じで入力したら、Saveをクリックする。
20240918165608.png
Saveすると以下のようにOIDCがConfiguredかつDisabledになる。
20240918165931.png

OIDCの横のをクリックし、Enable OIDCをクリックしてOIDC連携を有効化する。
有効化したタイミングで認証を使ってログイン出来るようになるが、権限とのマッピングが終わっていないので操作がまともに出来ない。
権限を与えるためにマッピングを行う。
Authentication Schemeのタブの横にあるTeam MappingsをクリックしIdp Mapping Enabledのチェックボックスを有効化する。
有効化するとTeam名とGroup Nameのマッピング画面が出てくるので、Organization Adminに先ほどロール作成時に設定した値(ここではOrgAdmin)を設定する。
20240918170431.png

Saveをクリックして保存したら設定は終了となる。

動作確認

https://cloud.konghq.com/login/<Organization Login Pathで指定した値>にアクセスするとEntra IDの認証が求められるので入力して先に進む。
ログイン後、ログインしたユーザのTeamを確認すると、適切にマッピングされていることが確認できる。
20240918174318.png

またControl Planeの作成など各種操作が行えることも確認できる。

ハマりどころ

アプリのロールとKonnectのTeamのマッピングが上手く行かないと、以下の画面を見続けることになる。
20240918151553.png

上手く行かない場合は以下あたりを見直してみると良いと思う。

  • ロール名とTeam Mappingで設定したGroup Nameが一致するか
  • Claim Mappingsの設定でGroupsにrolesを設定しているか
  • OIDCをEnabledにしているか
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?