본문 바로가기

DevOps/Keycloak

(5)
[Keycloak]OIDC를 활용한 사용자 인증 및 로그아웃 개요OpenID Connect(OIDC)를 통해 애플리케이션과 Keycloak 간의 인증 및 데이터 요청 흐름을 분석하고, 주요 상호작용을 세부적으로 다룹니다.주제실습용 OIDC Playground 애플리케이션 실행Discovery 엔드포인트 이해사용자 인증 흐름 분석ID 토큰 및 UserInfo 활용배경지식OIDC에서의 scope 의미와 사용 방법[정의]scope는 OAuth 2.0 및 OpenID Connect(OIDC)에서 클라이언트가 요청할 수 있는 권한의 범위를 정의하는 매개변수입니다.이를 통해 클라이언트가 액세스하려는 사용자 정보 또는 API 리소스의 종류를 명시할 수 있습니다. 사용자의 동의를 기반으로 애플리케이션이 접근할 수 있는 데이터 범위를 제어하는 데 사용됩니다.OIDC의 scope는..
[Keycloak]애플리케이션 보안설정: 인증 및 권한 관리 예시 애플리케이션의 기능Keycloak을 통합한 애플리케이션은 다음과 같은 주요 기능을 제공합니다:Keycloak 로그인: 안전한 인증 메커니즘 제공.사용자 이름 표시: ID Token의 사용자 정보를 활용하여 사용자 이름 표시.사용자 프로필 사진 표시: ID Token에서 사용자 사진 정보(picture)를 추출하여 표시.ID 토큰 및 접근 토큰 발급: 인증 후 ID Token과 Access Token 제공.토큰 초기화: 갱신된 토큰 정보를 즉시 반영.보안 엔드포인트 호출: 백엔드의 보안 API와 통신.엔드포인트 설명/public: 인증 없이 접근 가능한 공개 엔드포인트./secured: 인증된 사용자만 접근 가능한 보호된 엔드포인트.Keycloak 인증 흐름애플리케이션 다이어그램인증 흐름흐름 설명사용..
[Keycloak]Install keycloak with helm charts https://www.keycloak.org/getting-started/getting-started-kubeKeycloak 설치 (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-keycloakLAST DEPLOYED: Sun Nov 17 22:30:04 2024NAMESPACE: jeffSTATUS: deployedREVISION: 1TEST SUITE: NoneNOTES:CHAR..
[Keycloak]개요 설명Keycloak은 오픈소스 아이덴티티 및 액세스 관리(IAM) 솔루션으로, OAuth 2.0, OpenID Connect, SAML과 같은 표준 프로토콜을 지원합니다. 이를 통해 인증(Authentication), 권한 부여(Authorization), 사용자 관리(User Management)를 간소화하며, 싱글 사인온(SSO), 소셜 로그인, 사용자 디렉토리 통합 등의 강력한 기능을 제공합니다.주요 용어Realm: Keycloak에서 다중 테넌시 환경을 구현하는 논리적 단위로, 각 Realm은 독립적인 인증 및 권한 부여 정책을 가집니다.Client: Keycloak이 보호하는 애플리케이션이나 서비스로, OAuth 2.0에서의 클라이언트와 유사합니다.User Federation: 외부 디렉토리 서..
[Keycloak]OAuth, OpenID Connect, SAML, Zero Trust 개념 공통점과 차이점특징 OAuth OpenID Connect (OIDC) SAML특징OAuthOpenID Connect (OIDC)SAML주 목적권한 부여 (Authorization)사용자 인증 (Authentication)인증 및 권한 부여프로토콜 기반OAuth 2.0OAuth 2.0 + ID 계층 추가XML 기반 (XML 문서 교환)토큰 형식액세스 토큰 (Access Token)액세스 토큰, ID 토큰 (Access & ID Token)SAML 어설션 (SAML Assertion)사용 예시API 권한 부여로그인 및 사용자 인증기업 애플리케이션의 SSO주요 전송 데이터액세스 토큰ID 토큰과 사용자 정보SAML 어설션(XML 문서)OAuth (Open Authorization)설명:OAuth는 사용자가 비밀..