メインコンテンツまでスキップ

SHIELDRM 인증/인가 서비스 연동

備考

클러스터에 문서 변환 서비스, MIP 변환 서비스를 올리기 전에 작업하여야 합니다.

1. master-tenant에 앱 서비스 등록

  • 인증/인가 구축 시 최초 1회 등록, 이후에 테넌트가 추가되도 변경하지 않아도 됩니다.
  • 문서 변환 서비스 (cloud-ss-evtr-svc) 에서 사용할 앱 서비스를 등록합니다.
  • master-tenant에 등록하므로 최초 1회만 등록하면 됩니다.

1-1. master-tenant 에 shieldrm-svc 앱 서비스 등록

(1) master-tenant에 shieldrm-svc 앱 서비스를 등록합니다.

token 접근 범위 : CompanyInfo.ReadWrite, Profile.ReadWrite, UserInfo.Read

접근 범위비고
ClientAppInfo.ReadWrite2023-03-31 에 추가
CompanyInfo.ReadWrite
Profile.ReadWrite
UserInfo.Read

(2) kube-deploy.yaml 에 환경변수 수정 [내용 수정 필요]

apiVersion: v1
kind: ConfigMap
metadata:
name: cloud-ssevtr-config
namespace: dev
data:

#인증/인가 서비스 URL
SC_AUTH_SERVER_URL: "https://devlogin.softcamp.co.kr/"

#인증/인가 서비스에 등록한 shiedrm-svc의 client ID
SC_AUTH_CLIENT_ID: "144b38de-5cd4-44ac-a389-842d13995f67"

#인증/인가 서비스에 등록한 shiedrm-svc의 client Secret
SC_AUTH_CLIENT_SECRET: "JignJy0pKyYnLSonJyMrJyciJSImKywkKCYpJi0qLCM"

#인증/인가 서비스의 master-tenant Company ID
SC_AUTH_MASTER_COMPANY_ID: "uFhoVIZI-wni6zwDS-E6xGXPqT-m2ms8GWh"

SCSL_KEY_FILE_DIR: "/rmswork/KeyFile/"
MIP_SHARED_DIR: "/rmswork/"
MIP_SERVICE_URL: "http://mip-restapi.dev.svc.cluster.local"
DOWNLOAD_DIR: "/Download/"

1.2 "shieldrm-svc-CONFIG-PROFILE" 빌트인 프로파일에 Azure App 정보 등록

master-tenant의 빌트인 프로파일에 "Security365" 앱 정보 등록이 필요합니다.

Azure App 정보 등록 업데이트 안내

1.2.1 기존 방식 (Deprecated)

주의: 아래 방식은 더 이상 지원되지 않습니다.

기존 방식은 Add-in 설치 시에 사용되며 Add-in 설치 의 경우 Graph API 를 사용하는 목적 으로 사용하고 있지 않습니다. 주로 공용앱을 설정하게 됩니다. 예(Security 365 앱)

| Key                | Value                                 |
| ------------------ | ------------------------------------- |
| AZURE_CLIENTID | 7e82e70d-4386-419d-9dfd-6c8d6e6068 |
| AZURE_CLIENTSECRET | Q8d7Q~LjUDZ0CSgT35TkqYxvsN4KtQxf_0 |

1.2.2. 새로운 방식

새롭게 추가된 AZURE_APPINFO 키를 사용하여 정보를 등록할 때, 여러 가지 주의사항이 있습니다.

## 1.2.2.1 멀티 정보 및 단일 정보 사용

새롭게 추가된 AZURE_APPINFO 키는 멀티 정보를 배열 형식으로 받아들입니다. 여러 개의 Azure 앱 정보를 한번에 등록할 수 있습니다. 하지만 1개의 앱 정보만 사용하고 싶은 경우, 1개의 아이템만 배열에 포함시켜 등록할 수 있습니다.

| Key          | Value                                                                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| AZURE_APPINFO| [{"AZURE_CLIENTID":"05493eb8-caa3-4ccc-b373-d6f26d10..","AZURE_CLIENTSECRET":"2W18Q~2KxpfaEWs9pUPwkuRO3GErgkB0AhuO.."}, ...] |

다중 앱 정보 등록

[
{
"AZURE_CLIENTID":"05493eb8-caa3-4ccc-b373-d6f26d10..",
"AZURE_CLIENTSECRET":"2W18Q~2KxpfaEWs9pUPwkuRO3GErgkB0AhuO.."
},
{
"AZURE_CLIENTID":"a80203ad-ff36-40c9-a57b-659725d29..",
"AZURE_CLIENTSECRET":"zyh8Q~JlTaT9mNgSPjXiiQ7em3i.."
},
{
"AZURE_CLIENTID":"e309b87b-c60c-44f2-9bb0-ac723b96c..",
"AZURE_CLIENTSECRET":"kpZ8Q~PfQA1bc4LDEDqV4X3MytAtBw.."
}
]

