λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ SSO. μš°λ¦¬λŠ” Keycloak을 μ‚¬μš©ν•©λ‹ˆλ‹€. 1 λΆ€

λͺ¨λ“  λŒ€κΈ°μ—…μ—μ„œ X5 Retail Group도 μ˜ˆμ™ΈλŠ” μ•„λ‹™λ‹ˆλ‹€. κ°œλ°œν•¨μ— 따라 μ‚¬μš©μž 인증이 ν•„μš”ν•œ ν”„λ‘œμ νŠΈμ˜ μˆ˜κ°€ μ¦κ°€ν•©λ‹ˆλ‹€. μ‹œκ°„μ΄ 지남에 따라 ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ λ‹€λ₯Έ μ‘μš© ν”„λ‘œκ·Έλž¨μœΌλ‘œ μ‚¬μš©μžλ₯Ό μ›ν™œν•˜κ²Œ μ „ν™˜ν•΄μ•Ό ν•˜λ©° 단일 SSO(Single-Sing-On) μ„œλ²„λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ AD와 같은 ID 제곡자 λ˜λŠ” μΆ”κ°€ 속성이 μ—†λŠ” 기타가 이미 λ‹€μ–‘ν•œ ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©λ˜κ³  μžˆλŠ” κ²½μš°μ—λŠ” μ–΄λ–»μŠ΅λ‹ˆκΉŒ? "식별 브둜컀"라고 ν•˜λŠ” μ‹œμŠ€ν…œ ν΄λž˜μŠ€κ°€ 도움이 될 κ²ƒμž…λ‹ˆλ‹€. κ°€μž₯ κΈ°λŠ₯적인 것은 Keycloak, Gravitee μ•‘μ„ΈμŠ€ 관리 λ“±κ³Ό 같은 λŒ€ν‘œμž…λ‹ˆλ‹€. λŒ€λΆ€λΆ„μ˜ 경우 μ‚¬μš© μ‚¬λ‘€λŠ” 기계 μƒν˜Έ μž‘μš©, μ‚¬μš©μž μ°Έμ—¬ λ“± λ‹€λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€. μ†”λ£¨μ…˜μ€ λͺ¨λ“  μš”κ΅¬ 사항을 ν•˜λ‚˜λ‘œ κ²°ν•©ν•  수 μžˆλŠ” μœ μ—°ν•˜κ³  ν™•μž₯ κ°€λŠ₯ν•œ κΈ°λŠ₯을 지원해야 ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ†”λ£¨μ…˜μ„ 우리 νšŒμ‚¬λŠ” 이제 ν‘œμ‹œ 브둜컀인 Keycloak을 λ³΄μœ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ SSO. μš°λ¦¬λŠ” Keycloak을 μ‚¬μš©ν•©λ‹ˆλ‹€. 1 λΆ€

Keycloak은 RedHatμ—μ„œ κ΄€λ¦¬ν•˜λŠ” μ˜€ν”ˆ μ†ŒμŠ€ ID 및 μ•‘μ„ΈμŠ€ μ œμ–΄ μ œν’ˆμž…λ‹ˆλ‹€. SSO - RH-SSOλ₯Ό μ‚¬μš©ν•˜λŠ” νšŒμ‚¬ μ œν’ˆμ˜ κΈ°μ΄ˆμž…λ‹ˆλ‹€.

κΈ°λ³Έ κ°œλ…

μ†”λ£¨μ…˜κ³Ό μ ‘κ·Ό 방식을 닀루기 전에 ν”„λ‘œμ„ΈμŠ€μ˜ μš©μ–΄μ™€ μˆœμ„œλ₯Ό κ²°μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ SSO. μš°λ¦¬λŠ” Keycloak을 μ‚¬μš©ν•©λ‹ˆλ‹€. 1 λΆ€

신뢄증 μ‹λ³„μžλ‘œ 주제λ₯Ό μΈμ‹ν•˜λŠ” μ ˆμ°¨μž…λ‹ˆλ‹€(즉, 이것은 이름, 둜그인 λ˜λŠ” 번호의 μ •μ˜μž…λ‹ˆλ‹€).

인증 - 인증 μ ˆμ°¨μž…λ‹ˆλ‹€. (λΉ„λ°€λ²ˆν˜Έλ‘œ 이용자 확인, μ „μžμ„œλͺ…μœΌλ‘œ 문자 확인 λ“±)

κΆŒν•œ λΆ€μ—¬ - λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ•‘μ„ΈμŠ€ 제곡(예: 이메일)μž…λ‹ˆλ‹€.

신원 μ€‘κ°œμΈ 킀클둝

열쇠망토 마이크둜 μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜ νŒ¨ν„΄μ„ μ‚¬μš©ν•  수 μžˆλŠ” ISμ—μ„œ μ‚¬μš©ν•˜λ„λ‘ μ„€κ³„λœ μ˜€ν”ˆ μ†ŒμŠ€ ID 및 μ•‘μ„ΈμŠ€ 관리 μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.

Keycloak은 SSO(Single Sign-On), μ€‘κ°œ ID 및 μ†Œμ…œ 둜그인, μ‚¬μš©μž μ—°ν•©, ν΄λΌμ΄μ–ΈνŠΈ μ–΄λŒ‘ν„°, 관리 μ½˜μ†” 및 계정 관리 μ½˜μ†”κ³Ό 같은 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

