본문 바로가기

DevOps/Keycloak

[Keycloak]Install keycloak with helm charts

https://www.keycloak.org/getting-started/getting-started-kube

Keycloak 설치 (Helm Charts 사용)

Helm Chart 정보

  • Helm Chart 버전: 17.3.6
  • 애플리케이션 버전: 22.0.5
➜ helm pull bitnami/keycloak --version 17.3.6 --untar
➜ helm install jeff-keycloak . -f ./values.yaml                                
NAME: jeff-keycloak
LAST DEPLOYED: Sun Nov 17 22:30:04 2024
NAMESPACE: jeff
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: keycloak
CHART VERSION: 17.3.6
APP VERSION: 22.0.5

** Please be patient while the chart is being deployed **

Keycloak can be accessed through the following DNS name from within your cluster:

    jeff-keycloak.jeff.svc.cluster.local (port 80)

To access Keycloak from outside the cluster execute the following commands:

1. Get the Keycloak URL by running these commands:

    export HTTP_NODE_PORT=$(kubectl get --namespace jeff -o jsonpath="{.spec.ports[?(@.name=='http')].nodePort}" services jeff-keycloak)
    export NODE_IP=$(kubectl get nodes --namespace jeff -o jsonpath="{.items[0].status.addresses[0].address}")

    echo "<http://$>{NODE_IP}:${HTTP_NODE_PORT}/"

2. Access Keycloak using the obtained URL.
3. Access the Administration Console using the following credentials:

  echo Username: admin
  echo Password: $(kubectl get secret --namespace jeff jeff-keycloak -o jsonpath="{.data.admin-password}" | base64 -d)

Keycloak은 클러스터 내부에서는 다음 주소로 접근할 수 있습니다:

jeff-keycloak.jeff.svc.cluster.local (포트 80)

외부에서 Keycloak에 접근하려면 아래 명령어를 실행하여 URL을 확인합니다:

export HTTP_NODE_PORT=$(kubectl get --namespace jeff -o jsonpath="{.spec.ports[?(@.name=='http')].nodePort}" services jeff-keycloak)
export NODE_IP=$(kubectl get nodes --namespace jeff -o jsonpath="{.items[0].status.addresses[0].address}")
echo "<http://$>{NODE_IP}:${HTTP_NODE_PORT}/"

Keycloak 관리자 콘솔 시작하기

URL 형식

관리자 콘솔에 접근하려면 다음 URL을 사용합니다:

{keycloak-url}/admin/{realm-name}

예:

<http://10.77.77.41:31180/admin/jeff-realm>

주요 사용자

  • 시스템 관리자

주요 기능

  1. Realm 설정 및 관리
  2. 사용자/그룹 관리
  3. 클라이언트 애플리케이션 등록 및 관리
  4. 인증 정책 설정
  5. 역할 및 권한 관리
  6. Identity Provider 설정
  7. 이벤트 로깅 및 세션 관리
  8. 토큰 수명 및 보안 정책 설정

주요 작업

Create Realm

Realm은 Keycloak에서 독립적인 인증 정책을 제공하는 기본 단위입니다.

Create user

Keycloak에서는 사용자를 생성할 때 특정 작업을 요구할 수 있습니다:

  • 이메일 인증
  • 프로필 업데이트
  • 비밀번호 변경
  • OTP(One-Time Password) 설정

[set temporary password]

Create group

  • 그룹은 사용자에게 공통 권한을 제공하는 방법입니다.
  • 사용자는 자신이 속한 그룹의 속성을 상속받습니다.

Create global role

  • 역할(Role)은 다른 역할을 포함해 통합 역할을 생성할 수 있습니다.
  • 사용자는 통합 역할의 모든 권한을 동적으로 가질 수 있습니다.

[사용자를 역할에 추가]

Keycloak 계정 콘솔 시작하기

url: {keycloak-url}/realms/{realm-name}/account e.g. http://10.77.77.41:31180/realms/jeff-realm/account/#/

URL 형식

계정 콘솔은 최종 사용자가 자신의 계정을 관리할 수 있는 곳입니다:

{keycloak-url}/realms/{realm-name}/account

예:

<http://10.77.77.41:31180/realms/jeff-realm/account/>

주요 사용자

  • 최종 사용자 (End Users)

주요 기능

  1. 개인 프로필 관리
  2. 비밀번호 변경
  3. 2단계 인증 설정
  4. 로그인 세션 관리
  5. 소셜 계정 연동 관리
  6. 계정 접근 기록 확인주소확인

주소확인