1. 인증/인가 모듈 개요
인증/인가 모듈은 데이터 허브 플랫폼의 인증/인가를 담당합니다. OAuth 2.0을 기반으로 데이터 허브 사용자의 인증/인가를 수행하며 데이터 허브 내부 모듈의 API를 이용할 수 있도록 접근 토큰을 발급합니다.
1.1. 주요 특징
- OAuth 2.0을 적용하여 높은 접근성과 확장성을 가집니다.
- 보안 강화를 위해 사용자 정보와 관리자 정보를 분리하여 관리합니다.
- 접근 토큰의 검증 및 해석에 필요한 키 분배 시스템이 설계되있습니다.
- 보안과 성능을 모두 고려한 JSON Web Encryption (JWE) 방식의 접근 토큰을 사용합니다.
- 마이크로 서비스의 구조에 적합한 접근 제어 정책 정보 동기화 아키텍처를 구성합니다.
1.2. 데이터허브 시스템 내 인증/인가 시스템 구조
데이터허브 시스템에서 동작하는 인증/인가 모듈 구조는 아래와 같습니다. Application Programming Interface (API) Gateway를 통한 RESTful API를 이용하여 다른 데이터 허브 모듈과 연동됩니다.
인증/인가 모듈의 구성 요소는 다음과 같습니다.
1.3. 인증/인가 시스템 구성도
인증/인가 시스템은 인증/인가 모듈, 관리 모듈, 검증 모듈, 정보 조회 모듈로 구성됩니다.
- 인증/인가 모듈 - 사용자 인증(로그인 및 로그아웃) 수행, 인가 코드 및 접근 토큰 발급
- 관리 모듈 - 사용자 정보 관리, 어플리케이션 정보 관리, 토큰 관리
- 검증 모듈 - 접근 토큰 발급 단계 이전에 인가 코드 검증 수행
- 정보 조회 API - 사용자 정보 및 어플리케이션 정보 접근 API 제공
1.4. 인증/인가 모듈 배포 구조
데이터허브 인증/인가는 관리자용 인증/인가 모듈과 일반 사용자용 인증/인가 모듈로 구성됩니다.
관리자용 모듈은 관리자 계정 정보를 관리하며, 타 데이터허브 모듈의 관리자 계정 인증을 담당합니다.
일반 사용자용 모듈은 사용자 계정 정보를 관리하며, 데이터허브 모듈의 사용자 계정 인증을 담당합니다.