Keycloakμ—μ„œ μ§€μ›ν•˜λŠ” κΈ°λ³Έ κΈ°λŠ₯:

  • λΈŒλΌμš°μ € μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μœ„ν•œ 단일 μ‚¬μΈμ˜¨ 및 단일 사인아웃.
  • OpenID/OAuth 2.0/SAML 지원.
  • ID 브둜컀링 - μ™ΈλΆ€ OpenID Connect λ˜λŠ” SAML ID 제곡자λ₯Ό μ‚¬μš©ν•œ 인증.
  • μ†Œμ…œ 둜그인 - μ‚¬μš©μž 식별을 μœ„ν•œ Google, GitHub, Facebook, Twitter 지원.
  • μ‚¬μš©μž μ—°ν•© - LDAP 및 Active Directory μ„œλ²„μ™€ 기타 ID κ³΅κΈ‰μžμ˜ μ‚¬μš©μž 동기화.
  • Kerberos λΈŒλ¦¬μ§€ - μžλ™ μ‚¬μš©μž 인증을 μœ„ν•΄ Kerberos μ„œλ²„λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
  • Admin Console - 웹을 ν†΅ν•œ μ„€μ • 및 μ†”λ£¨μ…˜ μ˜΅μ…˜μ˜ 톡합 κ΄€λ¦¬μš©.
  • 계정 관리 μ½˜μ†” - μ‚¬μš©μž ν”„λ‘œν•„μ„ 자체적으둜 κ΄€λ¦¬ν•©λ‹ˆλ‹€.
  • κΈ°μ—…μ˜ μ½”νΌλ ˆμ΄νŠΈ 아이덴티티 기반 μ†”λ£¨μ…˜ μ»€μŠ€ν„°λ§ˆμ΄μ§•
  • 2FA 인증 - Google Authenticator λ˜λŠ” FreeOTPλ₯Ό μ‚¬μš©ν•œ TOTP/HOTP 지원.
  • 둜그인 흐름 - μ‚¬μš©μž μžκ°€ 등둝, μ•”ν˜Έ 볡ꡬ 및 μž¬μ„€μ • 등이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • μ„Έμ…˜ 관리 - κ΄€λ¦¬μžλŠ” 단일 μ§€μ μ—μ„œ μ‚¬μš©μž μ„Έμ…˜μ„ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 토큰 맀퍼 - μ‚¬μš©μž 속성, μ—­ν•  및 기타 ν•„μˆ˜ 속성을 토큰에 λ°”μΈλ”©ν•©λ‹ˆλ‹€.
  • μ˜μ—­, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μ‚¬μš©μž μ „λ°˜μ— 걸친 μœ μ—°ν•œ μ •μ±… 관리.
  • CORS 지원 - ν΄λΌμ΄μ–ΈνŠΈ μ–΄λŒ‘ν„°μ—λŠ” CORS 지원 κΈ°λŠ₯이 λ‚΄μž₯λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
  • SPI(Service Provider Interfaces) - 인증 흐름, ID κ³΅κΈ‰μž, ν”„λ‘œν† μ½œ λ§€ν•‘ λ“± μ„œλ²„μ˜ λ‹€μ–‘ν•œ 츑면을 μ‚¬μš©μž μ§€μ •ν•  수 μžˆλŠ” λ§Žμ€ 수의 SPIμž…λ‹ˆλ‹€.
  • JavaScript μ• ν”Œλ¦¬μΌ€μ΄μ…˜μš© ν΄λΌμ΄μ–ΈνŠΈ μ–΄λŒ‘ν„°, WildFly, JBoss EAP, Fuse, Tomcat, Jetty, Spring.
  • OpenID Connect Relying Party 라이브러리 λ˜λŠ” SAML 2.0 μ„œλΉ„μŠ€ κ³΅κΈ‰μž 라이브러리λ₯Ό μ§€μ›ν•˜λŠ” λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μž‘μ—…μ„ μ§€μ›ν•©λ‹ˆλ‹€.
  • ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•˜μ—¬ ν™•μž₯ κ°€λŠ₯.

CI / CD ν”„λ‘œμ„ΈμŠ€ 및 Keycloak의 관리 ν”„λ‘œμ„ΈμŠ€ μžλ™ν™”λ₯Ό μœ„ν•΄ REST API / JAVA APIλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμ„œλŠ” μ „μžμ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

REST API https://www.keycloak.org/docs-api/8.0/rest-api/index.html
μžλ°” API https://www.keycloak.org/docs-api/8.0/javadocs/index.html

μ—”ν„°ν”„λΌμ΄μ¦ˆ ID κ³΅κΈ‰μž(μ˜¨ν”„λ ˆλ―ΈμŠ€)

μ‚¬μš©μž μ—°ν•© μ„œλΉ„μŠ€λ₯Ό 톡해 μ‚¬μš©μžλ₯Ό μΈμ¦ν•˜λŠ” κΈ°λŠ₯.

λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ SSO. μš°λ¦¬λŠ” Keycloak을 μ‚¬μš©ν•©λ‹ˆλ‹€. 1 λΆ€

