Keycloak - 모던 애플리케이션을 위한 ID 및 접근 관리

Keycloak, OpenID Connect 및 OAuth 2.0 프로토콜의 강력한 기능을 활용한 애플리케이션 보안
$39.69
SKU
9791161757865
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 05/31 - Thu 06/6 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 05/28 - Thu 05/30 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/09/26
Pages/Weight/Size 188*235*23mm
ISBN 9791161757865
Categories IT 모바일 > 네트워크/해킹/보안
Description
애플리케이션 보안의 역할은 점점 더 중요해지고 있다. Keycloak은 오픈소스 IAM(ID 및 접근 관리) 도구이다. 사용자는 IAM을 통해 애플리케이션 및 IT 서비스에 대한 인증 프로세스를 간소화할 수 있다. Keycloak을 통해 서비스를 보호하고 애플리케이션에 대한 인증을 추가할 수도 있다. 이 책에서는 Keycloak의 설치부터 다양한 애플리케이션에 대한 보호 방법, OpenID 및 OAuth 2.0과 연동하는 방법, 프로덕션 환경에서의 설정 방법과 모범 사례를 다룬다.
Contents
1부. Keycloak 시작하기

1장. Keycloak 시작하기
__기술 요구 사항
__Keycloak 소개
__Keycloak 설치 및 실행
____도커에서 Keycloak 실행
____OpenJDK를 통한 Keycloak 설치 및 실행
__Keycloak 관리 및 계정 콘솔 활용
____Keycloak 관리자 콘솔 시작하기
____Keycloak 계정 콘솔 시작하기
__요약
__질문

2장. 애플리케이션 보안 설정
__기술 요구 사항
__샘플 애플리케이션 이해
__애플리케이션 실행
__애플리케이션에 로그인하기
__백엔드 REST API 안전하게 호출하기
__요약
__질문

2부. Keycloak을 통한 애플리케이션 보안

3장. 간략한 표준 소개
__OAuth 2.0을 통한 애플리케이션 접근 권한 인가
__OpenID Connect를 통한 사용자 인증
__JWT를 토큰으로 활용
__SAML 2.0이 여전히 중요한 이유
__요약
__질문

4장. OpenID Connect를 활용한 사용자 인증
__기술 요구 사항
__OpenID Connect playground 실행
__검색 엔드포인트 이해
__사용자 인증
__ID 토큰 이해하기
____사용자 프로파일 업데이트
____사용자 정의 속성 추가
____ID 토큰에 역할 추가
__UserInfo 엔드포인트 호출
__사용자 로그아웃 처리
____로그아웃 시작
____ID 및 접근 토큰 만료 활용
____OIDC 세션 관리 활용
____OIDC 백-채널 로그아웃 활용
____OIDC 프론트-채널 로그아웃 활용
____로그아웃은 어떻게 처리해야 하는가?
__요약
__질문
__참고문헌

5장. OAuth 2.0을 활용한 접근 권한 인가
__기술 요구 사항
__OAuth 2.0 플레이그라운드 실행
__접근 토큰 획득
__사용자 동의 요청
____역할을 사용해 토큰 액세스 제한하기
____토큰 접근을 제한하기 위한 범위 활용
__접근 토큰 검증
__요약
__질문
__참고문헌

6장. 다양한 애플리케이션 유형 보안
__기술 요구 사항
__내부 및 외부 애플리케이션 이해
__웹 애플리케이션 보호
____서버 사이드 웹 애플리케이션 보호
____전용 REST API가 포함된 SPA 보호
____중개 REST API를 사용하는 SPA 보호
____외부 REST API가 포함된 SPA 보호
__네이티브 및 모바일 애플리케이션 보호
__REST API 및 서비스 보호
__요약
__질문
__참고문헌

7장. Keycloak과 애플리케이션 통합
__기술 요구 사항
__통합 아키텍처 선택
__통합 옵션 선택
__Golang 애플리케이션 통합
____Golang 클라이언트 설정
__자바 애플리케이션 통합
____Quarkus 사용
__Creating a Quarkus resource server
____SpringBoot 사용
____Keycloak 어댑터 활용
__자바스크립트 애플리케이션 통합
__Node.js 애플리케이션 통합
____Node.js 클라이언트 생성
____Node.js 리소스 서버 생성
__파이썬 애플리케이션 통합
____파이썬 클라이언트 생성
____파이썬 리소스 서버 생성
__리버스 프록시 활용
__자체 통합 코드 구현을 권장하지 않음
__요약
__질문
__참고문헌

8장. 인가 전략
__인가 이해하기
__RBAC 활용
__GBAC 활용
____그룹 멤버십을 토큰에 매핑
__OAuth2 범위 활용
__ABAC 활용
__통합 Keycloak 인가 서버 활용
__요약
__질문
__참고문헌

3부. Keycloak 설정 및 관리

