본문으로 건너뛰기

통합 로그인

security365 통합 로그인

  • 최초 로그인 시 통합로그인 UI 가 나타납니다.
  • 통합로그인 사용자가 아닌 경우 최초 로그인 시 통합로그인 UI를 닫으면 Document Security 로그인 UI 가 나타납니다.

SHIELD ID 로그인 화면은 DS365.Core.json 설정으로 아래와 같이 적용 가능합니다.

DS_MIP_INIT 항목 설정

"mode" 지정은 "webView" 또는 "msedgeApp" 로 지정합니다.
로그인 유형인 "webView", "msedgeApp" 에서 사용할 옵션은 해당 키값의 항목을 설정합니다.

"title" 지정은 통합로그인 UI 에 표시되는 문자열을 지정합니다. 일반적으로 Security365 로 표시되나, 커스터마이징을 통해서 통합로그인 CI 및 타이틀을 변경할 경우 해당 파일도 같이 적용해야 합니다.

//DS365.Core.json 설정 예제
{
"login": {
"port": "28080",
"waitMinTime": "0",
"mode": "msedgeApp",
    "title": "Security365,SOFTCAMP,Shieldrm,Login",
"webView": {
"idPwEveryTime": "none",
"topMost": "none"
},
"msedgeApp": {
"fullScreen": "none",
"idPwEveryTime": "none",
"topMost": "none"
}
}
}
사용자 화면내용비고
img창 모드login.mode : "msedgeApp"
img전체화면 모드 주 모니터의 전체화면으로 발현login.mode : "msedgeApp", "login.fullScreen" : "use"

security365 계정 연동

  • SHIELD ID 로그인 시 해당 계정에 등록된 문서보안 계정(SCI서버) 정보가 없을 경우 아래와 같이 계정 연결 진행됩니다.
    각 안내화면은 3분 타임아웃이 적용되며, 3분간 해당 안내창을 닫지 않을 경우 자동으로 닫히고 다음 단계로 이동 합니다.
사용자 화면내용비고
img통합 로그인 (SHIELD ID)microsoft id/pw 인증
img통합로그인 진행 후 로그인 완료된 SHIELD ID와 연동된 sci 계정이 없을 경우 안내 창 표시연결된 정보가 없을 경우 SHIELD ID 인증에 성공한 아이디 아래 항목 시도 1. 전체 계정 정보로 sci 서버에 사용자 체크 2. 도메인 정보 제거 후 sci 서버에 사용자 체크
img문서보안 로그인 절차에 따름문서보안 로그인이 진행 자동로그인/SSO 등이 없는 경우 문서보안 로그인 화면 출력되며, 문서보안 로그인 완료 후 아래 화면으로 이동
imgSHIELD ID 와 문서보안 인증에 성공한 계정 정보 출력 및 연결 안내 화면로그인이 완료된 후에 문서보안 계정과 이미 발급된 토큰의 SHIELD ID를 비교해서 다르면, 기존 토큰을 삭제하고 SHIELD ID의 연동된 계정을 현재 로그인한 문서보안 계정으로 등록 시 발생 가능성 e.g. 회의실 같이 한 장비에 여러 사용자가 로그인하는 경우
imgSHIELD ID에 sci 사용자 등록 완료 안내 화면

SHIELD ID 통합 로그인 페이지 커스터마이징

img

  • 사이트용 화면을 설정하기 위해서는 idp 서비스에서 관련 정책 설정 필요
    • 참고 | ⚠️ 해당 자료는 접근에 제한이 있는 자료임을 알려드립니다.
  • DS_MIP_INIT 정책 중 extra 정책의 값 설정 필요
  • 정책 예시
{
"s365_url": "https://devlogin.softcamp.co.kr/",
"s365_app_id": "4e3b53b2-a18c-4d78-8de1-b9fcada4077c",
"s365_app_name": "shieldrm-svc",
"s365_app_secret": "JyktLCInJ------------------------JycsJyQ",
"s365_log_url": "https://log.security365.com/log/event",
"shieldrm_url": "https://ssevtr.softcamp.co.kr/",
"extra": "3CJ55MSE-xLO7Sxt4-qUBKzbcs-XP2cgGEq",
"tid" : "4d615af9-1d04-4bcc-8e6f-c6b6fe3110dd",
"runMode": "s365"
}

통합 로그인 화면 팝업 On/Off 설정

정보

