๊ด๋ฆฌ์๋ฅผ ์ค์ ํ๋ ์ต๊ณ ๊ด๋ฆฌ์์
์ผ๋ฐ ๊ณ ๊ฐ์ ๊ด๋ฆฌํ๋ ์ผ๋ฐ๊ด๋ฆฌ์๋ฅผ ๋ถ๋ฅํ๋ ค ํ๋ค.
์ด๋ ์ด ๋ถ๋ฅ๋ฅผ keycloak์ผ๋ก ํด๋ณด๋ ค๊ณ ํ๋ค.
keycloak์ด ๋ฌด์์ด๋ฉฐ, ์ด๋ค ๊ธฐ๋ฅ์ด ์๋์ง ์ดํด๋ณด์.
1. Keycloak์ ๊ธฐ๋ฅ
- ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ก๊ทธ์ธ ์์์ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๊ณ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์ฅํ ํ์๊ฐ ์์ด Keycloak์ ํตํด ์ธ์ฆํ๋ค.
- Single Sign-On : Keycloak์ ํ ๋ฒ ๋ก๊ทธ์ธํ๋ฉด ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ ๋ ๋ค์ ๋ก๊ทธ์ธํ ํ์๊ฐ ์๋ค. ์ฌ์ฉ์๋ ์ฌ๋ฌ ์๋น์ค์ ๊ฐ๊ฐ ๋ก๊ทธ์ธ ํ ํ์๊ฐ ์์ด ํ ๋ฒ์ ์ธ์ฆ์ด๋ฉด ๋ชจ๋ ์ฐ๊ฒฐ๋ ์ฑ์ ์ด์ฉํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ธฐ๋ฅ์ ๋ก๊ทธ์์๋ ๊ทธ๋๋ก ์ ์ฉ๋๋ค.
- Identity Brokering and Social Login : ์์ฒด ๊ณ์ ์ธ์ ์ธ๋ถ ์ธ์ฆ ์์คํ ์ ์ฐ๋ํ ์ ์๋ค. ์ด ์์๋ก ์์ ๋ก๊ทธ์ธ(OIDC Brokering)์ด ์๋ค. ๊ตฌ๊ธ, ๊นํ๋ธ, ํ์ด์ค๋ถ ๋ฑ์ ๊ณ์ ์ผ๋ก ๊ฐํธ ๋ก๊ทธ์ธ์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
- User Federation: ๊ธฐ์กด์ ์ด์ ์ค์ธ ์ฌ์ฉ์ DB๊ฐ ์๋ค๋ฉด Keycloak์ ํตํฉํ ์ ์๋ค. LDAP/Active Directory ์ฐ๋์ ๊ธฐ์ ๋ด ๊ธฐ์กด ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ์ปค์คํ DB ์ฐ๋์ ์์ฒด ๊ฐ๋ฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(MySQL, PostgreSQL ๋ฑ)์ ์๋ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋๋ก ํ์ฅ ๊ฐ๋ฅํ๋ค.
- Admin Console : ๊ด๋ฆฌ์๋ ๊ด๋ฆฌ ์ฝ์์ ํตํด Keycloak ์๋ฒ์ ๋ชจ๋ ์ธก๋ฉด์ ์ค์์์ ๊ด๋ฆฌํ๋ค. Realm, ํด๋ผ์ด์ธํธ, ์ญํ , ๊ถํ, ์ธ์ ๋ฑ์ ์ค์์์ ์ ์ดํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฃผ ์ธ๋ถ์ ์ด๊ฒ ๊ถํ ๋ถ์ฌ ์ ์ฑ ์ ์ ์ํ๋ฉฐ ๊ถํ ๋ฐ ์ธ์ ์ ํฌํจํ์ฌ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
- Account Management Console : ์ฌ์ฉ์๋ค์ ๊ณ์ ๊ด๋ฆฌ ์ฝ์์ ํตํด ์์ ์ ๊ณ์ ์ ๊ด๋ฆฌํ ์ ์๋ค. ํ๋กํ์ ์ ๋ฐ์ดํธํ๊ณ , ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๊ณ , 2๋จ๊ณ ์ธ์ฆ์ ์ค์ ํ ์ ์๋ค. ์์ ๋ก๊ทธ์ธ์ด๋ ID ๋ธ๋ก์ปค๋ง์ ํ์ฑํํ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ๊ณ์ ์ ์ถ๊ฐ ์ ๊ณต์ ์ฒด์ ์ฐ๊ฒฐํ์ฌ ์๋ก ๋ค๋ฅธ ID ์ ๊ณต์ ์ฒด๋ฅผ ํตํด ๋์ผํ ๊ณ์ ์ ์ธ์ฆํ ์ ์๋ค.
- Brute Force(๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ) ๋ฐฉ์ง : ์ผ์ ํ์ ์ด์ ๋ก๊ทธ์ธ ์คํจ ์ ๊ณ์ ์ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- Authorization Services : Keycloak์ ์ธ๋ถํ๋ ๊ถํ ๋ถ์ฌ ์๋น์ค๋ ์ ๊ณตํ๋ค. ๋จ์ํ ๋ก๊ทธ์ธ์ ๋์ด ๋ฌด์์ ํ ์ ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค. ์ญํ ๊ธฐ๋ฐ ๊ถํ ๊ด๋ฆฌ๋ ์๊ณ ์ด๊ฒ๋ณด๋ค ๋ ๋ณต์กํ๊ณ ์ธ๋ฐํ ๊ถํ ์ ์ฑ ์ ์ค์ ํ ์ ์๋ค.
- SAML 2.0 ์ง์ : SAML์ ์ฃผ๋ก ๊ธฐ์
ํ๊ฒฝ์์ ์ค๋ซ๋์ ์ฌ์ฉ๋์ด ์จ SSO ํ์ค์ด๋ค. Keycloak์ด SAML์ ์ง์ํ๋ ์ด์ ๋ OIDC ์ด์ ์ ๊ตฌ์ถ๋ ์ค๋๋ ๋ ๊ฑฐ์ ์์คํ
์ด๋, ํ์ฌ ์ํฐํ๋ผ์ด์ฆ ์๋ฃจ์
๊ณผ์ ์ฐ๋์ด ๋งค์ฐ ์ฉ์ดํ๋ค๋ ๋ป์ด๋ค. ์ต์ ๊ธฐ์ ๋ถํฐ ์ ํต์ ์ธ ๊ธฐ์ ๊น์ง ๋ชจ๋ ์์ฐ๋ฅด๋ ๊ฐ๋ ฅํ ํธํ์ฑ์ ์๋ํ๋ค.
Q. OIDC์ LDAP/Active Directory๋ ๋ฌด์์ผ๊น?
A. OIDC๋ OpenID Connect์ ์ค์๋ง๋ก OAuth 2.0 ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฐ๋ฐฉํ ํ์ค ์ธ์ฆ ํ๋กํ ์ฝ์ด๋ค. ์ฌ์ฉ์ ID๋ฅผ ๊ฒ์ฆํ๊ณ IDํ ํฐ(JWT ํ์, JWT๋ ์ธ์ฆ์ ํ์ํ ์ ๋ณด๋ค์ JSON ๊ฐ์ฒด์ ๋ด์ ์ด๋ฅผ ์ํธํํ์ฌ ์์ ํ๊ฒ ์ ๋ฌํ๋ ์ผ์ข ์ ๋์งํธ ์ ๋ถ์ฆ์ด๋ค.)์ ํตํด ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ๋ฌํ๋ฉฐ ๋ค์ํ ํ๋ซํผ์์ ์ฌ์ฉ์ ์ธ์ฆ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋๋ฆฌ ์ฌ์ฉ๋๋ค. ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ์ด๋ป๊ฒ ์์ ํ๊ฒ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์์ง์ ๋ํ ํ์ค ์ฝ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผ๋ก ์์ ๋ก๊ทธ์ธ์ด OIDC๋ฅผ ์งํจ๋ค.
LDAP/Active Directory๋ ๊ธฐ์ ๋ด๋ถ ์๋ฒ์ ์ค์น๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ์ข ์ด๋ค. Active Directory(AD)๋ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ๋ง๋ ์ ํ ์ด๋ฆ์ด๋ค. ์ ์ธ๊ณ ๋๋ถ๋ถ์ ๊ธฐ์ ์ด ์ฌ๋ด PC ๋ก๊ทธ์ธ, ์ด๋ฉ์ผ, ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉํ๋ค. LDAP๋ AD ๊ฐ์ ์์คํ ๊ณผ ํต์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ ์ฉ ์ธ์ด์ด์ ํ๋กํ ์ฝ์ด๋ค. ๊ทธ๋์ ๊ธฐ์ ์์ AD๋ฅผ ์ฌ์ฉํ๋ค๋ ๋ง์, ์ง์ ์ ๋ณด๋ MS์ AD ์๋ฒ์ ๋ค ๋ค์ด๊ฐ ์๋ค๋ ์๋ฏธ์ด๋ค.
OIDC๋ ์ธ์ฆ ์์์ผ๋ก ์ด ์ฌ๋์ด ๋ณธ์ธ์ธ์ง ํ์ธํ๋๋ฐ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ LDAP/AD๋ ๋ฐ์ดํฐ ๋๊ธฐํ๋ก ์ ์ ์ ๋น๋ฐ๋ฒํธ๊ฐ ๋ง๋์ง ํ์ธํ๋๋ฐ ์ฌ์ฉํ๋ค.
Q. ID ๋ธ๋ก์ปค๋ง์ ๋ฌด์์ผ๊น?
A. ID ๋ธ๋ก์ปค๋ง์ Identity Brokering์ผ๋ก ์ฝ๊ฒ ๋งํด์ Keycloak์ด ์ค๊ฐ ์ค๊ฐ์ธ ์ญํ ์ ์ํํ๋ ๊ธฐ๋ฅ์ด๋ค. ์ฌ์ฉ์๊ฐ ์๋น์ค์ ๋ก๊ทธ์ธํ๋ ค๊ณ ํ ๋, Keycloak์ด ์ง์ ์์ด๋/๋น๋ฐ๋ฒํธ๋ฅผ ๊ฒ์ฆํ๋ ๋์ ๊ตฌ๊ธ, ํ์ด์ค๋ถ ๋ฑ ๋ค๋ฅธ ํ์ฌ์ ์ธ์ฆ ์๋ฒ์ ์ด ์ฌ๋์ด ๋ง๋์ง ํ์ธํด๋ฌ๋ผ๊ณ ์์ฒญ์ ๋๊ธฐ๋ ๋ฐฉ์์ด๋ค.
์์ ๋ก๊ทธ์ธ ๊ณผ์ ์ด ID ๋ธ๋ก์ปค๋ง์ ๋ํ์ ์ธ ์์์ด๋ค. ์ฌ์ฉ์๊ฐ [Google๋ก ๋ก๊ทธ์ธ] ๋ฒํผ์ ํด๋ฆญํ๋ค. ๊ทธ๋ฌ๋ฉด ์ด๋ ์ฌ์ฉ์๋ฅผ Google ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธํ๋๋ฐ ์ด๊ฒ Keycloak ๋ธ๋ก์ปค๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
Keycloak
Keycloak - the open source identity and access management solution. Add single-sign-on and authentication to applications and secure services with minimum effort.
www.keycloak.org
2. Keycloak์ ํต์ฌ ์ฉ์ด
- Realm(๋ ๋ฆ)
๊ฐ์ฅ ํฌ๊ณ ๋ ๋ฆฝ์ ์ธ ๊ด๋ฆฌ ๋จ์์ด๋ค. Keycloak ์๋ฒ ๋ด๋ถ์ ์์ฑํ ์ ์๋ ๋ ๋ฆฝ๋ ๊ฐ์ ๊ณต๊ฐ ๋๋ ํ ๋ํธ(Tenant, ์๋ ๊ณต๊ฐ์ ์ ์ ํ ์์ฐจ์ธ(๋งค์ฅ) ๋๋ ํด๋ผ์ฐ๋ ์ปดํจํ ํ๊ฒฝ์์ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ ์ฌ์ฉ์/์กฐ์ง)๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค. ARealm๊ณผ BRealm์ ์์ ํ ๋ถ๋ฆฌ๋๋ค. ARealm์ ์ฌ์ฉ์๋ BRealm์ ๋ก๊ทธ์ธํ ์ ์์ผ๋ฉฐ ์ค์ ๋ํ ๊ณต์ ๋์ง ์๋๋ค. - Client(ํด๋ผ์ด์ธํธ)
Keycloak์ ํตํด ์ธ์ฆ/์ธ๊ฐ๋ฅผ ๋ฐ์ผ๋ ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์๋น์ค๋ฅผ ์๋ฏธํ๋ค. ์ฌ์ฉ์(User)๊ฐ ์๋๋ค. ์ฐ๋ฆฌ ํ์ฌ ์ผํ๋ชฐ ์น์ฌ์ดํธ, ์ผํ๋ชฐ ๋ชจ๋ฐ์ผ ์ฑ, ์ฃผ๋ฌธ ์ฒ๋ฆฌ ๋ฐฑ์๋ API ๋ฑ์ด ๋ชจ๋ ๊ฐ๊ฐ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ ์ ์๋ค. - User(์ฌ์ฉ์)
Keycloak์ ๋ก๊ทธ์ธ(์ธ์ฆ)์ ์๋ํ๋ ์ฃผ์ฒด์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋์ ์๋ฏธํ๋ฉฐ ๊ฐ ์ฌ์ฉ์๋ ID, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ, ์ด๋ฆ ๋ฑ์ ์์ฑ์ ๊ฐ์ง๋ค. - Role(์ญํ )
์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ ์ ์๋ ๊ถํ ๋๋ ๊ผฌ๋ฆฌํ์ด๋ค. ์ธ๊ฐ์ ํต์ฌ ์์์ด๋ค. admin, manager, use, guest ๋ฑ์ด ๋ํ์ ์ธ ์์์ด๋ค. Realm Role์ ํด๋น Realm ์ ์ญ์์ ์ฌ์ฉ๋๋ ๊ณตํต ์ญํ ์ด๋ค. Client Role์ ํน์ ํด๋ผ์ด์ธํธ(์ ํ๋ฆฌ์ผ์ด์ ) ๋ด์์๋ง ์๋ฏธ๊ฐ ์๋ ์ญํ ์ด๋ค.
[Keycloak] 1. Keycloak ์๊ฐ์ ํต์ฌ ๊ฐ๋
์๋ ํ์ธ์! IT ์ ๋ฌธ ๋ธ๋ก๊ฑฐ ํฌ๋ํ์ ๋๋ค. ๐ค๋ฐ์ดํฐ ์์ง๋์ด๋ง๊ณผ AI ์๋๋ฅผ ์ด์๊ฐ๋ฉด์ ์ฐ๋ฆฌ๋ ์๋ง์ ๋ฐ์ดํฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฃจ๊ฒ ๋ฉ๋๋ค. ์ด ๊ณผ์ ์์ '์ธ์ฆ'๊ณผ '์ธ๊ฐ'๋ ์์คํ ๋ณด์์
kjbg.tistory.com
3. Keycloak Role
- Realm Level Roles
์ ์ฒด ์์ญ์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ญํ ๋ก, ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ์ ์ฉ ๊ฐ๋ฅํ๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ด์์ด ์ฌ์ฉ์์ ์ ๋ถ์ด๋ ์ง๋ฌด๋ฅผ ๋ํ๋ผ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ์์๋ก admin(์ ์ฒด ๊ด๋ฆฌ์ ๊ถํ), user(์ผ๋ฐ ์ฌ์ฉ์ ๊ถํ), manager(์ค๊ฐ ๊ด๋ฆฌ์ ๊ถํ) ๋ฑ์ด ์๋ค. Realm Level Roles๋ ๊ด๋ฆฌ์๋ผ๋ ์ญํ ์ ํ ๋ฒ๋ง ๋ง๋ค์ด๋๋ฉด ์ด๋ ๊ณณ์์๋ ์ฌ์ฉํ ์ ์์ด ํธ๋ฆฌํ ๋ฉด์ด ์๋ค. → ์ด ์ฌ์ฉ์๋ ๋๊ตฌ์ธ์ง ๋ํ๋ด๋ ๋๋ - Client Level Roles
ํน์ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ง ์ฌ์ฉ๋๋ ์ญํ ๋ก, ํด๋น ํด๋ผ์ด์ธํธ ๋ด์์๋ง ์ ํจํ๋ค. ๊ฐ ํด๋ผ์ด์ธํธ(์ ํ๋ฆฌ์ผ์ด์ ) ์ค์ ๋ด์์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์๋๋ฉฐ, ํด๋น ํด๋ผ์ด์ธํธ ๋ฐ์์๋ ๋ณด์ด์ง ์๋๋ค. ์์๋ก ๋ฐฐ๋ฌ์ฑ์ผ๋ก ๊ฐ์ ํด๋ณด๊ฒ ๋ค. ์๋น ์ฃผ์ธ์ restaurant-owner, ๋ฐฐ๋ฌ๋ถ๋ delivery-boy๋ก ์ค์ ํ ์ ์๋ค. Client Level Roles๋ ๋ค์์คํ์ด์ค๊ฐ ๋ถ๋ฆฌ๋์ด ๊ด๋ฆฌ๊ฐ ๊น๋ํ๋ค. ์ฑ์ด ๋ง์ ๊ฒฝ์ฐ Realm์์ ๋ง๋ค๋ ค๊ณ ํ๋ฉด ์ด๋ฆ์ด ์ถฉ๋ํ๊ฑฐ๋ ๊ธธ์ด์ง ์ ์๋๋ฐ, ์ด๋ฐ ์ ์ ๋ฐฉ์งํด์ค๋ค. → ์ด ์ฑ์์ ๋ฌด์์ ํ ์ ์๋์ง ๋ํ๋ด๋ ๋๋ - Composite Roles
์ฌ๋ฌ ๊ฐ์ ์ญํ ์ ํ๋๋ก ๋ฌถ์ด ๊ด๋ฆฌํ๋ ๋ณตํฉ ์ญํ ๋ก ์ญํ ๊ด๋ฆฌ์ ํจ์จ์ฑ์ ์ฆ๋ํ๋ค. Relam Level Roles์์ ์ ์ฉํ ๋ด์ฉ๊ณผ Client Level Roles ๋ด์ฉ์ ํฉ์ณ ๋ณตํฉ์ ์ธ ์ญํ ์ ๋ถ์ฌํ๋ค. ์์๋ก super_admin์ ๋ง๋ค์ด admin + manage + editor ๊ถํ์ ํฌํจ์ํจ๋ค. ํน์ content_team์ ๋ง๋ค์ด writer + editor + reviewer ๊ถํ์ ํฌํจ์ํจ๋ค.
[OpenSource] Keycloak ์ดํดํ๊ธฐ -4 : Keycloak ๊ถํ ๋ฐ ์ข ๋ฅ
ํด๋น ๊ธ์์๋ Keycloak์ ๊ถํ์ ๋ํด์ ์์ธํ ์์๋ด ๋๋ค.๐ก [์ฐธ๊ณ ] Keycloak ์ด๊ธฐ ๊ตฌ์ฑ์์๋ถํฐ ํ์ฉ๋ฐฉ๋ฒ์ ๋ํด ๊ถ๊ธํ์๋ฉด ์๋์ ๊ธ์ ์ฐธ๊ณ ํ์๋ฉด ๋์์ด ๋ฉ๋๋ค.๋ถ๋ฅ์ฃผ์ URLDockerDocker Compose
adjh54.tistory.com
4. ๊ถํ ํ ๋น ๋ฐ ๊ถํ ๋งคํ
- ์ง์ ํ ๋น ๋ฐฉ์
์ฌ์ฉ์๋ ํด๋ผ์ด์ธํธ์๊ฒ ๊ฐ๋ณ์ ์ผ๋ก ์ญํ ์ ์ง์ ๋ถ์ฌํ๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ฅ ์์ด์ ์ธ ๋ฐฉ๋ฒ์ด๋ค. ๋ช ํํ ๊ถํ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ ์ฌ์ฉ์๋ง๋ค ๊ถํ ์ค์ ์ ํ ์ ์๊ณ , ์ฆ๊ฐ์ ์ธ ๊ถํ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์๊ฐ ๋ง์์ง๋ฉด ๋๊ฐ ์ด๋ค ๊ถํ์ ์ ๊ฐ์ก๋์ง ํ์ ํ๊ธฐ ์ด๋ ค์์ ธ์ ๊ด๋ฆฌ๊ฐ ํ๋ค์ด์ง๋ค. → ์๊ท๋ชจ ํ๋ก์ ํธ๋ ํ ์คํธ ์ ์ ์ฉํ๋ค. - ๊ทธ๋ฃน์ ํตํ ํ ๋น ๋ฐฉ์
์ฌ์ฉ์๋ฅผ ๊ฐ๋ฐํ ํน์ ๊ธฐํํ๊ณผ ๊ฐ์ ๊ทธ๋ฃน์ ๋ฃ๊ณ ๊ทธ ๊ทธ๋ฃน์ ์ญํ ์ ๋ถ์ฌํ๋ ๋ฐฉ์์ด๋ค. ๋๊ท๋ชจ ์ฌ์ฉ์ ๊ด๋ฆฌ์ ํจ์จ์ ์ด๋ฉฐ ์ผ๊ด๋ ๊ถํ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋ค. → ์ผ๋ฐ์ ์ธ ๊ธฐ์ ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ฌ๋ด ์์คํ ์์ ์ ์ฉํ๋ค. - ๋ณตํฉ ์ญํ ์ ํตํฉ ํ ๋น ๋ฐฉ์
์ฌ๋ฌ ๊ฐ์ ์์ ์ญํ ์ ๋ฌถ์ด ํ๋์ ํฐ ์ญํ ์ ๋ง๋๋ ๋ฐฉ์์ด๋ค. ๊ถํ์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์์ค ์ฝ๋์์๋ ์ธ๋ถ ์ญํ ๋ง ์ฒดํฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ด๋ฆฌ์๋ ํฐ ์ญํ ๋ง ๋ถ์ฌํ๋ฉด ๋๋ค. → ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ ์ฌ๋ฌ ์ฑ์ ๊ถํ์ ํตํฉ ๊ด๋ฆฌํ ๋ ์ ์ฉํ๋ค. - ๋งคํผ๋ฅผ ํตํ ๋์ ๋งคํ
์ฌ์ฉ์์ ์์ฑ์ด๋ ์ธ๋ถ DB ์ ๋ณด์ ๋ฐ๋ผ ํ ํฐ์ ๋ค์ด๊ฐ ๊ถํ ์ ๋ณด๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ณํํ๋ ๋ฐฉ์์ด๋ค. ์์๋ก ์ด๋ฉ์ผ์ด @tistory.com์ผ๋ก ๋๋๋ฉด ๋ฌด์กฐ๊ฑด editor ๊ถํ์ ๋ถ์ฌํ๋ค์ ๊ฐ์ ์กฐ๊ฑด๋ถ ๋ก์ง์ด ๊ฐ๋ฅํ๋ค. Keycloak DB์ ์ญํ ์ ์ ์ฅํ์ง ์๊ณ ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ถํ์ ์์ฑํ ์ ์๋ค. → ์๋ถ LDAP/Active Directory์ฐ๋์ด๋ ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง ๊ธฐ๋ฐ ๊ถํ ๋ถ์ฌ ์ ์ ์ฉํ๋ค.
- Keycloak์ ๋ํ ์์ธํ ์ค๋ช ์ด ์ ํ์ ธ์์ต๋๋ค.(์ค์น ๋ฑ)
'Backend/Keycloak' ์นดํ ๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
์ธ ๋จ๋งค๋ฅผ ํค์ฐ๋ ์๋น ๊ฐ๋ฐ์. ๋น ๋ฐ์ดํฐ, ์ธ๊ณต์ง๋ฅ, ํด๋ผ์ฐ๋ ๋ฑ IT ๋ถ์ผ์ ๊ฒฝํ ๊ธฐ๋ก ๋ธ๋ก๊ทธ
kjbg.tistory.com