MIP(Microsoft Information Protection) SDK 설정 및 구성

빠른 시작 및 자습서 문서에서는 MIP SDK 라이브러리 및 API를 사용하는 애플리케이션 빌드를 중점적으로 설명합니다. 이 문서에서는 SDK를 사용할 준비를 하는 과정에서 Microsoft 365 구독 및 클라이언트 워크스테이션을 설정하고 구성하는 방법을 보여줍니다.

필수 조건

시작하기 전에 다음 항목을 검토해야 합니다.

Important

사용자 개인 정보를 보호하려면 자동 로깅을 사용하도록 설정하기 전에 사용자에게 동의하도록 요청해야 합니다. 다음 예제는 Microsoft가 로깅 알림에 사용하는 표준 메시지입니다.

오류 및 성능 로깅을 켜면 오류 및 성능 데이터를 Microsoft에 보내는 데 동의하는 것입니다. Microsoft는 인터넷을 통해 오류 및 성능 데이터(“데이터”)를 수집합니다. Microsoft는 이 데이터를 사용하여 Microsoft 제품 및 서비스의 품질, 보안 및 무결성을 제공하고 개선합니다. 예를 들어, 사용하는 기능, 기능이 응답하는 속도, 디바이스 성능, 사용자 인터페이스 상호 작용 및 제품에서 경험한 문제와 같은 성능 및 안정성을 분석합니다. 데이터에는 현재 실행 중인 소프트웨어 및 IP 주소와 같은 소프트웨어 구성에 대한 정보도 포함됩니다.

Office 365 구독에 등록

대부분의 SDK 샘플을 사용하려면 Office 365 구독에 액세스해야 합니다. 아직 등록하지 않은 경우 다음 구독 유형 중 하나에 등록해야 합니다.

이름 등록
Office 365 Enterprise E3 평가판(30일 평가판) https://go.microsoft.com/fwlink/p/?LinkID=403802
Office 365 Enterprise E3 또는 E5 https://www.microsoft.com/microsoft-365/enterprise/office-365-e3
Enterprise Mobility 및 Security E3 또는 E5 https://www.microsoft.com/security
Azure Information Protection Premium P1 또는 P2 보안 및 규정 준수를 위한 Microsoft 365 라이선스 지침
Microsoft 365 E3, E5 또는 F1 https://www.microsoft.com/microsoft-365/enterprise/microsoft365-plans-and-pricing

민감도 레이블 구성

현재 Azure Information Protection을 사용하는 경우 레이블을 Office 365 보안 및 준수 센터로 마이그레이션해야 합니다. 프로세스에 대한 자세한 내용은 Azure Information Protection 레이블을 Office 365 보안 및 규정 준수 센터로 마이그레이션하는 방법을 참조하세요.

클라이언트 워크스테이션 구성

