Skip to main content

구축 가이드 - .ps1을 이용한 방법

info

SHIELDRM 구축 가이드: .ps1을 이용한 방법한 설치 방법입니다.

개요

이 문서는 SHIELDRM 사용을 위한 구축 가이드 입니다. 파워쉘 스크립트 파일(.ps1)이 포함되어 있습니다.

환경 확인

파워쉘 버전 확인

$PSVersionTable 을 실행하여 파워쉘 버전을 확인합니다. 5.1버전 이상이어야 하며, 6버전까지 사용 가능합니다.

https://learn.microsoft.com/en-us/microsoft-365/enterprise/connect-to-microsoft-365-powershell?view=o365-worldwide For the Microsoft Azure Active Directory Module for Windows PowerShell module, you must use PowerShell version 5.1 or later, up to PowerShell version 6. You can't use PowerShell version 7.

버전 확인

관리자 역할이 할당된 Azure 계정이 필요합니다.

아래와 같은 권한이 필요합니다.

  • 애플리케이션 관리자 : service principal을 등록하기 위해 필요합니다.
  • Teams 관리자, SharePoint 관리자 : Microsoft.Online.SharePoint.PowerShell 을 실행하기 위해서 필요합니다.

관리자

파워쉘 스크립트 파일(.ps)을 파워쉘(관리자 모드 실행)으로 실행합니다.

모듈 설치가 필요할 수 있으므로 "관리자" 모드로 실행하시기 바랍니다.

파워쉘 스크립트 파일

SharePoint Service Principal 등록

파워쉘 스크립트를 통한 SharePoint Service Principal 등록

메뉴 1번을 실행합니다.

파워쉘 스크립트 파일

MSOnline PowerShell이 설치되어 있지 않으면 설치를 진행합니다. "A" 혹은 "a" 를 입력하여 모두 허용하시기 바랍니다. SharePoint Service Principal 등록은 MSOnline PowerShell을 이용하여 진행합니다. 설치가 되어 있지 않은 PC에서는 설치가 필요합니다.

MSOnline : https://learn.microsoft.com/en-us/powershell/module/msonline

파워쉘 스크립트 파일

로그인 창이 뜨면 Azure 관리자 계정으로 로그인 합니다.

파워쉘 스크립트 파일

로그인 화면

등록이 성공하면 아래와 같이 "SHIELDRM_Addin 서비스 프린서플을 등록하였습니다." 라는 문구가 출력 됩니다.

파워쉘 스크립트 파일

enter 키를 눌러서 메뉴 화면으로 돌아가서 다시 1번을 실행하면 이미 등록된 SharePoint Service Principal 정보를 출력 합니다.

파워쉘 스크립트 파일

ServicePrincipal 권한 요청

sharepoint 관리페이지의 appinv.aspx로 들어갑니다.

주소: https://{Tenant}-admin.sharepoint.com/_layouts/15/appinv.aspx
예) https://socamresearch-admin.sharepoint.com/_layouts/15/appinv.aspx

등록한 Client ID 입력 후 조회합니다.

SharePoint 관리 페이지

권한 요청 란에 아래와 같은 값을 입력하고 만들기를 선택합니다

<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="FullControl" />
<AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
<AppPermissionRequest Scope="http://sharepoint/social/tenant" Right="Read" />
</AppPermissionRequests>

SharePoint 관리 페이지

신뢰를 선택합니다.

SharePoint 관리 페이지

appprincipals.aspx 페이지에서 권한이 등록된 앱을 확인할 수 있습니다.

SharePoint 관리 페이지

SharePoint App-Only Access Token 사용 속성 값 설정

메뉴 2번을 실행합니다.

파워쉘 스크립트 파일

Microsoft.Online.SharePoint.PowerShell 이 설치되어 있지 않으면 설치를 진행합니다. "A" 혹은 "a" 를 입력하여 모두 허용하시기 바랍니다.

SharePoint 속성값 변경은 Microsoft.Online.SharePoint.PowerShell을 이용하여 진행합니다.

설치가 되어 있지 않은 PC에서는 설치가 필요합니다.

Microsoft.Online.SharePoint.PowerShell : https://learn.microsoft.com/en-us/powershell/module/sharepoint-online

파워쉘 스크립트 파일

SharePoint 관리페이지 URL을 입력합니다. 테넌트 마다 URL 이 다릅니다.

https://{tenantname}-admin.sharepoint.com

파워쉘 스크립트 파일

로그인 창이 뜨면 SharePoint 관리자 계정으로 로그인 합니다.

파워쉘 스크립트 파일

로그인 화면

등록이 성공하면 "속성값 설정을 성공하였습니다." 문구가 출력 됩니다.

파워쉘 스크립트 파일

다시 2번 메뉴를 실행하면 "이미 속성값이 설정 되어 있습니다." 문구가 출력 됩니다.

파워쉘 스크립트 파일

2번 메뉴가 실패 시에

20. "2. SharePoint App-Only Access Token 사용 속성 값 설정" 다른 방법 (1)

21. "2. SharePoint App-Only Access Token 사용 속성 값 설정" 다른 방법 (2) - PnPPowerShell