9장. 프로덕션 환경을 위한 Keycloak 설정
__기술 요구 사항
__Keycloak 호스트네임 설정
____프론트엔드 URL 설정
____백엔드 URL 설정
____admin URL 설정
__TLS 활성화
__데이터베이스 설정
__클러스터링 활성화
__리버스 프록시 설정
____노드 부하 분산
____클라이언트 정보 전송
____세션 어피니티 유지
__Keycloak 환경 테스트
____부하 분산 및 시스템 대체 작동 테스트
____프론트엔드 및 백엔드 URLs 테스팅
__요약
__질문
__참고문헌

10장. 사용자 관리
__기술 요구 사항
__로컬 사용자 관리
____로컬 사용자 생성
____사용자 자격증명 관리
____사용자 정보 획득 및 검증
____자동 등록 활성화
____사용자 속성 관리
__LDAP 및 액티브 디렉터리 통합
____LDAP 매퍼 이해
____그룹 동기화
____역할 동기화
__서드파티 ID 제공자 통합
____OpenID Connect ID 제공자 생성
__소셜 ID 제공자 연동
__사용자 데이터 관리
__요약
__질문
__참고문헌

11장. 사용자 인증
__기술 요구 사항
__인증 흐름 이해
____인증 흐름 설정
__패스워드 사용
____패스워드 정책 변경
____사용자 패스워드 리셋
__OTPs 사용
____OTP 정책 변경
____사용자가 OTP 사용 여부를 선택할 수 있도록 허용
____OTP를 통한 사용자 인증 활성화
__웹 인증 활용
____인증 흐름에서 WebAuthn 활성화
____보안 기기 등록 및 인증
__강력한 인증 사용
__요약
__질문
__참고문헌

12장. 토큰 및 세션 관리
__기술 요구 사항
__세션 관리
____세션 생명주기 관리
____활성 세션 관리
____사용자 세션 조기 종료
____쿠키 및 세션과의 관련성 이해
__토큰 관리
____ID 토큰 및 접근 토큰 생명주기 관리
____리프레시 토큰 생명주기 관리
____리프레시 토큰 로테이션 활성화
____토큰 폐기
__요약
__질문
__참고문헌

13장. Keycloak 확장
__기술 요구 사항
__서비스 공급자 인터페이스 이해하기
____사용자 정의 제공자 패키징
____사용자 정의 제공자 설치
____KeycloakSessionFactory 및 KeycloakSession 컴포넌트 이해
____제공자의 생명주기 이해
____제공자 설정
__인터페이스 변경
____테마 이해
____신규 테마 생성 및 적용
____템플릿 확장
____테마 관련 SPI 확장
__인증 흐름 사용자 정의
__다른 사용자 정의 포인트 확인
__요약
__질문
__참고문헌

4부. 보안 고려 사항

14장. Keycloak 및 애플리케이션 보안
__Keycloak 보안
____Keycloak에 대한 통신 암호화
____Keycloak 호스트 이름 설정
____Keycloak에서 사용하는 서명 키 순환
____주기적인 Keycloak 업데이트
____외부 저장소의 시크릿을 Keycloak으로 로드
____방화벽 및 침입 방지 시스템을 통한 Keycloak 보안
__데이터베이스 보안
____방화벽을 사용한 데이터베이스 보안
____데이터베이스 인증 및 접근 제어 활성화
____데이터베이스 암호화
__클러스터 통신 보안
____클러스터 인증 활성화
____클러스터 통신 암호화
__사용자 계정 보안
__애플리케이션 보안
____웹 애플리케이션 보안
____OAuth 2.0 및 OpenID 커넥트 베스트 프랙티스
____Keycloak 클라이언트 설정
__요약
__질문
__참고문헌

__평가
Author
스티안 토르거센,페드로 이고르 실바,최만균
대부분의 기업이 단일 벤더 퍼블릭 클라우드를 사용할 준비가 되기 몇 년 전부터 클라우드 연합 플랫폼을 구축하는 아르주나 테크놀로지스(Arjuna Technologies)에서 경력을 시작했다. 그 후 레드햇(Red Hat)에 합류해 개발자들의 업무를 도울 방법을 찾았으며 여기서부터 Keycloak에 대한 아이디어가 시작됐다. 2013년 레드햇의 다른 개발자와 함께 Keycloak 프로젝트를 공동 설립했다. 현재 Keycloak 프로젝트의 리더이자 프로젝트의 최고 기여자다. 또한 레드햇과 레드햇 고객의 ID 및 접근 관리 업무를 수행하는 수석 소프트웨어 엔지니어로 꾸준히 일하고 있다.
대부분의 기업이 단일 벤더 퍼블릭 클라우드를 사용할 준비가 되기 몇 년 전부터 클라우드 연합 플랫폼을 구축하는 아르주나 테크놀로지스(Arjuna Technologies)에서 경력을 시작했다. 그 후 레드햇(Red Hat)에 합류해 개발자들의 업무를 도울 방법을 찾았으며 여기서부터 Keycloak에 대한 아이디어가 시작됐다. 2013년 레드햇의 다른 개발자와 함께 Keycloak 프로젝트를 공동 설립했다. 현재 Keycloak 프로젝트의 리더이자 프로젝트의 최고 기여자다. 또한 레드햇과 레드햇 고객의 ID 및 접근 관리 업무를 수행하는 수석 소프트웨어 엔지니어로 꾸준히 일하고 있다.