본문으로 건너뛰기

계정 및 권한

exemONE 계정 관리 및 외부 인증(SSO) 기능 상세 설명

1. 사용자 관리 (User Management)

참고 문서: Setting > Account > User & User Group

Role Permission이 'Admin'인 사용자만 이 화면에 접근할 수 있습니다.

1-1. 사용자 목록 (User List)

참고 문서: Setting > Account > User & User Group > User

User List에서 확인 및 관리할 수 있는 항목:

항목내용
ID사용자 ID (클릭 시 사용자 정보 수정 팝업 열림)
Email사용자 이메일
SSO ID외부 연동 ID (별도 서버 설정 필요)
Name사용자 이름
Group사용자가 속한 그룹
Role사용자의 역할 (Admin/User)
Role Name사용자에게 부여된 역할 이름
Phone연락처
LockedToggle 버튼으로 계정 잠금 기능
SMS / EmailToggle 버튼으로 수신 여부 설정

1-2. 사용자 추가 (Add User)

User List에서 [Add User] 버튼 클릭 후 아래 정보를 입력합니다:

순번항목내용
1Group그룹 선택 (다중 선택 가능)
2Role역할 선택 (Admin/User)
3ID사용자 ID 입력
4Role Name역할 이름 선택
5Email이메일 입력
6Name이름 입력
7SSO ID외부 연동 ID 입력 (별도 서버 설정 필요)
8Phone연락처 입력
9Password비밀번호 입력
10Password Confirmation비밀번호 확인

1-3. 사용자 편집 (Edit User)

User List에서 ID를 클릭하면 사용자 정보 편집 화면이 열리며, [Edit] 버튼을 클릭하여 수정할 수 있습니다. Reset Password 버튼으로 비밀번호 초기화도 가능합니다.


2. 사용자 그룹 관리 (User Group Management)

참고 문서: Setting > Account > User & User Group > User Group

2-1. 그룹 추가 (Add Group)

[Add Group] 버튼을 클릭하여 그룹 정보와 소속 사용자를 등록합니다.

  • Group Name: 그룹 이름 입력
  • Description: 설명 입력
  • User In Group: 체크박스로 사용자를 선택하여 'Selected User List'에 추가/삭제

2-2. 그룹 편집 (Edit Group)

그룹 목록에서 편집 아이콘을 클릭하여 그룹 이름, 설명, 소속 사용자를 수정할 수 있습니다.


3. 권한 관리 (Permission)

참고 문서: Setting > Account > Permission

권한은 크게 Role Permission (역할 권한)Monitoring Target Permission (모니터링 타겟 권한)으로 구분됩니다.

3-1. Role Permission (역할 권한)

참고 문서: Setting > Account > Permission > Role Permission

사용자가 접근할 수 있는 화면의 권한을 설정합니다.

Add Role 시 설정 항목:

항목내용
Role사용자 역할 선택 (Admin/User)
Role Name역할 이름 입력
Password Change Cycle비밀번호 변경 주기
Permission List화면별 권한 설정 (Dashboard Management, Monitoring Management, Setting Management)

3-2. Monitoring Target Permission (모니터링 타겟 권한)

참고 문서: Setting > Account > Permission > Monitoring Target Permission

사용자 그룹별로 모니터링할 수 있는 타겟의 권한을 설정합니다.

  • Monitoring Target: 타겟별 권한 설정
  • Business Target: 비즈니스별 권한 설정
  • Permission 컬럼에 체크하여 모니터링 권한을 부여

3-3. 권한 그룹/개별 설정 (Group vs Member 권한)

참고 문서: 권한 설정 사용 가이드

핵심 규칙:

  • Group과 Member 권한은 동시에 적용되지 않으며, 둘 중 하나만 선택 가능
  • Member 권한이 Group 권한보다 우선 적용
상태설명
Group Activation ON하위 Target Activation은 상속 상태(비활성화)로 표시
Group Activation OFFTarget Activation이 개별 편집 가능 상태로 전환
Target Activation ON해당 타겟에 직접 권한이 부여된 상태
Target Activation OFF권한이 없는 상태


4. 외부 인증 (SSO) 기능

4-1. Azure SSO 인증 (MS Entra ID 연동)

참고 문서: SSO 인증 (KT PoC)

Azure 사용자로 exemONE에 로그인하는 기능입니다.

사전 조건: Azure > Key Vault(키 자격 모음)가 생성되어 있고, 사용자/앱에 권한이 부여된 상태

연동 플로우:

exemONE 접근 → Azure 로그인 화면 이동 → 로그인 → exemONE으로 리다이렉트

설정 단계:

1단계: exemone-gateway 설정 파일에 SSO 옵션 추가

  • 설정 파일: {EXEMONE_HOME}/installer/exemone/containers/exemone-gateway/configs/gateway.yaml
