์์ ์ค๋ช ํ๋ฏ์ด, ์คํ์์ค SSO์ค Keycloak ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์๋น์ค์ ์ด์ ์ ๋ ID ๋ฐ ์ ๊ทผ ๊ด๋ฆฌ(Access Management)์ ํตํฉ ์ธ์ฆ(SSO)์ ํ์ฉํ๋ ์คํ ์์ค ์ํํธ์จ์ด๋ก Kubernetes ๋๋ MSA ํ๊ฒฝ์ ์ต์ ํ ๋ ์๋ฃจ์ ์ ๋๋ค. ์ฝ๊ฒ ๋งํ๋ฉด ์ธ์ฆ(Authentification)๊ณผ ์ธ๊ฐ(Authorization)๋ฅผ ์ฝ๊ฒ ํด์ฃผ๊ณ SSO(Single-Sign-On)๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ๊ฒ์ด๋ค.
์ค๋์ ์ฐ๋ถํฌ(Ubuntu) ํ๊ฒฝ์์ Keycloak๋ฅผ ์ค์น ํด ๋ณด์.
โป ์ฐ๋ถํฌ ๋ฒ์ ์ Ubuntu 22.04.1 LTS ์ ๋๋ค.
์ฌ ์ ์ค ๋น
1. JAVA ์ค์น
sudo apt-get install openjdk-11-jdk
์ต์ Keycloak๋ OpenJDK 11 ์ด์ ์ค์น๊ฐ ํ์ํ๋ค.
2. KeyCloak ๋ค์ด๋ก๋
๋ค์ด๋ก๋ keycloak-21.1.1.tar.gz
์ต์ ๋ฒ์ keycloak ๊ณต์ ํํ์ด์ง์์ ํ์ธ ๋ฐ๋๋๋ค.
downloads - Keycloak
Downloads 21.1.1 For a list of community maintained extensions check out the Extensions page. Server Quickstarts Client Adapters WildFly [DEPRECATED] <= 23 ZIP (sha1) TAR.GZ (sha1) JBoss EAP [DEPRECATED] 7 ZIP (sha1) TAR.GZ (sha1) JavaScript Node.js [DEPRE
www.keycloak.org
3. ๋ค์ด๋ก๋ ๋ ํ์ผ ์์ถ ํ๊ธฐ
$ tar -zxvf keycloak-21.1.1.tar.gz
4. ๊ธฐ๋ณธ ์คํ
- keycloak ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค.
$cd keycloak-21.1.1/
- Keycloak๋ฅผ ์์ํ๊ธฐ ์ ์ ์ด๊ธฐ ๊ด๋ฆฌ์ ๊ณ์ ์ ์์ฑ ํด์ผ ํฉ๋๋ค.
- Keycloak๋ default admin ์ ์ ๊ฐ ์์ผ๋ฏ๋ก ํ๊ฒฝ์ ์ ํ ํ์ฌ ์คํํด์ผ ํฉ๋๋ค.
$ export KEYCLOAK_ADMIN=admin
$ export KEYCLOAK_ADMIN_PASSWORD=admin
- keycloak์ ์คํ ํฉ๋๋ค.
$ cd bin
$ ./kc.sh start-dev
- http://localhost:8080 ์ ์

5. Administration Console ์ ์
์ ํ์ด์ง๊ฐ ๋์ค๋ฉด Adminnistration Console ํญ์ ํด๋ฆญํด ์ค๋๋ค.

์ด๊ธฐ์ exportํ ๊ด๋ฆฌ์ ๊ณ์ ๊ณผ ํจ์ค์๋๋ฅผ ์ ๋ ฅํฉ๋๋ค. ( admin / admin )
๋ก๊ทธ์ธ์ ํ๊ฒ ๋๋ฉด ์๋์ ๊ฐ์ KeyCloak ๊ธฐ๋ณธ ๋์๋ณด๋๊ฐ ํ์๋๋ค.

๋ค์ํธ์๋ realm, client, user ์์ฑ๋ฑ์ ์์๋ณด์.