톡과 인증도 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μžκ°€ Kerberos(LDAP λ˜λŠ” AD)κ°€ μžˆλŠ” μ›Œν¬μŠ€ν…Œμ΄μ…˜μ—μ„œ μΈμ¦ν•˜λŠ” 경우 μ‚¬μš©μž 이름과 μ•”ν˜Έλ₯Ό λ‹€μ‹œ μž…λ ₯ν•˜μ§€ μ•Šκ³ λ„ μžλ™μœΌλ‘œ Keycloak에 인증될 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μžμ˜ 인증 및 μΆ”κ°€ κΆŒν•œ λΆ€μ—¬λ₯Ό μœ„ν•΄ ν”„λ‘œμ νŠΈ 초기 λ‹¨κ³„μ—μ„œ κΈ΄ μ„€μ • 및 톡합이 ν•„μš”ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 개발 ν™˜κ²½μ— κ°€μž₯ μ ν•©ν•œ κ΄€κ³„ν˜• DBMSλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 기본적으둜 Keycloak은 λ‚΄μž₯ DBMSλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„€μ • 및 μ‚¬μš©μž 데이터λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.

μ§€μ›λ˜λŠ” DBMS λͺ©λ‘μ€ κ΄‘λ²”μœ„ν•˜λ©° MS SQL, Oracle, PostgreSQL, MariaDB, Oracle 등을 ν¬ν•¨ν•©λ‹ˆλ‹€. μ§€κΈˆκΉŒμ§€ κ°€μž₯ 많이 ν…ŒμŠ€νŠΈλœ 것은 Oracle 12C Release1 RAC와 MariaDB 3.12용 Galera 10.1.19 ν΄λŸ¬μŠ€ν„°μž…λ‹ˆλ‹€.

ID κ³΅κΈ‰μž - μ†Œμ…œ 둜그인

μ†Œμ…œ λ„€νŠΈμ›Œν¬μ—μ„œ λ‘œκ·ΈμΈμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž 인증 κΈ°λŠ₯을 ν™œμ„±ν™”ν•˜λ €λ©΄ Keycloack 관리 μ½˜μ†”μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œλ₯Ό λ³€κ²½ν•  ν•„μš”κ°€ μ—†μœΌλ©° 이 κΈ°λŠ₯은 μ¦‰μ‹œ μ‚¬μš©ν•  수 있으며 ν”„λ‘œμ νŠΈμ˜ λͺ¨λ“  λ‹¨κ³„μ—μ„œ ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ SSO. μš°λ¦¬λŠ” Keycloak을 μ‚¬μš©ν•©λ‹ˆλ‹€. 1 λΆ€

μ‚¬μš©μž 인증을 μœ„ν•΄ OpenID/SAML ID κ³΅κΈ‰μžλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Keycloakμ—μ„œ OAuth2λ₯Ό μ‚¬μš©ν•˜λŠ” 일반적인 인증 μ‹œλ‚˜λ¦¬μ˜€

인증 μ½”λ“œ 흐름 - μ„œλ²„ μΈ‘ μ‘μš© ν”„λ‘œκ·Έλž¨κ³Ό ν•¨κ»˜ μ‚¬μš©λ©λ‹ˆλ‹€. 외뢀인이 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ†ŒμŠ€ μ½”λ“œμ™€ ν΄λΌμ΄μ–ΈνŠΈ 데이터λ₯Ό μ‚¬μš©ν•  수 μ—†λŠ” μ„œλ²„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ ν•©ν•˜κΈ° λ•Œλ¬Έμ— κ°€μž₯ 일반적인 인증 κΆŒν•œ μœ ν˜• 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. 이 경우 ν”„λ‘œμ„ΈμŠ€λŠ” λ¦¬λ””λ ‰μ…˜μ„ 기반으둜 ν•©λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ›Ή λΈŒλΌμš°μ €μ™€ 같은 μ‚¬μš©μž μ—μ΄μ „νŠΈ(μ‚¬μš©μž μ—μ΄μ „νŠΈ)와 톡신할 수 μžˆμ–΄μ•Ό μ‚¬μš©μž μ—μ΄μ „νŠΈλ₯Ό 톡해 λ¦¬λ””λ ‰μ…˜λ˜λŠ” API 인증 μ½”λ“œλ₯Ό 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

μ•”μ‹œμ  흐름 - λͺ¨λ°”일 λ˜λŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜(μ‚¬μš©μž μž₯μΉ˜μ—μ„œ μ‹€ν–‰λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜)μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.

μ•”μ‹œμ  인증 κΆŒν•œ μœ ν˜•μ€ ν΄λΌμ΄μ–ΈνŠΈ 기밀성을 보μž₯ν•  수 μ—†λŠ” λͺ¨λ°”일 및 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€. μ•”μ‹œμ  κΆŒν•œ μœ ν˜•μ€ λ˜ν•œ μ‚¬μš©μž μ—μ΄μ „νŠΈ λ¦¬λ””λ ‰μ…˜μ„ μ‚¬μš©ν•˜λ―€λ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μΆ”κ°€λ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ•‘μ„ΈμŠ€ 토큰이 μ‚¬μš©μž μ—μ΄μ „νŠΈμ— μ „λ‹¬λ©λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ μ‚¬μš©μžμ™€ μ‚¬μš©μž μž₯치의 λ‹€λ₯Έ μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ 토큰을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 μœ ν˜•μ˜ 승인 κΆŒν•œμ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ IDλ₯Ό μΈμ¦ν•˜μ§€ μ•ŠμœΌλ©° ν”„λ‘œμ„ΈμŠ€ μžμ²΄λŠ” λ¦¬λ””λ ‰μ…˜ URL(이전에 μ„œλΉ„μŠ€μ— 등둝됨)에 μ˜μ‘΄ν•©λ‹ˆλ‹€.