통합 로그인 화면 팝업을 환경설정 또는 커스텀 정책으로 On/Off 할 수 있는 기능을 설명합니다.

개요

  • 통합 로그인 화면 팝업을 환경설정 또는 커스텀 정책으로 on/off 할 수 있는 기능입니다.

설명

  • 'SHIELD DRM 미사용' 여부는 사용자가 직접 선택할 수 있는 항목이며, 기본값은 0입니다.

    환경설정 추가된 옵션
  • DS_SDSENV_NOT_USE_SHIELD_DRM 정책은 관리자가 중앙에서 이 옵션을 제어하기 위해 사용하는 정책입니다.
  • 해당 정책을 사용하면, 환경설정 화면의 'SHIELD DRM 미사용' 체크박스는 비활성화되며, 사용자가 해당 옵션을 변경할 수 없습니다.
  • 체크 여부는 관리자가 설정한 정책값에 따라 강제로 적용되며, 사용자 설정은 무시됩니다.

    커스텀 정책 사용 시 비활성화 되는 옵션

관련 커스텀 정책

IDDS_SDSENV_NOT_USE_SHIELD_DRM
TYPECheck On/Off
설명SHIELD DRM 사용 유무 (1: 사용 안함, 0: 사용함)
정책 값1 (혹은 Check)
scscDS_SDSENV_NOT_USE_SHIELD_DRM.scsc

적용 방법

  1. 모듈 패치
  2. 커스텀 정책 설정 및 정책 받아오기

제약 사항

  • Shield Drm 사용 정책 값에서 미사용 정책값으로 변경하는 경우 시스템 재부팅이 진행되어야 관련 모듈이 정상적으로 종료되어 기능이 off됩니다.
  • 미사용에서 사용으로 변경하는 경우에도 재부팅이 없이도 동작이 가능하나 가급적 재부팅을 권장합니다.
  • 환경 설정에서 해당 값 변경 시 시스템 재부팅이 필요하다는 사용자 안내 문구가 나옵니다.-img

SHIELD ID 사용자 계정 비활성화 시 DS6 인증 차단 및 로그아웃

정보

SHIELD ID 의 사용자 계정이 비활성화된 경우, DS6 클라이언트에서 SHIELD ID 인증 실패되며 이때 기존 SCI 서버 인증도 차단(로그인 실패처리)하는 기능입니다.

개요

  • SHIELD ID에서 사용자 계정이 비활성화되면, DS6 클라이언트에서 해당 사용자의 인증을 차단하고 알림 메세지 표시 후 문서보안 로그아웃 처리하는 기능입니다.

설명

  • security365 사용자 비활성화
    img
  • 비활성화 된 사용자는 다음의 두 상황에서 따라 차단 동작이 발생합니다.
    • 문서보안 로그인 상태
      • ztcap 정책으로 평가되는 동작에 의해 ( Ex 우클릭 MIP 로 문서변환, MIP->Drm문서변환 등) 비활성화 된 사용자로 응답 받을 경우 알림 메세지창 발현 및 문서보안 로그아웃 상태가 됨.
    • 문서보안 미 로그인 상태
      • DS_MIP_INIT 정책의 Runmode sso 를 사용하는 경우에 한정하여 s365 인증 받기 전에 사용자 ShieldID로 조회하여 비활성화 사용자의 경우 로그인 직후 알림 메세지창 발현 및 다시 로그아웃 상태가 됨.
      • sso가 아닌 다른 Runmode 정책 값의 경우 현재 지원 불가 ( 사유에 대해서는 아래 제약사항 참고 )

적용 방법

  1. 모듈 패치

제약 사항

  • DS_MIP_INIT 정책의 Runmode sso가 아닌 다른 Runmode 사용 시 ( s365, appauth, aad, ds ) 아래 사유로 비활성화된 ShieldID 사용자의 로그인 차단 및 로그인 후 바로 로그아웃 기능은 동작이 불가함.
    • s365, ds의 경우 통합 로그인 창을 사용하여 s365인증을 진행하는 데 사용자의 shieldID가 브라우저 및 securiy365 front 단에서 인증이 동작하므로 DS 6.0 클라이언트 입장에서 ShieldID를 얻어올 방법이 없음. ( ShieldID가 없으면 비활성화 여부 확인 불가 )
    • appauth의 경우 개별 사용자의 shieldId 기반이 아닌 sheildrm svc 앱 기반으로 동작하므로 기능이 무의미함.
    • aad의 경우 현재는 테넌트id로 인증 후 토큰에서 shieldID를 구해 올 수 있으나, 현재 구조에서는 미지원입니다.
  • MIP 해제의 경우 기존에 ztcap으로 해제 여부를 판단하는 로직이 존재하지 않기 때문에 지금 구조에서는 이 기능이 적용되지 않습니다.