gateway:
sso:
sso-path: "/"
authorization-path: "/sso/azure/kt"
redirection-url: "{app-domain}/sso"
redirection-error-url: "https://{app-domain}/CUSTOM/ssoErrorPage.html"
app-domain: "{app-domain}"
azure:
redirection-url: "/azure/ad/callback"
client-id: "{client-id}"
tenant-id: "{tenant-id}"
client-secret: "{client-secret}"
vault-name: "{vault-name}"

2단계: exemone-api 설정 파일에 SSO 모드 활성화

  • 설정 파일: {EXEMONE_HOME}/installer/exemone/containers/exemone-api/configs/application.yaml
xm:
sso:
sso-mode: true
redirection-logout-url: https://{app-domain}/manager

3단계: gateway 재시작

$ exemone/installer/exemone/scripts/restart.sh gateway

4단계: api 재시작

$ exemone/installer/exemone/scripts/restart.sh api

5단계: 앱 도메인으로 로그인 시 Azure 계정으로 자동 로그인

6단계: 사용자 자동 등록 확인 - SSO 로그인 시 자동으로 다음 정보가 입력됩니다:

  • 그룹: Default
  • ID/SSO ID: Azure 계정 인증 ID 값
  • 이메일: Azure 계정 이메일
  • 이름: Azure 사용자 이름

4-2. SSO 사용자 외부 동기화 (삼성카드 모니모 방식)

참고 문서: SSO 인증 (삼성카드 모니모)

SSO 연동을 위한 사용자 외부 동기화 기능으로, IF 테이블 및 트리거를 통해 외부 시스템에서 전달된 사용자 정보를 xm_user 테이블에 자동 등록합니다.

설정 단계:

1단계: API 설정 파일에 외부 동기화 옵션 추가

  • 위치: /container/exemone-api/config/application.yml
xm:
user:
externalSync:
enabled: true
cron: 0 * * * * * # 1분 주기 (원하는 표현식으로 수정 가능)
targetCode: ssc
defaultUserRoleName: USER
defaultAdminRoleName: ADMIN

2단계: 사용자 IF 테이블 생성 (exemone PostgreSQL에서 실행)

3단계: 트리거 및 함수 생성 - 사용자 등록 시 custom 필드에 11자리 유니크 값을 자동 생성

확인 방법:

  • xm_user_if_ssc 테이블에 사용자 정보 추가
  • xm_user 테이블에 신규 사용자 자동 등록 확인
  • custom 컬럼에 11자리 유니크 값 자동 생성 확인

4-3. Google OTP 2차 인증

참고 문서: Google OTP 적용 가이드

Google OTP를 통한 2차 인증(Two-Factor Authentication) 기능입니다.

설정 방법:

1단계: API 설정 파일에 OTP 옵션 추가

  • 위치: $EXEMONE_HOME/containers/exemone-api/configs/application.yaml
xm:
twoFactorAuthentication: OTP # 전체 OTP 사용 (NONE → 사용자별 OTP 사용)
login:
externalAuthentication:
enabled: false

2단계: API 모듈 재기동

$ ./scripts/restart.sh api

로그인 절차:

  1. exemONE 로그인 실행
  2. Google OTP 등록 팝업 출현 → QR코드 또는 접속 코드로 등록

  1. 'Authenticator' 앱에 등록 확인 후, 2차 로그인 화면에서 코드 입력

  1. 로그인 완료


5. 추가 참고: Session Timeout 설정

참고 문서: Session Timeout 설정 방법 / 사용자 역할 권한

사용자 역할 권한별 Session Timeout 기능을 적용하여, 설정된 시간 초과 시 자동 로그아웃됩니다.

활성화 방법:

  1. API 설정 파일에서 sessionTimeoutMode: true 설정
  2. Gateway 설정 파일에서 session-timeout-mode: true 설정
  3. Setting > Permission > Role Permission > Add/Edit Role 화면에서 Session Time 값 설정


주의사항

  • 계정 관리(User & User Group, Permission) 메뉴는 Admin 역할을 가진 사용자만 접근 가능합니다.
  • SSO ID는 사용자 추가/편집 시 설정하며, 별도의 서버 설정이 필요합니다.
  • Azure SSO 연동 시 Azure 관리자로부터 Client-Id, Tenant-Id, Vault-Name, App-Domain 정보를 사전에 전달받아야 합니다.
  • Google OTP 설정에서 twoFactorAuthentication: OTP는 전체 사용자에게 OTP를 적용하며, NONE으로 설정하면 사용자별로 개별 적용할 수 있습니다.
  • 권한 설정 시 Member 권한이 Group 권한보다 우선 적용되므로, 개별 사용자에게 특별한 권한을 부여할 때는 Member 모드를 사용하면 됩니다.