다음으로, 다음 단계를 완료하여 클라이언트 컴퓨터가 올바르게 설정되고 구성되도록 합니다.

  1. Windows 10 워크스테이션을 사용하는 경우:

    Windows 업데이트를 사용하여 컴퓨터를 Windows 10 Fall Creators Update(버전 1709) 이상으로 업데이트합니다. 현재 버전을 확인하려면 다음을 수행합니다.

    • 왼쪽 아래에서 Windows 아이콘을 클릭합니다.
    • "PC 정보"를 입력하고 "Enter" 키를 누릅니다.
    • 아래쪽의 Windows 사양까지 스크롤하고 버전 아랫부분을 살펴봅니다.
  2. Windows 11 또는 Windows 10 워크스테이션을 사용하는 경우:

    워크스테이션에서 "개발자 모드"가 사용하도록 설정되어 있는지 확인합니다.

    • 왼쪽 아래에서 Windows 아이콘을 클릭합니다.
    • 개발자 기능 사용 항목이 표시되는 경우 "개발자 기능 사용"을 입력하고 "Enter" 키를 누릅니다.
    • 설정 대화 상자에서 개발자 탭의 "개발자 기능 사용"에서 개발자 모드 옵션을 선택합니다.
    • 설정 대화 상자를 닫습니다.
  3. 다음 워크로드 및 선택적 구성 요소로 Visual Studio 2019를 설치합니다.

    • 유니버설 Windows 플랫폼 개발 Windows 워크로드 및 다음과 같은 선택적 구성 요소:

      • C++ 유니버설 Windows 플랫폼 도구
      • Windows 10 SDK 10.0.16299.0 SDK 이상(기본적으로 포함되지 않은 경우)
    • C++로 데스크톱 개발 Windows 워크로드 및 다음과 같은 선택적 구성 요소:

      • Windows 10 SDK 10.0.16299.0 SDK 이상(기본적으로 포함되지 않은 경우)

      Visual Studio setup

  4. ADAL.PS PowerShell 모듈 설치:

    • 모듈을 설치하려면 관리자 권한이 필요하기 때문에 먼저 다음 중 하나를 수행해야 합니다.

      • 관리자 권한이 있는 계정으로 컴퓨터에 로그인합니다.
      • 상승된 권한으로 Windows PowerShell 세션을 실행합니다(관리자 권한으로 실행).
    • 그런 후 install-module -name adal.ps cmdlet을 실행합니다.

      PS C:\WINDOWS\system32> install-module -name adal.ps
      
      Untrusted repository
      You are installing the modules from an untrusted repository. If you trust this repository, change its
      InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
      'PSGallery'?
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): A
      
      PS C:\WINDOWS\system32>
      
  5. 파일 다운로드:

    MIP SDK는 지원되는 각 플랫폼/언어에 대한 별도의 다운로드를 통해 다음 플랫폼에서 지원됩니다.

    운영 체제 버전 다운로드 주의
    Ubuntu 20.04 C++ tar.gz
    Java(미리 보기) tar.gz
    .NET Core NuGet(미리 보기)
    Ubuntu 22.04 C++ tar.gz
    Java(미리 보기) tar.gz
    .NET Core NuGet(미리 보기)
    RedHat Enterprise Linux 8 및 9 C++ tar.gz
    Debian 10 및 11 C++ tar.gz
    macOS 지원되는 모든 버전 C++ .zip Xcode 개발에는 13 이상이 필요합니다.
    Windows 지원되는 모든 버전, 32/64비트 C++
    C++/.NET NuGet
    Java(미리 보기) .zip
    Android 9.0 이상 C++ .zip 보호 및 정책 SDK만 해당합니다.
    iOS 지원되는 모든 버전 C++ .zip 보호 및 정책 SDK만 해당합니다.

    Tar.gz/.Zip 다운로드

    Tar.gz 및 .Zip 다운로드에는 각 API당 하나씩 압축된 파일이 포함되어 있습니다. 압축된 파일은 다음과 같이 명명됩니다. 여기서 <API> = file, protection 또는 upe이고 <OS> = 플랫폼: mip_sdk_<API>_<OS>_1.0.0.0.zip (or .tar.gz)입니다. 예를 들어 Debian의 Protection SDK 이진 파일 및 헤더는 mip_sdk_protection_debian9_1.0.0.0.tar.gz입니다. 포함된 각 .tar.gz/.zip은 다음 세 개 디렉터리로 분할됩니다.

    • Bins: 각 플랫폼 아키텍처에 대해 컴파일된 이진 파일입니다(해당하는 경우).
    • Include: 헤더 파일(C++).
    • Samples: 샘플 애플리케이션에 대한 소스 코드입니다.

    NuGet 패키지

    Visual Studio 개발을 수행하는 경우 NuGet 패키지 관리자 콘솔을 통해 SDK도 설치할 수 있습니다.

    Install-Package Microsoft.InformationProtection.File
    Install-Package Microsoft.InformationProtection.Policy
    Install-Package Microsoft.InformationProtection.Protection
    
  6. NuGet 패키지를 사용하지 않는 경우 SDK 이진 파일의 경로를 PATH 환경 변수에 추가합니다. PATH 변수를 사용하면 런타임 시 클라이언트 애플리케이션별로 종속 이진 파일(DLL)을 찾을 수 있습니다(선택 사항).

    Windows 11 또는 Windows 10 워크스테이션을 사용하는 경우:

    • 왼쪽 아래에서 Windows 아이콘을 클릭합니다.

    • 시스템 환경 변수 편집 항목이 표시되는 경우 "경로"를 입력하고 "Enter" 키를 누릅니다.

    • 시스템 속성 대화 상자에서 환경 변수를 클릭합니다.

    • 환경 변수 대화 상자에서 <사용자>에 대한 사용자 변수 아래의 경로 변수 행을 클릭한 다음, 편집...을 클릭합니다.

    • 환경 변수 편집 대화 상자에서 새로 만들기를 클릭하여 새 편집 가능한 행을 만듭니다. 각 file\bins\debug\amd64, protection\bins\debug\amd64upe\bins\debug\amd64 하위 디렉터리에 대한 전체 경로를 사용하여 각각에 대한 새 행을 추가합니다. SDK 디렉터리는 다음과 같은 형식으로 <API>\bins\<target>\<platform>에 저장됩니다.

      • <API> = file, protection, upe
      • <target> = debug, release
      • <platform> = amd64 (x64), x86, etc.
    • 경로 변수 업데이트가 완료되면 확인을 클릭합니다. 그런 다음, 환경 변수 대화 상자로 돌아오면 확인을 클릭합니다.

  7. GitHub에서 SDK 샘플을 다운로드합니다(선택 사항).