알림 메세지

  • 사용자가 비활성화 될 경우 아래의 알림 메세지와 함께 문서보안 로그아웃 처리됨.
    사용자 비활성화 알림 메세지

관련 커스텀 정책

  • DS_MIP_INIT 정책ForceLogoutOnUserDisabled 정책 값으로 비활성화된 사용자의 문서보안 로그아웃 기능을 On/Off 가능.

PKCE 인증 (공용 클라이언트 로그인)

정보

요약: 정책에 앱 시크릿(s365_app_id)이 없으면 자동으로 PKCE(브라우저) 로그인으로 동작합니다. 발급된 토큰은 PC 자격 증명 관리자에 안전하게 보관되어, 만료 전에는 오프라인에서도 사용되고 만료 시 자동 갱신됩니다.

개요

DS6의 Security365 로그인이 배포 환경에 따라 PKCE(공용 클라이언트) 방식으로 자동 동작하도록 지원하는 기능입니다.

앱 시크릿(자격 증명)을 배포할 수 없는 환경에서도 브라우저 로그인만으로 사용자 인증을 마치고, 이후 문서 보안 등급 지정·MIP 보호 등 Security365 기능을 사용할 수 있습니다.

사용자는 인증 방식을 직접 고르지 않습니다. 관리자 정책 설정값에 의해 자동으로 방식이 결정되며, 인증 이후에는 저장된 토큰이 유효한 동안 재로그인 없이 기능을 사용합니다.

본 기능이 필요한 이유

  • 기존 Confidential 방식은 앱 시크릿(s365_app_id)이 정책에 배포되어야 동작합니다. 시크릿을 배포하기 어려운 공용 클라이언트 환경에서는 로그인 자체가 불가했습니다.
  • 또한 인증 정보가 없는 상태에서 MIP 변환(등급 변경·보호)을 시도할 때 로그인 창이 뜨지 않아 작업이 진행되지 않는 사례가 있었습니다.
  • 본 기능은 PKCE 표준(공용 클라이언트) 로그인을 추가하고, 미인증 상태의 변환 요청에서 재인증 창이 정상 출력되도록 정비했습니다.

동작 방식

정책의 앱 시크릿(s365_app_id) 유무로 PKCE / Confidential 을 자동 분기하고, PKCE 에서는 브라우저 로그인으로 사용자 토큰을 발급받아 자격 증명 관리자에 보관하며, 만료 시 자동 갱신 또는 재로그인으로 이어집니다.

적용 범위 / 진입점

진입점동작
Security365 기능 최초 사용브라우저 로그인 창 출력 → 토큰 발급
파일 우클릭 → 보안 등급 변경저장 토큰 사용, 필요 시 재인증(온라인 확인 후)
파일 우클릭 → MIP 보호/해제저장 토큰 사용, 필요 시 재인증
문서보안(DS) 미로그인 상태MIP 우클릭 메뉴 자체가 노출되지 않음 — 제약사항 참조

토큰 수명과 재인증

DS6 는 두 종류의 토큰을 사용합니다. 사용자 토큰은 작업 수행에, 리프레시 토큰은 액세스 토큰 재발급에 쓰입니다.

상황동작사용자 개입
R1. 액세스 토큰 만료리프레시 토큰으로 서버에 조용히 자동 재발급 (온라인 필요)없음 (로그인 창 미출력)
R2. 리프레시 토큰 만료·무효작업 중이면 브라우저 로그인 창 자동 재출력, 백그라운드면 실행 시점 재인증재로그인
R3. 테넌트(회사) 변경저장 토큰 폐기 후 재로그인 요구 (교차 테넌트 오용 방지)재로그인
R4. 계정 비활성 (User is not enabled)로그인 창을 반복 출력하지 않고 즉시 실패관리자에게 계정 활성화 요청

정책 / 설정

설정 항목위치값 / 설명필수
s365_app_id s365_app_secret서버 정책 DS_MIP_INIT비우면 PKCE, 채우면 Confidential방식 결정
s365_pkce_appid서버 정책 DS_MIP_INITPKCE 클라이언트 ID (최우선)권장
login.pkce-clientIdDS365.Core.jsonPKCE 기본 클라이언트 ID. s365_pkce_appid 미설정 시 사용. 재배포 없이 환경별 교체 가능s365_pkce_appid 미사용 시 필수
경고

