이번 글을 통해 배워갈 내용
- KeyCloak 소개
- KeyCloak 설치
- Realm 소개/생성
- User 생성
- Client App 생성
Keycloak 정의
영어로 쓰여있는 사이트 원문을 직역하자면
"Keycloak is an open source identity and access management solution."
KeyCloak은 ID, Access 등의 보안을 관리해주는 오픈소스 솔루션입니다.
아래와 같이 Auth Server를 구축할 때 사용하기도 합니다.
Keycloak 설치하는 방법
1. Keycloak을 다운로드합니다.
https://www.keycloak.org/downloads
2. 압축을 풉니다.
3. 압축을 푼 폴더에 bin 폴더 내부에 standalone.bat을 실행해줍니다.
(맥의 경우 standalone.sh를 실행해줍니다.)
실행이 정상적으로 된다면
브라우저에서
http://localhost:8080/ 를 입력합니다.
만약 포트 번호를 바꾸고자 한다면
아래와 같이 CMD 창을 열고
해당 위치로 이동해서
예시와 같이 입력해주면 됩니다.
포트 8280으로 사용하고자 한다면
예)
cd C:\keycloak\keycloak-15.0.2\bin
standalone.bat -Djboss.socket.binding.port-offset=200
Admin 유저 생성
위에 정보 입력 후 Create 버튼 클릭
정상적으로 생성되면 아래와 같이 뜨게 되고
페이지 새로고침을 하면
아래와 같이 콘솔 창이 나타나게 됩니다.
Admin Console 창을 누르고 로그인을 해줍니다.
로그인이 성공하면 아래와 같이 나옵니다.
Realm 설명
Realm은 사용자들의 자격증명, 역할, 그룹 등을 관리하는 객체로서
Keycloak의 사용자는 하나의 Realm에만 속할 수 있습니다.
Keycloak은 여러 Realm을 가질 수 있으며 이러한 Realm은 서로 독립적입니다.
Keycloak이 건물주라면 Realm은 세입자라고 할 수 있겠습니다.
위에 스크린샷과 같은 Master Realm은 일반 유저를 관리하기보다는 관리자 계정들을 관리하기 위해서 쓰기 때문에
새로운 Realm을 만들어서 사용해보겠습니다.
Realm 설정하기
Realm을 새로 만들고자 하는 경우
왼쪽 상단 KeyCloak 로고 및에 Master라고 쓰여있는 곳에 마우스를 올리면(Hover)
Add realm이 표시됩니다.
해당되는 버튼을 누르고
새로운 Realm의 이름을 입력해주고
Create 버튼을 누르면 됩니다.
User 추가하기
1. 왼쪽 메뉴에 Users 클릭
2. 오른쪽 상단에 Add user 클릭
해주시고
정보 입력 후 신규 유저 생성
Credentials 탭에서 유저 패스워드 설정
Temporary를 On 할 경우 신규 로그인 후 유저가 패스워드 설정을 해야 함
아까 만든 Realm명칭을 입력해서 아래와 같은 창을 틀고
Personal info 클릭
http://localhost:8280/auth/realms/kimcBlog/account
로그인 후에
새로운 비밀번호 입력
유저 정보 확인
Client app 추가하기
1. 왼쪽 메뉴에 Client 클릭
2. 오른쪽 상단에 Create 클릭
해주시고
Client Id 입력 후
Save를 클릭합니다.
여기서 따로 바꾼 부분은 없고
시간 관계상 필수 입력만 바꾸겠습니다.
Valid Redirect URIs은 성공적으로 인증할 경우 redirect 될 url입니다.
임시로 kimc의 블로그를 입력해두었습니다.
설정 후에 스크롤을 내려 세이브를 클릭합니다.
Access Type은 접근 타입을 변경해줍니다.
3가지 타입이 있습니다.
'Confidential' 은 secret이 있어야 로그인 프로토콜이 실행 가능하고
'Public' 은 로그인 시 secret이 필요 없습니다.
Bearer-only는 로그인이 실행되지 않는 웹서비스입니다.
Confidential로 변경하고 테스트하는 부분은 추후 시간이 나면 진행해보겠습니다.
읽어주셔서 감사합니다 좋은 하루 보내세요~
출처 및 인용
https://www.keycloak.org/documentation
https://codemasterkimc.tistory.com/50
'기타 > 프로그래밍 기타' 카테고리의 다른 글
윈도우에서 Chocolatey 설치하는 한가지 방법 (0) | 2022.04.20 |
---|---|
깃허브 자격증명 오류를 해결하는 방법 한가지 (0) | 2022.02.06 |
Azure 발음하는 방법 (0) | 2021.11.19 |
깃허브 Repository Directory delete(레포 폴더 삭제하기) (0) | 2021.09.28 |
깃허브 강제 push로 remote repo overwrite해보기 (0) | 2021.08.09 |