μ•”μ‹œμ  흐름은 μ•‘μ„ΈμŠ€ 토큰 μƒˆλ‘œ κ³ μΉ¨ 토큰을 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

ν΄λΌμ΄μ–ΈνŠΈ 자격 증λͺ… λΆ€μ—¬ 흐름 β€” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ API에 μ•‘μ„ΈμŠ€ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 이 μœ ν˜•μ˜ κΆŒν•œ λΆ€μ—¬ κΆŒν•œμ€ 일반적으둜 즉각적인 μ‚¬μš©μž μƒν˜Έ μž‘μš© 없이 λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μˆ˜ν–‰λ˜μ–΄μ•Ό ν•˜λŠ” μ„œλ²„ κ°„ μƒν˜Έ μž‘μš©μ— μ‚¬μš©λ©λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈ 자격 증λͺ… λΆ€μ—¬ 흐름을 톡해 μ›Ή μ„œλΉ„μŠ€(κΈ°λ°€ ν΄λΌμ΄μ–ΈνŠΈ)λŠ” λ‹€λ₯Έ μ›Ή μ„œλΉ„μŠ€λ₯Ό ν˜ΈμΆœν•  λ•Œ 인증을 μœ„ν•΄ μ‚¬μš©μžλ₯Ό κ°€μž₯ν•˜λŠ” λŒ€μ‹  자체 자격 증λͺ…을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 더 높은 μˆ˜μ€€μ˜ λ³΄μ•ˆμ„ μœ„ν•΄ 호좜 μ„œλΉ„μŠ€κ°€ μΈμ¦μ„œ(곡유 λΉ„λ°€ λŒ€μ‹ )λ₯Ό 자격 증λͺ…μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

OAuth2 사양은 λ‹€μŒμ— μ„€λͺ…λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
RFC-6749
RFC-8252
RFC-6819

JWT 토큰과 κ·Έ 이점

