LoginSignup
0
0

KeycloakをWindowsServer2022のHyper-V

Last updated at Posted at 2024-05-08

やることリスト

  1. Hyper-Vにdebianを入れる
  2. CentOS7にKeycloakを入れる
  3. KeycloakとADを紐付ける
  4. GoogleWorkspaceと紐付ける

参考文献

1.Hyper-Vにdebianを入れる

サーバーマネージャーのツールからHyper-Vマネージャーを開く
※なければ 管理 → 役割と機能の追加 → 役割の選択でHyper-Vを選択して進めればOK(再起動必須)

ISOは

からダウンロードしておく。サーバが物理DISK読み込めるならそれでも大丈夫っぽい
自分はNetInstallをダウンロードしてきた。

とりあえず順番に進めていけばOK

debianのインストール手順

Graphical installを選択して順番に進めていく

ネットの接続設定
DNSでADの名前解決ができるように上位のADのDNSを設定しておくと吉

ソフトウェアの選択は特にチェックなくてもOK
※GUIが欲しければチェック入れておく

インストール中にrootと初期Userの設定をしておく。

終わったら再起動かけてrootでも初期ユーザーでrootに上がってもいいので管理者権限にする

2.debianにKeycloakを入れる

とりあえずパッケージの更新と必要な物を引っ張ってくる。

# apt update && apt upgrade -y
# apt install -y wget vim openjdk-17-jdk

終わったら一旦再起動。
最新版は

こっからダウンロードできるのでtar.gzをダウンロードする。
※起動するシステムがローカルからブラウザでアクセス出来ない場合環境変数に下二行を入れる必要あり。

# wget https://github.com/keycloak/keycloak/releases/download/24.0.3/keycloak-24.0.3.tar.gz
# tar zxvf keycloak-24.0.3.tar.gz
# export KEYCLOAK_ADMIN= <username>
# export KEYCLOAK_ADMIN_PASSWORD= <password>

展開し終わったらディレクトリに行って実行する。

# cd keycloak-24.0.3.tar.gz
# bin/kc.sh start-dev

Updating the ~~
が出てしばらくしたら色々出てくるからブラウザからサーバーのIPの8080にアクセスする。

環境変数で指定したパスワードとユーザー名を入れるとログインできる

スクリーンショット 2024-05-08 221814.png
右上のKeycloakからCreate realmで適当にrealmの名前を付けてcreateする。
日本語化はRealm settingsのLocallzationからjapaneseで設定できる。

3. KeycloakとADを紐付ける

User federationからAdd LDAP providerで設定する。

UI名は適当に。
Connection URLは ldap://<ADのIP>
Bind DNは cn=Administrator,cn=Users,dc=ドメインの一番上(exampleとか),dc=ドメインの一番上(comとか)
必要であればdcを足していけばOK
スクリーンショット 2024-05-08 223508.png
あとはUserDNだけ変えて完成

スクリーンショット 2024-05-08 224042.png

ログインチェック

http://<KeycloakのIP>:8080/realms/<realmの名前>/ldap/account/
にアクセスしてADのユーザーでログイン出来たらOK

4. GoogleWorkspaceと紐付ける

Adminのアカウントから入り設定したRealmのClientに行きCreate Clientから設定する。
スクリーンショット 2024-05-08 225713.png
NextからValid redirect URIsにhttps://www.google.com/*を設定してSave

Settingsタブから写真のように設定してSave
スクリーンショット 2024-05-08 225927.png

Keysタブに移動してClient signature required を外してSave

左のメニューからRealms settingsを選択してKeyタブのRS256のCertificateをコピーする。
スクリーンショット 2024-05-08 230333.png

適当にNotePadとかを開き、

-----BEGIN CERTIFICATION-----
MIICmz................................................................
-----END CERTIFICATION-----

のような形にして適当な名前で拡張子を.pemにして保存
スクリーンショット 2024-05-08 230658.png

Google側の設定

を開き
左のメニュータブからすべてを表示にし、セキュリティ、認証、サードパーティの IdP による SSOを開く
スクリーンショット 2024-05-08 231438.png

SSOプロファイルの追加から設定する。
サードパーティの ID プロバイダで SSO を設定するにチェックを入れ、
ログインページのURLには
http://<KeycloakのIP>:8080/realms/<realm名>/protocol/saml
ログアウトページのURLには
http://<KeycloakのIP>:8080/realms/<realm名>/protocol/openid-connect/logout
を入力し、先ほどのpemファイルをアップロードして
ドメイン固有の発行元を使用のチェックを外す。
パスワード変更用のURLには
http://<KeycloakのIP>:8080/realms/<realm名>/account
を入力して保存。

Workspace上に別のアカウントを作って、ADにアカウント追加して、Usersから同じメアドを設定しておく。

TESTしてみる。

新しいプライベートウィンドウで

を開く。作ったアカウントでログインしてKeycloakに飛ばされれば成功。

お疲れさまでした。

はじめてQiita書いたので不十分な点も多かったと思いますが参考になったら幸いです。
参考にさせていただいたサイトではCentOSを使ってましたが、個人的にdebianが好きなのでdebianで構築しました。
改めて参考にさせていただいたサイトの作成者様ありがとうございます。

それではよいSSOライフを!

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