주의: s365_pkce_appid(서버 정책)와 login.pkce-clientId(설정 파일)가 모두 비면 내장 기본값이 없어 로그인이 불가합니다. 둘 중 하나는 반드시 설정해야 합니다.

설정 파일 예시 (DS365.Core.json):

{
"login": {
"pkce-clientId": "9586b6e7-7f17-4d18-871b-051705bd5eb6",
"title": "SOFTCAMP,Security365"
}
}

동작 시나리오

상황결과
최초 사용 (온라인)브라우저 로그인 → 토큰 발급·저장
저장 토큰 유효통신 없이 즉시 사용 (오프라인 포함)
액세스 토큰 만료 (온라인)자동 갱신, 창 미출력
액세스 토큰 만료 (오프라인)갱신 불가 → 온라인 필요
리프레시 토큰 만료 (온라인)브라우저 재로그인
DS 미로그인 / 오프라인 상태의 재인증 필요네트워크 오류 안내, 창 미출력
계정 비활성즉시 실패, 관리자 조치 필요

제약 사항

#제약상세
C1최초 사용·토큰 갱신 시 온라인 필요브라우저 로그인·자동 갱신에 서버 통신 필요
C2유효 토큰 보유 시 오프라인 사용 가능저장 토큰 만료 전에는 오프라인 동작
C3리프레시 토큰 만료 시 재로그인자동 갱신 불가 → 브라우저 재인증
C4테넌트 변경 시 재로그인회사 불일치 시 저장 토큰 폐기
C5계정 비활성 시 관리자 조치재인증 창 미출력, 계정 활성화 필요
C6DS 로그인 전제MIP 변환 메뉴는 문서보안 로그인 상태에서만 노출
C7login.title 설정 필요 (운영)미설정 시 로그인 창 미종료·약 10초 후 취소
C8shieldrm-svc 서버 등록 필요미등록 시 등급 조회·MIP 차단
C9PKCE 클라이언트 ID 최소 1곳 설정 필수s365_pkce_appid 또는 login.pkce-clientId 중 하나 이상, 없으면 로그인 불가

Google 계정 통합 로그인 및 DS 계정 연동 지원

정보

요약: 통합 로그인 사용자 확인이 특정 계정 종류에 묶이지 않도록 개선했습니다. Google 계정으로 로그인해도 DS 계정 연동이 등록되며, 연동 등록 이후의 로그인부터 DS 자동 로그인(SSO)이 동작합니다.

개요

DS6(Document Security 365)의 Security365(ShieldRM) 통합 로그인에서 Microsoft Azure 계정이 아닌 로그인 수단(Google 등)으로도 사용자 확인과 DS 계정 연동이 정상 동작하도록 지원하는 기능입니다.

기존에는 통합 로그인 사용자를 확인할 때 Azure 계정만 읽도록 되어 있어, Google 계정으로 로그인하면 사용자 정보가 비어 있는 상태가 되고 문서보안(DS) 계정과의 연동이 등록되지 않았습니다. 그 결과 통합 로그인에 성공해도 DS 자동 로그인(SSO)이 성립하지 않았습니다.

본 기능은 로그인에 사용한 계정 종류를 서버가 알려주는 값 그대로 따라가는 방식으로 변경하여, Google·Azure·LDAP 및 향후 추가되는 로그인 수단을 모듈 수정 없이 지원합니다.

본 기능이 필요한 이유

Google 계정으로 통합 로그인한 사용자에게 다음 증상이 있었습니다.

  • 통합 로그인 자체는 성공하지만 SHIELD 관리 화면의 SCI 계정 연결 목록에 사용자가 등록되지 않음
  • DS 자동 로그인(SSO)이 매번 실패하여 로그인할 때마다 DS 계정 입력 창이 뜸
  • 통합 로그(감사 로그) 전송이 인증 실패로 거부되는 사례
  • Azure 계정이 아니어서 발생하는 정상적인 상황이 로그에 오류로 기록되어 장애 분석을 방해

원인은 사용자 확인 로직이 Azure 계정 칸만 읽도록 고정되어 있던 것입니다. Google 로그인 시 해당 칸이 비어 있어 사용자 식별자가 공백이 되고, 이후 서버 요청이 모두 빈 사용자로 나가면서 연동 등록이 이루어지지 않았습니다.

