keycloak 설치

문학적인유사성·2023년 8월 21일
0

뎁옵깃옵쿠베

목록 보기
37/46

참고 깃허브

어떤 착하고 멋진 폴란드분이 깃허브에 방법을 올려두셨다.
해당 내용을 정리해둔 내용이다.

eks 배포는 테라폼 전에 포스팅을 참고

설치

  1. namespace생성
  2. secret을 만들어서 crt를 배포
  3. keycloak의 DB를 helm으로 생성
  4. keycloak을 배포, db는 helm으로 생성된 db를 사용
  5. keycloak-eks, keycloak-ingress를 배포
export CLUSTER_DNS_NAME=${keycloak도메인이 될 이름 넣기}
export CLUSTER_CERT_ARN=${자신의 acm넣기}

gitclone https://github.com/lukaszbudnik/keycloak-kubernetes.git
kubectl create ns keycloak
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout auth-tls.key -out auth-tls.crt -subj "/CN=auth.localtest.me/O=keycloak"
kubectl create secret -n keycloak tls auth-tls-secret --key auth-tls.key --cert auth-tls.crt
helm install -n keycloak keycloak-db bitnami/postgresql-ha --set postgresql.replicaCount=1
envsubst < keycloak-eks-placeholder.yaml > keycloak-eks.yaml
kubectl apply -n keycloak -f keycloak-eks.yaml
envsubst < keycloak-ingress-eks-placeholder.yaml > keycloak-ingress-eks.yaml
kubectl apply -n keycloak -f keycloak-ingress-eks.yaml
open https://$CLUSTER_DNS_NAME

결과

해당 도메인으로 들어가면 아래와 같이 나온다..
다음에는 설정을 하나씩 해봐야겠다

구성 참고 티스토리

설정

  1. create relam "che"
  2. create client "che-public"
  3. access setting에 두개 설정을 해줌

Master realm - This realm was created for you when you first started Keycloak. It contains the administrator account you created at the first login. Use the master realm only to create and manage the realms in your system.

Other realms - These realms are created by the administrator in the master realm. In these realms, administrators manage the users in your organization and the applications they need. The applications are owned by the users.

공식문서_신규 realm만들기

Realm (렘):
렘은 Keycloak에서 사용자, 클라이언트, 역할 및 기타 구성 요소의 그룹을 나타내는 컨테이너입니다. 각 렘은 독립적인 보안 도메인을 나타내며, 사용자 데이터, 인증 프로세스 및 권한을 분리하여 관리할 수 있습니다.
ex) "MyApp"이라는 이름의 렘이 있을 수있음. publie-che로 이름 명명가능

User (사용자):
사용자는 Keycloak 시스템에 로그인하고 액세스를 관리하는 개별 개체입니다. 사용자는 사용자 이름, 비밀번호, 이메일 주소와 같은 속성을 가질 수 있습니다.
ex) "JohnDoe"라는 사용자가 "MyApp" 렘에 속함.

Role (역할):
역할은 사용자에게 할당되는 권한의 그룹입니다. 역할은 보통 특정 작업이나 기능에 대한 액세스 권한을 나타냅니다.
ex) "User" 및 "Admin"이라는 두 가지 역할이 있을 수 있습니다. "JohnDoe" 사용자에게 "User" 역할이 할당되었다고 가정해 보겠습니다.

Client (클라이언트):
클라이언트는 Keycloak에 의해 보호되는 애플리케이션 또는 서비스를 나타냅니다. 각 클라이언트는 자체적인 인증 및 권한 부여 프로세스를 가질 수 있습니다. "MyApp"이라는 이름의 클라이언트가 있을 수 있으며, 이 클라이언트는 사용자가 로그인하고 권한을 관리하는 데 사용될 수 있습니다.
요약하자면, Keycloak에서 사용자는 렘에 속하며, 사용자는 역할을 할당 받아 특정 권한을 가질 수 있습니다. 이러한 사용자 및 역할은 클라이언트에 연결되어 애플리케이션 보안 및 액세스 관리를 가능하게 합니

크리덴셜 만들기

https://stackoverflow.com/questions/44752273/do-keycloak-clients-have-a-client-secret/69726692#69726692

0개의 댓글