단일 앱 정보 등록

[
{
"AZURE_CLIENTID":"05493eb8-caa3-4ccc-b373-d6f26d10..",
"AZURE_CLIENTSECRET":"2W18Q~2KxpfaEWs9pUPwkuRO3GErgkB0AhuO.."
}
]

이 배열 형식을 사용하여 여러 Azure 앱의 정보를 순차적으로 등록할 수 있습니다. 각 아이템은 AZURE_CLIENTIDAZURE_CLIENTSECRET의 쌍으로 구성됩니다.

1.2.2.2 값의 암호화

AZURE_APPINFO에 입력하는 값은 평문으로 사용되지 않습니다. 대신, Jasypt Online Encryption & Decryption tool을 사용하여 암호화된 값을 넣어야 합니다.

암호화 방법:

  1. 위의 링크로 이동하여 Jasypt 암호화 툴을 엽니다.
  2. "Input" 항목에 평문 정보를 입력합니다.
  3. "Password" 항목에 softcamp1!를 입력합니다.
  4. "Encrypt" 버튼을 클릭하여 값을 암호화합니다.
  5. 암호화된 값이 출력되면, 이 값을 AZURE_APPINFO에 입력합니다.

예시:

암호화된 값 샘플:

kTRvtyDmS1g12CIgBAliyTNUtO+DIqrZlmiaxyQ2gMa9oqFuCrRZKxHrPi5TfgUIJ8if8d5mGMGJqaZ/qkhgdTt9WZRvdirGIL+bHiuNFThHk+c0lE521miOoTS7cx1DZYQezC+YLaTW5S0H/wc/sGeLDvhX0unOrmzzuuRBY6J7BbsR01kI8Zrge7QEmHaYHHEvFaBXqfJx9BnPsAm4FgUfistqTETrx/K+OCYOdM93YZsLU9ZLS6P1QdMswAipkktpiqTgOBt9i62DdKHIMEdP+r++oHxf99Tm4pB9KQPZg2k1mOazDDr9gOmhud/FKCLdGpP5CpC7ESPtxm3da3AIT1I+ef7L8i0DNL1f9dApqzsfWu7G+az1XIC124OtLMozrw1j9Shf+3Fdq2dYzovpORhX8AE71wspNt6S3BMvc115MtTuc5CvEqzadU98wyluZU+QYbtl7oQXl8rvGbhnQIQGEAT396Guh31Arhw=

1-3. 빌트인 프로파일에 설정할 수 있는 정책

1-3-1. 지원하는 확장자

SHIELDRM, SHIELDMail에서 지원하는 확장자를 설정 할 수 있습니다. master-tenant의 shieldrm-svc-CONFIG-PROFILE 빌트인 프로파일에 등록합니다.

SUPPORT_EXT 정책 값에 아래와 같은 확장자를 json 으로 입력합니다.

NameTypeDescription
aipstring[]aip 변환 시에 지원할 확장자
dsstring[]ds 문서 암복호화 시에 지원할 확장자

예시)

{
"aip" : [
"ppt",
"pptx",
"xls",
"xlsx",
"doc",
"docx"
],
"ds" : [
"ppt",
"pptx",
"xls",
"xlsx",
"doc",
"docx",
"hwp",
"pdf"
]
}

정책에 입력 시에는 {"aip":["ppt","pptx","xls","xlsx","doc","docx"],"ds":["ppt","pptx","xls","xlsx","doc","docx","hwp","pdf"]} 와 같이 등록합니다.

한글 문서(hwp, hwpx) 확장자의 경우 SHIELD Mail 에서 한글 문서를 지원해야할 경우 필요 합니다. SHIELDRM 은 한글 문서를 지원하지 않습니다.

2. 각 테넌트에 앱 서비스 등록 (테넌트가 생성 시에 1회 등록 해야 합니다.)

  • DS365(SHIELDRM app? 로컬 피씨에서 설치하는 SHIELDRM 클라이언트)에서 IdGP(인증/인가) 서비스로 사용자 로그인을 할 때 필요한 앱 서비스를 등록합니다.
  • 사용자 로그인 시에 필요하므로 테넌트 당 등록하여야 합니다.

2-1. 테넌트에 shieldrm-svc 앱 등록

(1) master 앱 서비스를 "shieldrm-svc"로 선택

(2) 사용자 인증 타입 "authorization_code"로 체크

(3) Redirect URL 설정 (DS365Auth.exe 에서 로컬 피씨 28080 포트로 코드를 받아 인증을 요청합니다.)

(4) Refresh Token 유효기간 : 90days 로 설정

2-2. 앱 등록 후 Client ID와 Secret Key는 DS365의 커스텀 정책(DS_MIP_INIT_SETTINGS)으로 등록해 주어야합니다.

커스텀 정책 값은 DS365 Client 위키페이지를 참고 하시기 바랍니다.