동작 방식 (한 줄 메커니즘)

통합 로그인 서버가 발급하는 인증 정보에는 어떤 수단으로 로그인했는지를 알려주는 값이 함께 들어 있습니다. 이 값을 기준으로 해당 계정 칸을 찾아 읽으므로, 계정 종류별 예외 처리 없이 동일한 절차로 동작합니다.

적용 범위 / 진입점

진입점동작
Security365 통합 로그인 (브라우저)로그인 수단과 무관하게 사용자 확인·자격 정보 저장
통합 로그인 후 DS 자동 로그인(SSO)DS 계정 연동이 등록되어 있으면 자동 로그인
SHIELD 서버DS 계정 연동 등록 — 최초 로그인 시 자동 등록
통합 로그(감사 로그) 전송로그인 수단과 무관하게 사용자 식별자 기록
경고

MIP 문서 보호 기능은 Google 계정에서 제공되지 않습니다 — 제약사항 C1 참조

최초 로그인과 이후 로그인의 차이

정보

최초 로그인에서 DS 계정 입력 창이 뜨는 것은 정상 동작입니다. 장애로 오인하기 쉬운 부분이므로 별도로 안내합니다.

[최초 로그인]
브라우저 통합 로그인 → SHIELD ID 확인 → DS 계정 연동 정보 없음
→ DS 로그인 창 표시 (사용자가 DS 계정 입력)
→ SHIELD 서버에 "SHIELD ID - DS 계정" 연동 등록

[연동 등록 이후의 로그인]
브라우저 통합 로그인 → SHIELD ID 확인 → DS 계정 연동 정보 있음
→ DS 자동 로그인 (SSO 성립, 입력 창 없음)

연동은 계정당 1회만 필요합니다. 등록 이후에는 재설치·재시작과 무관하게 자동 로그인이 유지됩니다.

또한 통합 로그인 서버는 유효 기간이 남은 인증 정보를 재사용하는 경우가 있어, 연동 이후에도 DS 계정 정보가 빠진 인증 정보가 내려올 수 있습니다. 이 경우 기존 연동 정보를 지우지 않고 유지하도록 처리되어 있습니다.

정책 / 설정

설정 항목위치값 / 설명필수
s365_log_url서버 정책 DS_MIP_INIT통합 로그(감사 로그) 수집 서버 주소비운영 테넌트 필수
경고

s365_log_url 이 비어 있으면 운영 로그 서버 주소가 기본값으로 사용됩니다. 개발·검증 테넌트에서 이 경로를 타면 운영 서버가 인증을 거부하여 로그 전송이 401로 실패합니다. 운영이 아닌 테넌트는 반드시 이 정책을 설정해야 합니다.

동작 시나리오 요약표

상황결과
Google 계정으로 최초 통합 로그인사용자 확인 성공 → DS 로그인 창 표시 → 연동 등록
Google 계정으로 연동 후 재로그인DS 자동 로그인(SSO) 성립, 입력 창 없음
Azure 계정 로그인기존과 동일하게 동작 (회귀 없음)
LDAP 계정 로그인동일 절차로 동작
인증 정보에 DS 계정 정보 없음오류 아님. 기존 연동 정보 유지
사용자 식별자 확인 실패자격 정보 미저장 + 로그에 사유 기록
appAuth 모드 (통합 로그인 미사용)기존과 동일하게 동작 (회귀 없음)
Google 계정으로 MIP 문서 보호 시도미제공 — 제약사항 C1

제약 사항

#제약상세
C1Google 계정은 MIP 문서 보호 미제공MIP은 Microsoft Azure 테넌트 기반 기능으로, Azure 계정이 아닌 로그인에서는 제공되지 않습니다. 본 기능에서는 로그인 시점의 불필요한 MIP 인증 요청만 차단합니다. 메뉴·화면에서 MIP 기능을 숨기는 처리는 포함되지 않았으며 별도 과제입니다.
C2최초 로그인 1회는 DS 계정 입력 필요연동 등록 전이므로 자동 로그인 대상이 없습니다. 계정당 1회입니다.
C3비운영 테넌트는 로그 서버 정책 설정 필요미설정 시 운영 로그 서버로 전송되어 401 실패
C4로그인 수단 확인은 서버 응답에 의존서버가 로그인 수단과 계정 칸을 채워야 동작합니다. 구버전 서버 응답에 대한 대체 규칙은 마련되어 있습니다.