메뉴를 시도해 보시기 바랍니다.


SharePoint Addin 카탈로그에 등록

각 쉐어포인트 사이트, 원드라이브 사이트에 Sharepoint Addin 을 설치 하기 전에 카탈로그에 등록하는 작업입니다.

SHIELDrmEventReceiver.app 파일을 다운로드 받아서 준비합니다.

메뉴 3번을 실행합니다.

파워쉘 스크립트 파일

PnP.PowerShell 이 설치되어 있지 않으면 설치를 진행합니다. "A" 혹은 "a" 를 입력하여 모두 허용하시기 바랍니다.

SharePoint App을 카탈로그에 등록하는 작업은 PnP.PowerShell을 이용하여 진행합니다.

설치가 되어 있지 않은 PC에서는 설치가 필요합니다.

PnP.PowerShell : https://pnp.github.io/powershell/articles/installation.html

파워쉘 스크립트 파일

SharePoint 관리페이지 URL을 입력합니다. 테넌트 마다 URL 이 다릅니다.

https://{tenantname}-admin.sharepoint.com

파워쉘 스크립트 파일

로그인 창이 뜨면

SharePoint 관리자

Azure 관리자

권한이 있는 사용자로 로그인 합니다.

파워쉘 스크립트 파일

로그인 화면

PnP.PowerShell을 해당 테넌트에서 한번도 실행하지 않은 경우에 동의가 필요할 수 있습니다. (Azure 관리자 권한 필요)

동의 화면

동의 화면

최초 등록시에는 "애드인이 등록되지 않았습니다." 문구가 출력됩니다.

파워쉘 스크립트 파일

PC에 다운받은 app 파일 경로를 입력 합니다.

파워쉘 스크립트 파일

메뉴로 돌아가서 3번 메뉴를 다시 실행하면 애드인이 등록된 것을 확인 할 수 있습니다.

파워쉘 스크립트 파일

다시 등록하는 작업(y) 진행하면 애드인 업그레이드가 가능합니다.

3번 메뉴 실패시에

"30. "3. SharePoint Addin 카탈로그에 등록" 다른 방법 (1) - 앱 권한으로 진행하기"

메뉴를 실행하여 다른 방법으로 시도 할 수 있습니다.


인증/인가 관리 페이지에서 앱 등록 및 빌트인 프로파일 등록

⚠️인증/인가 관리자 계정이 필요합니다.

신규 회사 테넌트에 "shieldrm-svc" 앱 등록

⚠️master-tenant에 이미 "shieldrm-svc"가 등록되어있어야 합니다.

  • 인증인가 관리자 페이지 → 앱 서비스 관리 → 신규 회사 테넌트 선택 → 앱 서비스 추가

  • 앱 서비스 선택에서 "shieldrm-svc"을 선택합니다.

  • 사용자 인증 타입 "authorization_code", 앱 서비스 인증타입 "client_credentials" 체크

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

    http://localhost:28080/{회사ID} Refresh Token 유효기간을 90days 로 설정

IdGP 페이지

앱 등록후 Client ID와 Secret Key는 SCI 커스텀 정책으로 등록하여야 합니다.

IdGP 페이지

신규 회사의 "RMS-SDK-Permission-CONFIG-PROFILE" 빌트인 프로파일에 "Security365"앱 정보 등록

KeyValue예시
authorityhttps://login.microsoftonline.com/`{Azure Tenant ID}`https://login.microsoftonline.com/e8c1b6e5-37ed-4c84-82e9-f5a02feddd85
client_id{Security365 의 Client ID}7e82e70d-4386-419d-9dfd-6c8d6e6068fc
scopehttps://aadrm.com/.defaulthttps://aadrm.com/.default
secret{Security365 의 Client Secret}

IdGP 페이지

신규 회사 테넌트에 "SKMS" 앱을 추가합니다.

SHIELDRM 관리페이지(프론트)에 로그인을 하려면 SKMS 앱이 추가되어야 합니다.

IdGP 페이지

Built-in profile 정책 내 app_id, secret 설정 (앱등록 후 생성한 app_id 및 secret을 해당 정책 내 등록)

IdGP 페이지

ServiceLinker 사용 시에는 키 파일을 패치해야 합니다.

SHIELDRM에서는 DS 보안문서를 복호화 하여 MIP 변환을 합니다.

복호화는 Service Linker 혹은 Container Linker 중 선택할 수 있습니다.

ServiceLinker 사용 시에는 키 파일을 서비스가 접근 가능한 경로에 패치해야 합니다.

Public(SK) 환경에서 구동 중인 "cloud-ssevtr-service" 가 접근 가능한 경로에 키 파일을 패치합니다. (현재 DAC만 지원함 - 2023-02-17 기준)

예) /rmswork/KeyFile/chem/4d615af9-1d04-4bcc-8e6f-c6b6fe3110dd/key.sc

${SCSL_KEY_FILE_DIR}/{azure tenant id}/key.sc

작업이 다 끝난 후에는 파워쉘 모듈 삭제 하셔도 됩니다.

Uninstall-Module MSOnline
Uninstall-Module Microsoft.Online.SharePoint.PowerShell
Uninstall-Module PnP.Powershell