Programming-[Backend] (393) 썸네일형 리스트형 Keycloak - 11. 토큰 및 세션 관리 KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 세션 관리 세션은 클라이언트의 인증 여부, 인증 기간, 재인증 시기 등을 결정한다. 따라서 세션을 활용하면 동일한 영역 내의 서로 다른 클라이언트를 인증하는 Single Sign On을 제공할 수 있다. 세션은 토큰이 유효한 토큰인지 확인하기 위한 보안 계층을 제공하는 역할도 한다. 그리고 메모리에 저장되어 Keycloak의 전반적인 성능에 직접적인 영향을 미친다. 1.1 세션 생명주기 관리 1.1.1 세션 생명주기Keycloak은 주기적으로 만료된 세션을 확인한다. 기본적으로 15분이며 이 값도 조절이 가능하다. K.. Keycloak - 10. 사용자 인증: OTP, WebAuthn, passkey KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 인증 흐름 이해 1.1 인증 흐름 목록Keycloak은 다양한 인증 흐름을 제공한다. 일반적인 경우에는 브라우저를 중개자로 사용한다. 좌측 사이드 메뉴에서 Authentication 항목에 들어가보면 다양한 인증 흐름 목록을 볼 수 있다. 브라우저 플로우 외에 clients나 direct grant 등은 realm에 인증하거나, 클라이언트가 토큰 엔드포인트를 통해서 토큰을 획득하기 위해 백채널 요청을 통해 사용자를 인증하는 것과 관련이 있다. 1.2 인증 흐름 설정 1.2.1 인증 흐름 만들어보기새로운 인증 흐름을 .. Keycloak - 9. 사용자 관리, LDAP 통합, Social Login KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. * 이전 글들에서 사용했던 ssl로 접속하는 production용 서버들말고, 기존에 생성했던 8080 포트의 dev용 서버를 사용한다. 1. 로컬 사용자 관리 여기서 로컬 사용자란 Keycloak 데이터베이스에 저장된 사용자를 의미한다. 1.1 사용자 생성신규 사용자 생성은 이미 앞 글들에서 진행했었다. Keycloak 콘솔에서 Users에 들어가서 Add User로 생성하면 된다. 이번에도 alice 라는 이름의 사용자를 생성해본다. 사용자를 생성하는 경우 기존 realm에 포함된다. realm에 생성된.. Keycloak - 8. 리버스 프록시 설정, 테스트 KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 리버스 프록시 설정 1.1 리버스 프록시 요구사항리버스 프록시는 여러 Keycloak 인스턴스에 대한 단일 및 공용 접근 포인트를 제공하고 정책 집합을 사용하여 부하 분산을 수행한다. 해당 인스턴스들은 보통 프라이빗 네트워크에 위치하기 때문에 프록시를 통해서만 접근할 수 있다. Keycloak은 자유롭게 리버스 프록시 적용이 가능하다. 아파치 HTTP 서버, Nginx, F5 및 HAProxy 등을 사용할 수 있다. 리버스 프록시를 사용하기 위한 기본적인 요구사항들은 다음과 같다.TLS 터미네이션 및 재암호화부하 분산세.. Keycloak - 7. 인가 전략, 프로덕션 환경 구성, 캐시 클러스터링 KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 인가 이해하기 1.1 인가 승인 여부 판단 요소인가 승인 여부를 판단할 때 고려해야할 요소는 보통 다음과 같다.사용자는 누구인가?사용자와 관련된 데이터는 무엇인가?리소스에 접근하기 위한 조건은 무엇인가? 1.2 접근 제한 구현 패턴보호된 리소스에 적용되는 접근 제한을 구현하는 주요 인가 패턴은 두 가지가 존재한다. 두 가지는 상호 배타적이지 않으며 둘 다 동시에 적용할 수도 있다.메타데이터 및 설정을 사용하여 선언적, 프로그래밍적 방식으로 애플리케이션 수준에서 제어통합 인가: 애플리케이션의 외부 서비스에 접근 허가 여부.. Keycloak - 6. 애플리케이션과 통합, 리버스 프록시 KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 애플리케이션 실행 이번에는 교재에서 제공하는 코드 중 ch7의 코드를 애플리케이션의 하나로 실행할 것이다. 그리고 이 애플리케이션의 포트가 8080이기 때문에, 기존에 실행하던 keycloak용 docker container는 잠시 멈추고 8180번으로 keycloak container를 다시 실행한다. 그냥 애플리케이션의 포트를 8080이 아닌 다른 포트로 하고 싶기도 한데, 그럼 교재와 다르게 또 바꿔야할 부분들이 많을 것 같아서 그냥 교재에 나온대로 해본다. 1.1 Keycloak 세팅8080에 떠있는 contai.. Keycloak - 5. 보안 KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 내부 및 외부 애플리케이션 이해 애플리케이션을 보호할 때 가장 먼저 고려할 사항은 애플리케이션이 내부인지 외부인지 확인하는 것이다. 1.1 Consent Required 옵션내부 애플리케이션은 기업이 자체 개발한 애플리케이션으로 신뢰할 수 있다. Keycloak에 애플리케이션을 등록한 관리자가 사용자를 대신해서 접근 권한을 사전 승인할 수 있다. 따라서 사용자에게 애플리케이션에 대한 접근 권한을 부여하도록 따로 요청할 필요가 없다. Consent Required 옵션을 비활성화해도 된다. 반면 외부 애플리케이션의 경우.. Keycloak - 4. 접근 권한 인가 KeyCIoak - 모던 애플리케이션을 위한 ID 및 접근관리 | 에이콘출판(주) | 스티안 토르거센, 페드로 이고르 실바 지음, 최만균 옮김서적을 참고하여 요약한 시리즈 글이다. 1. 접근 토큰 획득1.1 OAuth 2.0 플레이 그라운드 실행책에서 제공하는 코드 중 ch5를 실행하면 OAuth 2.0을 위한 플레이그라운드 앱에 접속할 수 있다. 실행 방법은 앞선 글들과 유사하다. 백엔드, 프론트엔드 코드 각각에서 /auth 부분을 모두 삭제해준다. 자세한 과정은 생략한다. 백엔드, 프론트엔드 코드를 모두 실행 후 localhost:8000에 접속하면 아래와 같은 프론트엔드 화면을 확인할 수 있다. 1.1.1 클라이언트 등록다음 클라이언트를 추가한다.client id: oauth-playgrounda.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 50 다음