애플리케이션에 로그인과 권한 관리를 붙여주는 독립형 서버
사용자 계정을 직접 관리하거나 인증 로직을 코드로 구현할 필요가 없어집니다. 애플리케이션은 Keycloak 서버에 인증을 위임하고, 사용자는 하나의 계정으로 여러 서비스를 안전하게 이용할 수 있습니다. Keycloak는 사용자 연동, 강력한 인증, 사용자 관리, 세밀한 권한 부여 기능을 갖춘 오픈소스 아이덴티티 및 액세스 관리 솔루션입니다.
인증과 권한을 분리하는 구조
Keycloak는 사용자 저장소와 인증 과정을 애플리케이션에서 분리합니다. 개발자는 사용자 데이터를 직접 저장하거나 비밀번호 해싱, 세션 관리 같은 복잡한 인증 코드를 작성하지 않아도 됩니다. 대신 Keycloak가 사용자 연동, 강력한 인증, 사용자 관리, 그리고 세밀한 권한 부여를 처리합니다. 이를 통해 애플리케이션은 비즈니스 로직에 집중할 수 있고, 보안 정책은 중앙에서 일관되게 적용됩니다.
실행 방법과 요구 사항
Keycloak를 실행하려면 배포 파일을 다운로드해 압축을 풀고 bin/kc.[sh|bat] start-dev 명령을 실행합니다. 소스에서 빌드하거나 테스트를 작성하려면 각각의 가이드라인을 참고해야 합니다. 이 프로젝트는 Java로 작성되어 있으며, Apache License, Version 2.0 하에 배포됩니다.
커뮤니티와 기여 방식
문제가 발생하면 이슈를 열 때 명확한 요약, 설명, 재현 단계를 제공해야 합니다. 보안 취약점을 발견했다면 지정된 절차에 따라 보고해야 합니다. 일반적인 질문은 메일링 리스트나 Slack 채널의 #keycloak에서, 설계와 개발 관련 논의는 #keycloak-dev에서 이루어집니다. 기여를 원한다면 기여 가이드라인을 읽고 CNCF 행동 강령을 준수해야 하며, 커뮤니티 미팅에 참여해 프로젝트 방향에 의견을 낼 수 있습니다.
적용 전 확인 사항
Keycloak는 Apache License, Version 2.0 라이선스를 사용하므로 상용 환경에서도 자유롭게 활용할 수 있습니다. 다만, 이 저장소는 서버와 Java 어댑터만 포함하며, Node.js 어댑터나 빠른 시작 예제는 별도의 저장소로 분리되어 있습니다. 또한, 최신 버전의 기능 변경 사항이나 세부 설정은 공식 문서에서 직접 확인하는 것이 정확합니다.