JWT(JSON μ›Ή 토큰)λŠ” κ°œλ°©ν˜• ν‘œμ€€(https://tools.ietf.org/html/rfc7519) JSON 개체둜 λ‹Ήμ‚¬μž 간에 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ μ „μ†‘ν•˜λŠ” κ°„κ²°ν•˜κ³  독립적인 방법을 μ •μ˜ν•©λ‹ˆλ‹€.

ν‘œμ€€μ— λ”°λ₯΄λ©΄ 토큰은 점으둜 κ΅¬λΆ„λœ base-64 ν˜•μ‹μ˜ μ„Έ λΆ€λΆ„μœΌλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 첫 번째 뢀뢄은 헀더라고 ν•˜λ©° μ—¬κΈ°μ—λŠ” 토큰 μœ ν˜•κ³Ό λ””μ§€ν„Έ μ„œλͺ…을 μ–»κΈ° μœ„ν•œ ν•΄μ‹œ μ•Œκ³ λ¦¬μ¦˜μ˜ 이름이 ν¬ν•¨λ©λ‹ˆλ‹€. 두 번째 뢀뢄은 κΈ°λ³Έ 정보(μ‚¬μš©μž, 속성 λ“±)λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€. μ„Έ 번째 뢀뢄은 λ””μ§€ν„Έ μ„œλͺ…μž…λ‹ˆλ‹€.

. .
DB에 토큰을 μ €μž₯ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. μœ νš¨ν•œ 토큰은 μ•”ν˜Έμ™€ λ™μΌν•˜λ―€λ‘œ 토큰을 μ €μž₯ν•˜λŠ” 것은 일반 ν…μŠ€νŠΈλ‘œ μ•”ν˜Έλ₯Ό μ €μž₯ν•˜λŠ” 것과 κ°™μŠ΅λ‹ˆλ‹€.
μ•‘μ„ΈμŠ€ 토큰 λ³΄μ•ˆ μ„œλ²„ λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ†Œμœ μž μ•‘μ„ΈμŠ€ κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” ν† ν°μž…λ‹ˆλ‹€. 일반적으둜 수λͺ…이 μ§§κ³  토큰을 μš”μ²­ν•˜λŠ” λ‹Ήμ‚¬μžμ˜ IP μ£Όμ†Œμ™€ 같은 μΆ”κ°€ 정보λ₯Ό 전달할 수 μžˆμŠ΅λ‹ˆλ‹€.

μƒˆλ‘œ κ³ μΉ¨ 토큰 ν΄λΌμ΄μ–ΈνŠΈκ°€ 수λͺ…이 만료된 ν›„ μƒˆ μ•‘μ„ΈμŠ€ 토큰을 μš”μ²­ν•  수 μžˆλ„λ‘ ν•˜λŠ” ν† ν°μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ 토큰은 일반적으둜 μž₯κΈ°κ°„ λ°œν–‰λ©λ‹ˆλ‹€.

마이크둜 μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ—μ„œ μ‚¬μš©ν•  λ•Œμ˜ μ£Όμš” 이점:

  • XNUMX회 인증을 톡해 λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μ„œλΉ„μŠ€μ— μ ‘κ·Όν•  수 μžˆλŠ” κΈ°λŠ₯.
  • μ‚¬μš©μž ν”„λ‘œν•„μ— ν•„μˆ˜ 속성이 λ§Žμ§€ μ•Šμ€ 경우 νŽ˜μ΄λ‘œλ“œμ— μΆ”κ°€ν•  수 μžˆλŠ” 데이터(μžλ™ 및 μ¦‰μ‹œ 포함)둜 보강할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • ν™œμ„± μ„Έμ…˜μ— λŒ€ν•œ 정보λ₯Ό μ €μž₯ν•  ν•„μš”κ°€ μ—†μœΌλ©° μ„œλ²„ μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ„œλͺ…λ§Œ ν™•μΈν•˜λ©΄ λ©λ‹ˆλ‹€.
  • νŽ˜μ΄λ‘œλ“œμ˜ μΆ”κ°€ 속성을 톡해 보닀 μœ μ—°ν•œ μ•‘μ„ΈμŠ€ μ œμ–΄.
  • 헀더 및 νŽ˜μ΄λ‘œλ“œμ— 토큰 μ„œλͺ…을 μ‚¬μš©ν•˜λ©΄ μ†”λ£¨μ…˜ μ „μ²΄μ˜ λ³΄μ•ˆμ΄ ν–₯μƒλ©λ‹ˆλ‹€.

JWT 토큰 - ꡬ성

이름 - 기본적으둜 ν—€λ”μ—λŠ” 토큰 μœ ν˜•κ³Ό μ•”ν˜Έν™”μ— μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜λ§Œ ν¬ν•¨λ©λ‹ˆλ‹€.

토큰 μœ ν˜•μ€ "typ" 킀에 μ €μž₯λ©λ‹ˆλ‹€. JWTμ—μ„œ 'μœ ν˜•' ν‚€λŠ” λ¬΄μ‹œλ©λ‹ˆλ‹€. "typ" ν‚€κ°€ μžˆλŠ” 경우 ν•΄λ‹Ή 값은 이 κ°œμ²΄κ°€ JSON μ›Ή ν† ν°μž„μ„ λ‚˜νƒ€λ‚΄λŠ” JWTμ—¬μ•Ό ν•©λ‹ˆλ‹€.

두 번째 ν‚€ "alg"λŠ” 토큰을 μ•”ν˜Έν™”ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ„ μ •μ˜ν•©λ‹ˆλ‹€. 기본적으둜 HS256으둜 μ„€μ •λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. ν—€λ”λŠ” base64둜 μΈμ½”λ”©λ©λ‹ˆλ‹€.

{ "alg": "HS256", "μœ ν˜•": "JWT"}
νŽ˜μ΄λ‘œλ“œ(μ½˜ν…μΈ ) - νŽ˜μ΄λ‘œλ“œλŠ” 확인해야 ν•˜λŠ” λͺ¨λ“  정보λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€. νŽ˜μ΄λ‘œλ“œμ˜ 각 ν‚€λ₯Ό "ν΄λ ˆμž„"이라고 ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μ΄ˆλŒ€(λΉ„κ³΅κ°œ ν”„λ‘œλͺ¨μ…˜)λ₯Ό ν†΅ν•΄μ„œλ§Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μž…μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” λˆ„κ΅°κ°€λ₯Ό μ΄ˆλŒ€ν•˜κ³  싢을 λ•Œ μ΄ˆλŒ€ νŽΈμ§€λ₯Ό λ³΄λƒ…λ‹ˆλ‹€. 이메일 μ£Όμ†Œκ°€ μ΄ˆλŒ€λ₯Ό μˆ˜λ½ν•œ μ‚¬λžŒμ˜ 것인지 ν™•μΈν•˜λŠ” 것이 μ€‘μš”ν•˜λ―€λ‘œ 이 μ£Όμ†Œλ₯Ό νŽ˜μ΄λ‘œλ“œμ— ν¬ν•¨ν•˜κ³  이λ₯Ό μœ„ν•΄ "email" 킀에 μ €μž₯ν•©λ‹ˆλ‹€.

{ "이메일": "example@x5.ru" }

νŽ˜μ΄λ‘œλ“œμ˜ ν‚€λŠ” μž„μ˜μ μΌ 수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ˜ˆμ•½λœ λͺ‡ κ°€μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

  • iss(Issuer) - 토큰이 μ „μ†‘λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹λ³„ν•©λ‹ˆλ‹€.
  • sub(제λͺ©) - ν† ν°μ˜ 제λͺ©μ„ μ •μ˜ν•©λ‹ˆλ‹€.
  • aud(λŒ€μƒ)λŠ” 이 ν† ν°μ˜ μˆ˜μ‹ μž λͺ©λ‘μΈ λŒ€μ†Œλ¬Έμž ꡬ뢄 λ¬Έμžμ—΄ λ˜λŠ” URI의 λ°°μ—΄μž…λ‹ˆλ‹€. μˆ˜μ‹  μΈ‘μ—μ„œ μ£Όμ–΄μ§„ ν‚€κ°€ μžˆλŠ” JWTλ₯Ό μˆ˜μ‹ ν•˜λ©΄ μˆ˜μ‹ μžμ— JWTκ°€ μžˆλŠ”μ§€ 확인해야 ν•©λ‹ˆλ‹€. κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ 토큰을 λ¬΄μ‹œν•©λ‹ˆλ‹€.
  • exp(만료 μ‹œκ°„) - 토큰이 λ§Œλ£Œλ˜λŠ” μ‹œκΈ°λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. JWT ν‘œμ€€μ€ λͺ¨λ“  κ΅¬ν˜„μ΄ 만료된 토큰을 κ±°λΆ€ν•˜λ„λ‘ μš”κ΅¬ν•©λ‹ˆλ‹€. exp ν‚€λŠ” μœ λ‹‰μŠ€ ν˜•μ‹μ˜ νƒ€μž„μŠ€νƒ¬ν”„μ—¬μ•Ό ν•©λ‹ˆλ‹€.
  • nbf(Not Before)λŠ” 토큰이 μœ νš¨ν•΄μ§€λŠ” μˆœκ°„μ„ κ²°μ •ν•˜λŠ” μœ λ‹‰μŠ€ ν˜•μ‹μ˜ μ‹œκ°„μž…λ‹ˆλ‹€.
  • iat(Issued At) - 이 ν‚€λŠ” 토큰이 λ°œν–‰λœ μ‹œκ°„μ„ λ‚˜νƒ€λ‚΄λ©° JWT의 수λͺ…을 κ²°μ •ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. iat ν‚€λŠ” Unix ν˜•μ‹μ˜ νƒ€μž„μŠ€νƒ¬ν”„μ—¬μ•Ό ν•©λ‹ˆλ‹€.
  • Jti(JWT ID) β€” 이 ν† ν°μ˜ 고유 μ‹λ³„μžλ₯Ό μ •μ˜ν•˜λŠ” λ¬Έμžμ—΄μ΄λ©° λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•©λ‹ˆλ‹€.

νŽ˜μ΄λ‘œλ“œκ°€ μ•”ν˜Έν™”λœ ν˜•νƒœλ‘œ μ „μ†‘λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 점을 μ΄ν•΄ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€(토큰을 쀑첩할 수 있고 그런 λ‹€μŒ μ•”ν˜Έν™”λœ 데이터λ₯Ό 전솑할 수 있음). λ”°λΌμ„œ λΉ„λ°€ 정보λ₯Ό μ €μž₯ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 헀더와 λ§ˆμ°¬κ°€μ§€λ‘œ νŽ˜μ΄λ‘œλ“œλŠ” base64둜 μΈμ½”λ”©λ©λ‹ˆλ‹€.
μ„œλͺ… - 제λͺ©κ³Ό νŽ˜μ΄λ‘œλ“œκ°€ 있으면 μ„œλͺ…을 계산할 수 μžˆμŠ΅λ‹ˆλ‹€.

Base64 인코딩: 헀더와 νŽ˜μ΄λ‘œλ“œλ₯Ό κ°€μ Έμ˜€κ³  점을 톡해 λ¬Έμžμ—΄λ‘œ κ²°ν•©ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ 이 λ¬Έμžμ—΄κ³Ό λΉ„λ°€ ν‚€κ°€ 헀더에 μ§€μ •λœ μ•”ν˜Έν™” μ•Œκ³ λ¦¬μ¦˜("alg" ν‚€)에 μž…λ ₯λ©λ‹ˆλ‹€. ν‚€λŠ” λͺ¨λ“  λ¬Έμžμ—΄μ΄ 될 수 μžˆμŠ΅λ‹ˆλ‹€. ν”½μ—…ν•˜λŠ” 데 μ‹œκ°„μ΄ 더 였래 κ±Έλ¦¬λ―€λ‘œ 더 κΈ΄ λ¬Έμžμ—΄μ΄ κ°€μž₯ μ„ ν˜Έλ©λ‹ˆλ‹€.

{"alg":"RSA1_5","νŽ˜μ΄λ‘œλ“œ":"A128CBC-HS256"}

Keycloak μž₯μ•  쑰치 ν΄λŸ¬μŠ€ν„° μ•„ν‚€ν…μ²˜ ꡬ좕

λͺ¨λ“  ν”„λ‘œμ νŠΈμ— 단일 ν΄λŸ¬μŠ€ν„°λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 SSO μ†”λ£¨μ…˜μ— λŒ€ν•œ μš”κ΅¬ 사항이 μ¦κ°€ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ μˆ˜κ°€ 적은 경우 μ΄λŸ¬ν•œ μš”κ΅¬ 사항은 λͺ¨λ“  ν”„λ‘œμ νŠΈμ—μ„œ λˆˆμ— 띄지 μ•Šμ§€λ§Œ μ‚¬μš©μž 및 톡합 μˆ˜κ°€ 증가함에 따라 κ°€μš©μ„± 및 μ„±λŠ₯에 λŒ€ν•œ μš”κ΅¬ 사항이 μ¦κ°€ν•©λ‹ˆλ‹€.

단일 SSO μ‹€νŒ¨μ˜ μœ„ν—˜μ΄ μ¦κ°€ν•˜λ©΄ μ†”λ£¨μ…˜ μ•„ν‚€ν…μ²˜μ— λŒ€ν•œ μš”κ΅¬ 사항과 쀑볡 ꡬ성 μš”μ†Œμ— μ‚¬μš©λ˜λŠ” 방법이 μ¦κ°€ν•˜κ³  맀우 μ—„κ²©ν•œ SLA둜 μ΄μ–΄μ§‘λ‹ˆλ‹€. 이와 κ΄€λ ¨ν•˜μ—¬ μ†”λ£¨μ…˜ κ΅¬ν˜„μ˜ 개발 λ˜λŠ” 초기 λ‹¨κ³„μ—μ„œ 더 자주 ν”„λ‘œμ νŠΈμ—λŠ” 자체 내결함성이 μ—†λŠ” 인프라가 μžˆμŠ΅λ‹ˆλ‹€. 개발이 진행됨에 따라 개발 및 ν™•μž₯을 μœ„ν•œ 기회λ₯Ό λ§ˆλ ¨ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ»¨ν…Œμ΄λ„ˆ 가상화 λ˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ μ ‘κ·Ό 방식을 μ‚¬μš©ν•˜μ—¬ μž₯μ•  쑰치 ν΄λŸ¬μŠ€ν„°λ₯Ό κ΅¬μΆ•ν•˜λŠ” 것이 κ°€μž₯ μœ μ—°ν•©λ‹ˆλ‹€.

ν™œμ„±/ν™œμ„± 및 ν™œμ„±/μˆ˜λ™ ν΄λŸ¬μŠ€ν„° λͺ¨λ“œμ—μ„œ μž‘μ—…ν•˜λ €λ©΄ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 데이터 일관성을 보μž₯ν•΄μ•Ό ν•©λ‹ˆλ‹€. 두 λ°μ΄ν„°λ² μ΄μŠ€ λ…Έλ“œλŠ” μ„œλ‘œ λ‹€λ₯Έ 지역에 λΆ„μ‚°λœ 데이터 μ„Όν„° 간에 λ™κΈ°μ‹μœΌλ‘œ λ³΅μ œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

내결함성 μ„€μΉ˜μ˜ κ°€μž₯ κ°„λ‹¨ν•œ μ˜ˆμž…λ‹ˆλ‹€.

λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ SSO. μš°λ¦¬λŠ” Keycloak을 μ‚¬μš©ν•©λ‹ˆλ‹€. 1 λΆ€

단일 ν΄λŸ¬μŠ€ν„°λ₯Ό μ‚¬μš©ν•˜λ©΄ μ–΄λ–€ 이점이 μžˆμŠ΅λ‹ˆκΉŒ?

  • κ³ κ°€μš©μ„± 및 μ„±λŠ₯.
  • μž‘λ™ λͺ¨λ“œ 지원: ν™œμ„±/ν™œμ„±, ν™œμ„±/μˆ˜λ™.
  • λ™μ μœΌλ‘œ ν™•μž₯ν•˜λŠ” κΈ°λŠ₯ - μ»¨ν…Œμ΄λ„ˆ 가상화λ₯Ό μ‚¬μš©ν•  λ•Œ.
  • 쀑앙 집쀑식 관리 및 λͺ¨λ‹ˆν„°λ§ κ°€λŠ₯μ„±.
  • ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©μž 식별/인증/κΆŒν•œ λΆ€μ—¬λ₯Ό μœ„ν•œ 톡합 μ ‘κ·Ό 방식.
  • μ‚¬μš©μž κ°œμž… 없이 μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œμ νŠΈ κ°„μ˜ 보닀 투λͺ…ν•œ μƒν˜Έ μž‘μš©.
  • λ‹€μ–‘ν•œ ν”„λ‘œμ νŠΈμ—μ„œ JWT 토큰을 μž¬μ‚¬μš©ν•  수 μžˆλŠ” κΈ°λŠ₯.
  • 단일 μ‹ λ’° 지점.
  • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€/μ»¨ν…Œμ΄λ„ˆ 가상화λ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό 더 λΉ λ₯΄κ²Œ μ‹œμž‘ν•©λ‹ˆλ‹€(μΆ”κ°€ ꡬ성 μš”μ†Œλ₯Ό λ“€μ–΄ 올리고 ꡬ성할 ν•„μš” μ—†μŒ).
  • κ³΅κΈ‰μ—…μ²΄λ‘œλΆ€ν„° 상업적 지원을 ꡬ맀할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν΄λŸ¬μŠ€ν„°λ₯Ό κ³„νšν•  λ•Œ μ°Ύμ•„μ•Ό ν•  사항

DBMS

Keycloak은 λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•˜μ—¬ μ˜μ—­, ν΄λΌμ΄μ–ΈνŠΈ, μ‚¬μš©μž 등을 μ €μž₯ν•©λ‹ˆλ‹€.
MS SQL, Oracle, MySQL, PostgreSQLκ³Ό 같은 κ΄‘λ²”μœ„ν•œ DBMSκ°€ μ§€μ›λ©λ‹ˆλ‹€. Keycloak은 자체 λ‚΄μž₯ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ™€ ν•¨κ»˜ μ œκ³΅λ©λ‹ˆλ‹€. 개발 ν™˜κ²½κ³Ό 같이 λ‘œλ“œλ˜μ§€ μ•Šμ€ ν™˜κ²½μ—μ„œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

ν™œμ„±/ν™œμ„± 및 ν™œμ„±/μˆ˜λ™ ν΄λŸ¬μŠ€ν„° λͺ¨λ“œμ—μ„œ μž‘μ—…ν•˜λ €λ©΄ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ˜ 데이터 일관성이 ν•„μš”ν•˜λ©° 두 λ°μ΄ν„°λ² μ΄μŠ€ ν΄λŸ¬μŠ€ν„° λ…Έλ“œλŠ” 데이터 μ„Όν„° 간에 λ™κΈ°μ‹μœΌλ‘œ λ³΅μ œλ©λ‹ˆλ‹€.

λΆ„μ‚° μΊμ‹œ(Infinspan)

ν΄λŸ¬μŠ€ν„°κ°€ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜λ €λ©΄ JBoss Data Gridλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€μŒ μœ ν˜•μ˜ μΊμ‹œμ— λŒ€ν•œ μΆ”κ°€ 동기화가 ν•„μš”ν•©λ‹ˆλ‹€.

인증 μ„Έμ…˜ - νŠΉμ • μ‚¬μš©μžλ₯Ό 인증할 λ•Œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. 이 μΊμ‹œμ˜ μš”μ²­μ—λŠ” 일반적으둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ•„λ‹Œ λΈŒλΌμš°μ €μ™€ Keycloak μ„œλ²„λ§Œ ν¬ν•¨λ©λ‹ˆλ‹€.

μž‘μ—… 토큰은 μ‚¬μš©μžκ°€ λΉ„λ™κΈ°μ μœΌλ‘œ(이메일을 톡해) μž‘μ—…μ„ 확인해야 ν•˜λŠ” μ‹œλ‚˜λ¦¬μ˜€μ— μ‚¬μš©λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ λΉ„λ°€λ²ˆν˜Έ λΆ„μ‹€ 흐름 쀑에 actionTokens Infinispan μΊμ‹œλŠ” 이미 μ‚¬μš©λœ μ—°κ²°λœ μž‘μ—… 토큰에 λŒ€ν•œ 메타데이터λ₯Ό μΆ”μ ν•˜λŠ” 데 μ‚¬μš©λ˜λ―€λ‘œ μž¬μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

영ꡬ λ°μ΄ν„°μ˜ 캐싱 및 λ¬΄νš¨ν™” - λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•œ λΆˆν•„μš”ν•œ 쿼리λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ 영ꡬ 데이터λ₯Ό μΊμ‹œν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. Keycloak μ„œλ²„κ°€ 데이터λ₯Ό μ—…λ°μ΄νŠΈν•˜λ©΄ λͺ¨λ“  데이터 μ„Όν„°μ˜ λ‹€λ₯Έ λͺ¨λ“  Keycloak μ„œλ²„κ°€ 이에 λŒ€ν•΄ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€.

μž‘μ—… - ν΄λŸ¬μŠ€ν„° λ…Έλ“œμ™€ 데이터 μ„Όν„° 간에 μœ νš¨ν•˜μ§€ μ•Šμ€ λ©”μ‹œμ§€λ₯Ό λ³΄λ‚΄λŠ” 데만 μ‚¬μš©λ©λ‹ˆλ‹€.

μ‚¬μš©μž μ„Έμ…˜ - μ‚¬μš©μžμ˜ λΈŒλΌμš°μ € μ„Έμ…˜ κΈ°κ°„ λ™μ•ˆ μœ νš¨ν•œ μ‚¬μš©μž μ„Έμ…˜μ— λŒ€ν•œ 데이터λ₯Ό μ €μž₯ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μΊμ‹œλŠ” μ΅œμ’… μ‚¬μš©μžμ™€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ HTTP μš”μ²­μ„ μ²˜λ¦¬ν•΄μ•Ό ν•©λ‹ˆλ‹€.

무차별 λŒ€μž… 보호 - μ‹€νŒ¨ν•œ λ‘œκ·ΈμΈμ— λŒ€ν•œ 데이터λ₯Ό μΆ”μ ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

λΆ€ν•˜ λΆ„μ‚°

λ‘œλ“œ λ°ΈλŸ°μ„œλŠ” keycloak에 λŒ€ν•œ 단일 μ§„μž…μ μ΄λ©° κ³ μ • μ„Έμ…˜μ„ 지원해야 ν•©λ‹ˆλ‹€.

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„

ꡬ성 μš”μ†Œ κ°„μ˜ μƒν˜Έ μž‘μš©μ„ μ œμ–΄ν•˜λŠ” ​​데 μ‚¬μš©λ˜λ©° κΈ°μ‘΄ μžλ™ν™” 도ꡬ 및 인프라 μžλ™ν™” λ„κ΅¬μ˜ 동적 ν™•μž₯을 μ‚¬μš©ν•˜μ—¬ κ°€μƒν™”ν•˜κ±°λ‚˜ μ»¨ν…Œμ΄λ„ˆν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. OpenShift, Kubernates, Rancherμ—μ„œ κ°€μž₯ 일반적인 배포 μ‹œλ‚˜λ¦¬μ˜€.

μ΄κ²ƒμœΌλ‘œ 첫 번째 뢀뢄인 이둠적 뢀뢄을 λ§ˆμΉ©λ‹ˆλ‹€. λ‹€μŒ 기사 μ‹œλ¦¬μ¦ˆμ—μ„œλŠ” λ‹€μ–‘ν•œ ID κ³΅κΈ‰μžμ™€μ˜ 톡합 예 및 μ„€μ • 예λ₯Ό λΆ„μ„ν•©λ‹ˆλ‹€.

좜처 : habr.com

DDoS 보호, VPS VDS μ„œλ²„κ°€ μžˆλŠ” μ‚¬μ΄νŠΈλ₯Ό μœ„ν•œ μ•ˆμ •μ μΈ ν˜ΈμŠ€νŒ… κ΅¬μž… πŸ”₯ DDoS 곡격 λ°©μ§€ κΈ°λŠ₯이 νƒ‘μž¬λœ μ•ˆμ •μ μΈ μ›Ήμ‚¬μ΄νŠΈ ν˜ΈμŠ€νŒ…, VPS 및 VDS μ„œλ²„λ₯Ό κ΅¬λ§€ν•˜μ„Έμš” | ProHoster