Microsoft Entra ID를 사용하여 클라이언트 애플리케이션 등록

Microsoft 365 구독 프로비저닝 프로세스의 일부로 연결된 Microsoft Entra 테넌트가 만들어집니다. Microsoft Entra 테넌트는 Microsoft 365 사용자 계정 및 애플리케이션 계정에 대한 ID 및 액세스 관리를 제공합니다. 보안 API(예: MIP API)에 대한 액세스가 필요한 애플리케이션에는 애플리케이션 계정이 필요합니다.

런타임 시 인증 및 권한 부여를 위해 계정은 계정의 ID 정보에서 파생된 보안 주체로 표현됩니다. 애플리케이션 계정을 나타내는 보안 주체를 서비스 주체라고 합니다.

빠른 시작 및 MIP SDK 샘플에 사용할 애플리케이션 계정을 Microsoft Entra ID에 등록하려면 다음을 수행합니다.

Important

계정 만들기를 위해 Microsoft Entra 테넌트 관리에 액세스하려면 구독에서 "소유자" 역할의 멤버인 사용자 계정으로 Azure Portal에 로그인해야 합니다. 테넌트의 구성에 따라 애플리케이션을 등록하려면 "Global Administrator" 디렉터리 역할의 구성원이어야 할 수도 있습니다. 제한된 계정으로 테스트하는 것이 좋습니다. 계정에 필요한 SCC 엔드포인트에 액세스할 수 있는 권한만 있는지 확인합니다. 명령줄을 통해 전달된 일반 텍스트 암호는 로깅 시스템에서 수집할 수 있습니다.

  1. Microsoft Entra ID를 사용하여 앱 등록, 새 애플리케이션 등록 섹션의 단계를 따릅니다. 가이드 단계를 진행할 때 테스트를 위해 지정된 속성에 다음 값을 사용합니다.

    • 지원되는 계정 유형 - "이 조직 디렉터리 계정의 계정만"을 선택합니다.
    • 리디렉션 URI - 리디렉션 URI 유형을 "공용 클라이언트(모바일 및 데스크톱)"로 설정합니다. 애플리케이션에서 MSAL(Microsoft Authentication Library)을 사용하는 경우에는 http://localhost를 사용합니다. 그렇지 않은 경우 <app-name>://authorize 형식을 사용합니다.
  2. 완료되면 새 애플리케이션 등록을 위해 등록된 앱 페이지로 돌아갑니다. 빠른 시작에 필요하므로 애플리케이션(클라이언트) ID 필드의 GUID를 복사하고 저장합니다.

  3. 그런 다음, API 사용 권한을 클릭하여 클라이언트에서 액세스해야 하는 API 및 권한을 추가합니다. 사용 권한 추가를 클릭하여 "API 사용 권한 요청" 블레이드를 엽니다.

  4. 이제 런타임 시 애플리케이션에 필요한 MIP API 및 사용 권한을 추가합니다.

    • API 선택 페이지에서 Azure Rights Management Services를 클릭합니다.
    • Azure Rights Management Services API 페이지에서 위임된 사용 권한을 클릭합니다.
    • 사용 권한 선택 섹션에서 user_impersonation 사용 권한을 선택합니다. 이 권한을 통해 애플리케이션은 사용자를 대신하여 보호된 콘텐츠를 만들고 액세스할 수 있습니다.
    • 권한 추가를 클릭하여 저장합니다.
  5. 4단계를 반복하되, 이번에는 API 선택 페이지로 이동한 후 API를 검색해야 합니다.

    • API 선택 페이지에서 내 조직에서 사용하는 API를 클릭한 다음, 검색 상자에 "Microsoft Information Protection 동기화 서비스"를 입력하고 선택합니다.
    • Microsoft Information Protection 동기화 서비스 API 페이지에서 위임된 사용 권한을 클릭합니다.
    • UnifiedPolicy 노드를 확장하고UnifiedPolicy.User.Read를 선택합니다.
    • 권한 추가를 클릭하여 저장합니다.
  6. API 사용 권한 페이지로 돌아오면 (테넌트 이름)에 대한 관리자 동의 허용을 클릭한 다음, 를 클릭합니다. 이 단계에서는 지정된 사용 권한으로 API에 액세스하기 위해 이 등록을 사용하여 애플리케이션에 사전 동의를 제공합니다. 전역 관리자로 로그인한 경우 애플리케이션을 실행하는 테넌트의 모든 사용자에 대한 동의가 기록됩니다. 그렇지 않으면 사용자 계정에만 적용됩니다.

