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?

[Proxmox] Proxmoxでkeycloak-OIDCを用いてSSOを実現する方法

Posted at

この記事は

  • Proxmoxのユーザー認証に,KeycloakのOIDCでSSOが使えるようにするための設定
  • SSOユーザーに権限を与える方法
    についてまとめる.

あらすじ

cloudflaredで公開しているKeycloakによる認証サービスを,他にも使えるところがないかと考えたところ,ProxmoxにOIDCのレルムを追加できる機能があったため試してみた.

作業内容

以下の記事を参考にした.

OIDCの設定手順

1. Keyclockのレルムの作成とクライアントの追加

これらに関しては,前回の記事が参考になるので,ここでは省略.

2. useridのMapperの追加

Proxmoxで用いるuseridが参照できるように設定する.Clientsで新たに作成したclientを選択し,その中のClient Scopeを選択する.
image.png

次に,<client-id>-dedicated (今回の場合はproxmox-dedicated)を選択し,Add Mapperを選択する.そして,From predefined mappersを選択し,その中からusernameを選択する.これで,Mapperを追加できる.

3. ユーザーの作成

Keycloakにユーザーを登録しておく.(GoogleなどのIdPを設定している場合は不要.前回の記事ではGoogleをIdPとしているため,この作業は省略した)

4. Proxmoxにkeycloak-OIDCを登録

Proxmoxのデータセンターから,アクセス権限内のレルムを選択する.そして,左上の追加をクリックし,OpenID Connectサーバーをクリックする.

image.png

image.png

そして,ポップアップが表示されたら,Issuer URLには,keyclockのURI/realms/<レルム名>を入力し,レルムにはレルム名,クライアントIDにはkeyclockで新たに作成したclient名,そしてクライアントキーには,keyclockで取得したものを設定する.(前回の記事で取得方法を解説済みなので省略)

また,自動作成ユーザーにチェックを入れ,ユーザー名の要求をusernameに設定しておく.最後に,右下の追加をクリックすることで,追加される.

セキュリティ的観点から,目的のユーザーでサインインし,ユーザーが登録されたことを確認した後は,自動作成ユーザーのチェックを解除することを強く勧める.

SSOユーザーへの権限の設定

今回は,ユーザーを個別にグループへ追加することで,権限を設定する方法を取る.

1. Poolsとグループの作成

ユーザーに与える属性として,グループを作成し,そのグループに対して割り当てるVMと権限をつなぐPoolsを作成する.

まず,グループはデータセンターのグループタブから,作成をクリックし,任意の名前で作成できる.また,Poolsも同様にPoolsタブから任意の名前で作成できる.名前が一致している必要はない.

image.png

2. Poolsにグループと権限を割り当てる

Poolsを作成すると,データセンターの下部に[設定したPoolsの名前]のタブが現れる.このタブとクリックすると,以下の画像のようにサマリ,メンバ,そしてアクセス権限が設定できる.

image.png

このうち,まずはアクセス権限の追加を行う.アクセス権限タブの追加をクリックすると,グループ・ユーザー・APIのどれに割り当てるかを選択することができる.今回は,グループに対して割り当てを行う.

グループは,先ほど作成したものを選択する.そして,ロールに関しては規定で存在しているものが複数あるため,グループに対して割り当てたい権限レベルに相当するロールを選択する.

SSOユーザーそれぞれに対して所属するグループを設定できるため,操作権限レベルごと,もしくは部門など業務内容ごとにグループを作成し,それぞれに権限を設定するという運用が想定される.

image.png

3. Poolsにメンバ(VM)を割り当てる

次に,Poolsのメンバタブで,VMを割り当てる.ここで割り当てられたVMは,VMの閲覧権限が与えられたグループのユーザーに対して表示されるようになる.また,グループの権限に従った操作が可能となる.

追加は簡単で,メンバタブの追加をクリックし,追加したいVMを選択し,追加する.

4. 自動作成されたユーザーをグループに割り当てる

最後に,ユーザーをグループに割り当てる.まず,ログイン画面でkeycloakのレルムを選択し,SSOログインを行う.その後,データセンターのユーザータブから自動生成されたユーザーを確認することができる.

自動生成されたユーザーを選択し,上部の編集をクリックする.そして表示されるポップアップのグループに,先ほど作成したグループを選択し,OKをクリックする.これで,ユーザーをグループに割り当てることができた.
image.png

まとめ

こんな感じで,ProxmoxにkeycloakのOIDCを設定するのは簡単にできるので,みんなKeycloakを運用して便利にProxmoxライフを満喫しましょう!

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?