OAuth 2.0과
Open ID 프로토콜에 대해 이야기할 때
이들은 구현은 제공하지 않으며
단순히 프로토콜이나 명세 언어일 뿐이라고 말씀드렸었습니다
하지만 Google, Microsoft, GitHub, Twitter, Netflix
이러한 대형 단체들은
OAuth 2.0과 Open ID의 명세 언어를 이용하여
자기들만의 인증 서버를 구축해
이 프로토콜들이 정의해놓은 명세를
구현하기 시작하였습니다
그런데 이로 인해 소프트웨어 업계에서는
단체 내부에서 활용이 가능한
이미 구축된 인증 서버에 대한
수요가 생겨났습니다
Google이나 Facebook이 한 것처럼
자기들만의 인증 서버를 구축하는 데 드는 비용은
아무나 감당할 수 없기 때문입니다
이 수요를 충족시키고자
인증 서버를 제공하는 서비스가
시장에 여럿 나타났습니다
여기 나와 있는
Keycloak도 그러한 인증 서버 중 하나입니다
바로 사용할 수 있는 구축된 서버인 것입니다
이외에도 아주 유사한 서비스로
잘 알려진 Okta, ForgeRock 등이 있으며
Amazon까지도 Amazon Cognito라는
기업의 이름이 붙은 인증 서버가 있습니다
이 기업들은 모두
더 규모가 작거나
인증 서버를 직접 구축하고 싶지 않아하는
다른 단체들에게
인증 서버를 판매하려고 하는 겁니다
제가 서버는 이 네 가지밖에 없다고
말씀드리고 싶은 건 아닙니다
시장에는 아주 많은 인증 서버가 나와 있습니다
하지만 제가 알기로는
이 네 가지 인증 서버가 가장 많이 사용됩니다
이 강의에서 활용할 인증 서버는 Keycloak입니다
Keycloak을 이용하는 이유는 두 가지입니다
첫 번째로 오픈 소스입니다
돈을 지불할 필요가 없습니다
언제든지 다운로드해서 여러분의 서버와
노트북에 설치한 다음 바로 사용할 수 있습니다
반면 Okta, ForgeRock
Amazon Cognito 같은 다른 인증 서버들은
모두 상업 목적의 서비스입니다
Keycloak을 이용하는 두 번째 이유는
오픈 소스임에도 불구하고
매우 안정적이며
Keycloak 팀에서는
인증 서버를 주기적으로
OAuth 2.0에 명세된 내용과
그 외의 업계의 보안 기준에 맞추어
주기적으로 업데이트해 주는 걸
잊지 않기 때문입니다
또한 Keycloak을 지원하고 유지하는 건
다름 아닌 Red Hat이기 때문입니다
이런 이유들 때문에 Keycloak은
인증 서버를 고를 때 고려해 볼 만한 후보입니다
그럼 다른 탭들은 전부 닫고
Keycloak.org 사이트를 보면
Keycloak이 어떤 기능들을 제공하는지
알 수 있습니다
Keycloak을 인증 서버로 활용하면
뭐든지 직접 제어할 수 있습니다
이 제품을 가져다가 당신의 빈 서버나
클라우드에 설치할 수도 있고
당신의 로컬 시스템에 설치해
관리자 권한을 얻을 수도 있습니다
또한 관리자 권한을 얻었으면
관리자나 사용자를 원하는 대로 생성할 수 있습니다
Keycloak의 또 다른 기능 하나는
다양한 인증 서비스를 제공하여
사용자 생성
관리자 생성, 기타 역할 생성
액세스 토큰 발급, 액세스 토큰 인증 등
Keycloak 제품 하나만으로
많은 기능을 사용 가능하게 한다는 점입니다
관심이 생기셨다면 언제든지 Keycloak 사이트에서
더 자세한 내용을 알아보실 수 있습니다
또 SSO를 지원하기 때문에
단체 내에 여러 애플리케이션이 있으며
모든 앱이 같은 인증 서버
즉 Keycloak을 이용한다면
실사용자는 하나의 애플리케이션에만 로그인을 하고
같은 액세스 토큰은 다른 모든 애플리케이션에서
새로 로그인할 필요 없이
계속 활용할 수 있게 됩니다
Keycloak은 또 ID connect, OAuth 2.0을 지원하며
관리자와 사용자 생성에 필요한
중앙 제어도 제공합니다
이 외에도 소셜 로그인을 지원하여
Keycloak으로 Github 로그인
Facebook 로그인도 가능하게 할 수 있습니다
당신의 Keycloak 서버가
LDAP, 액티브 디렉터리 저장 시스템이나
데이터베이스에 연결되도록 하여
사용자들의 아이디와 비밀번호가
이런 저장 시스템에 저장되도록 할 수도 있습니다
제가 지금까지 설명한 것을 바탕으로 하면
Keycloak을 사용하고 싶다는 생각이 드셨을 것입니다
Keycloak을 사용하기 시작하려면
이 다운로드 화면으로 가야 합니다
이 페이지에는 서버 표가 있는 걸 볼 수 있습니다
서버 헤더 밑에
바로 첫 번째 줄에 Keycloak이라고 되어 있습니다
오른쪽을 보면
다운로드 옵션이 있습니다
ZIP이라고 되어 있는 걸 클릭하면
Keycloak 서버를 다운로드할 수 있습니다
이제 제 로컬 시스템에 Keycloak 서버가
다운로드되기 시작했습니다
다음 강의에서는
로컬 시스템에 Keycloak 서버를 설치해 보겠습니다
그러면 EazyBank 애플리케이션을 위한
인증 서버를 구축하기 시작할 수 있겠죠
들어주셔서 감사하며 다음 강의에서 뵙겠습니다
수고하셨습니다