완료되면 애플리케이션 등록 및 API 사용 권한은 다음 예제와 비슷해야 합니다.

Microsoft Entra app registrationMicrosoft Entra app API permissions

등록에 API 및 사용 권한을 추가하는 방법에 대한 자세한 내용은 웹 API에 액세스하도록 클라이언트 애플리케이션 구성을 참조하세요. 여기서는 클라이언트 애플리케이션에 필요한 API 및 사용 권한 추가에 대한 정보를 찾을 수 있습니다.

IPIA(Information Protection Integration Agreement) 요청

MIP를 사용하여 개발한 애플리케이션을 대중에 릴리스하기 전에 Microsoft와의 공식 계약을 적용하고 완료해야 합니다.

참고 항목

이 계약은 내부적으로만 사용할 수 있는 애플리케이션에는 필요하지 않습니다.

  1. 다음과 같은 정보가 포함된 IPIA@microsoft.com에 이메일을 전송하여 IPIA를 가져옵니다.

    제목: 회사 이름에 대한 IPIA 요청

    이메일의 본문에는 다음이 포함됩니다.

    • 애플리케이션 및 제품 이름
    • 요청자의 성과 이름
    • 요청자의 이메일 주소
  2. IPIA 요청을 받는 즉시 양식을 전송해 드립니다(Word 문서로). IPIA의 약관을 검토하고 다음과 같은 정보를 포함하여 양식을 IPIA@microsoft.com에 반환합니다.

    • 회사의 법적 이름
    • 주/주(미국/캐나다) 또는 통합 국가
    • 회사 URL
    • 연락처의 전자 메일 주소
    • 회사의 추가 주소(선택 사항)
    • 회사 애플리케이션의 이름
    • 애플리케이션에 대한 간단한 설명
    • Azure 테넌트 ID
    • 애플리케이션의 앱 ID
    • 중요한 상황 대응을 위한 회사 연락처, 이메일 및 전화
  3. 양식을 수신하면 디지털로 서명할 최종 IPIA 링크를 전송합니다. 서명 후에는 해당 Microsoft 담당자가 서명하고 계약을 완료합니다.

서명된 IPIA가 이미 있나요?

이미 서명된 IPIA가 있고 릴리스하는 애플리케이션에 새 앱 ID를 추가하려는 경우 IPIA@microsoft.com에 이메일을 보내고 다음과 같은 정보를 제공합니다.

  • 회사 애플리케이션의 이름
  • 애플리케이션에 대한 간단한 설명
  • Azure 테넌트 ID(이전과 동일한 경우에도)
  • 애플리케이션의 앱 ID
  • 중요한 상황 대응을 위한 회사 연락처, 이메일 및 전화

이메일을 보내면 수신을 승인하는 데 최대 72시간이 걸립니다.

앱에 필요한 런타임이 있는지 확인

참고 항목

이 단계는 Visual Studio가 없는 컴퓨터에 애플리케이션을 배포하는 경우 또는 Visual Studio 설치에 Visual C++ 런타임 구성 요소가 없는 경우에 필요합니다.

MIP SDK를 통해 빌드된 애플리케이션에는 Visual C++ 2015 또는 Visual C++ 2017 런타임이 설치되어 있어야 합니다(아직 없는 경우).

이는 애플리케이션이 릴리스로 빌드된 경우만 작동합니다. 애플리케이션이 디버그로 빌드된 경우 Visual C++ 런타임 디버그 DLL을 애플리케이션에 포함하거나 컴퓨터에 설치해야 합니다.

다음 단계