이 빠른 시작에서는 MIP SDK를 사용하여 AD RMS(Active Directory Rights Management Server)에 대한 지원을 구현하는 방법을 보여 줍니다.
비고
이 빠른 시작에 설명된 단계는 C# 또는 C++용 파일 SDK 및 C++용 보호 SDK에만 적용됩니다.
필수 조건
이미 하지 않았다면, 반드시 다음을 수행하세요:
- 빠른 시작 완료: 먼저 시작 Visual Studio 솔루션을 빌드하는 클라이언트 애플리케이션 초기화(C++) .
- 전체 빠른 시작: 민감도 레이블 나열(C++) 또는 빠른 시작: 민감도 레이블 나열(C#).
- 모바일 디바이스 확장을 사용하여 AD RMS를 배포합니다.
- 필요에 따라 AD RMS MDE에 대한 DNS SRV 레코드 가 게시되었는지 확인합니다.
서비스 발견
MIP SDK는 서비스 URL을 명시적으로 제공하지 않는 경우 온-프레미스 서비스 엔드포인트 FileEngineProtectionEngine 를 자동으로 검색합니다. UPN 또는 메일 주소 접미사를 사용하여 FileEngineSettings 또는 ProtectionEngineSettings를 통해 제공된 사용자 ID를 사용합니다. 먼저 도메인 계층에서 MDE에 대한 _rmsdisco 레코드를 검색합니다. 해당 프로세스에 대한 자세한 내용은 AD RMS 모바일 디바이스 확장에 대한 DNS SRV 레코드 지정을 참조하세요. DNS SRV 레코드를 찾을 수 없으면 기본적으로 Microsoft Purview Information Protection 서비스가 서비스 위치로 사용됩니다.
AD RMS를 사용하도록 C#에서 파일 SDK 구성
애플리케이션은 Microsoft 인증 라이브러리(MSAL.NET)와 C#의 파일 SDK를 사용하는 경우 두 가지 사소한 변경이 필요합니다.
FileEngineSettings AD RMS 및 AD FS(Active Directory Federation Services)를 사용하여 작동하도록 개체 및 MSAL 기관 구성을 업데이트합니다.
비고
ADAL(Active Directory 인증 라이브러리)은 더 이상 사용되지 않습니다. 새 애플리케이션은 MSAL을 사용해야 합니다. 배경 정보는 Microsoft 인증 라이브러리 및 Microsoft Graph API를 사용하도록 애플리케이션 업데이트를 참조하세요.
모바일 디바이스 확장 DNS SRV 레코드를 배포하고 사용자 계정 이름 또는 전자 메일 주소를 전달하려는 경우 ID 사용에 대한 지침을 따릅니다.
ID와 함께 AD RMS를 사용하도록 파일 엔진 설정을 업데이트합니다.
MDE에 대한 DNS SRV 레코드를 게시하고 엔진 설정의 일부로 Microsoft.InformationProtection.Identity를 제공한 경우, 필요한 유일한 코드 변경은 FileEngineSettings.ProtectionOnlyEngine = true를 설정하는 것입니다. AD RMS 보호 엔드포인트는 레이블 지정(정책) 작업을 지원하지 않으므로 이 속성을 설정해야 합니다.
// Configure FileEngineSettings as protection only engine.
var engineSettings = new FileEngineSettings("", authDelegate, "", "en-US")
{
// Provide the identity for service discovery.
Identity = identity,
// Set ProtectionOnlyEngine to true for AD RMS as labeling isn't supported
ProtectionOnlyEngine = true
};
인증 대리자 업데이트
.NET 애플리케이션에서 MSAL.NET 사용하는 경우 AD FS 기관을 대상으로 할 때 기관 유효성 검사를 건너뛰도록 공용 클라이언트 애플리케이션을 구성합니다.
WithAuthority(authority, validateAuthority: false)에서 PublicClientApplicationBuilder을(를) 설정합니다:
var app = PublicClientApplicationBuilder
.Create(clientId)
.WithAuthority(authority, validateAuthority: false)
.WithRedirectUri(redirectUri)
.Build();
더 이상 사용되지 않는 ADAL(Active Directory 인증 라이브러리)을 계속 사용하는 레거시 애플리케이션을 유지 관리하는 경우, 이에 해당하는 변경은 validateAuthority 생성자에서 false 대신 AuthenticationContext를 전달하는 것입니다. 해당 코드를 MSAL로 마이그레이션할 계획입니다.
AD RMS를 사용하도록 C++에서 파일 SDK 구성
모바일 디바이스 확장 DNS SRV 레코드를 배포하고 사용자 계정 이름 또는 전자 메일 주소를 전달하려는 경우 ID 사용에 대한 지침을 따릅니다.
ID와 함께 AD RMS를 사용하도록 FileEngine::Settings 업데이트
MDE에 대한 DNS SRV 레코드를 게시하고 해당 레코드에 FileEngine::Settings제공한 mip::Identity 경우 유일한 작업은 엔진을 보호 전용 엔진으로 설정하는 것입니다.
FileEngine::Settings engineSettings(mip::Identity(mUsername), authDelegate, "");
engineSettings.SetProtectionOnlyEngine(true);
AD RMS를 사용하도록 C++에서 보호 SDK 구성
모바일 디바이스 확장 DNS SRV 레코드를 배포하고 사용자 계정 이름 또는 전자 메일 주소를 전달하려는 경우 ID 사용에 대한 지침을 따릅니다.
ID와 함께 AD RMS를 사용하도록 ProtectionEngine::Settings 설정
모바일 디바이스 확장에 대한 DNS SRV 레코드를 게시하고 ID ProtectionEngine::Settings를 제공한 경우 AD RMS를 사용하기 위해 추가 코드 변경이 필요하지 않습니다. 서비스 검색은 AD RMS 엔드포인트를 찾아 보호 작업에 사용합니다.
ProtectionEngine::Settings engineSettings(mip::Identity(mUsername), authDelegate, "");
레이블 참조 제거 또는 주석 지정
빠른 시작 가이드 중 하나를 따라 애플리케이션을 빌드하면 애플리케이션에 engine->ListSensitivityLabels(); 또는 fileEngine.SensitivityLabels 형식의 레이블 참조가 있음을 확인할 수 있습니다. 애플리케이션을 보호 전용으로 설정했으므로 이러한 코드 블록을 주석 처리하거나 제거하세요. 실행하면 예외가 발생합니다.
다음 단계
이제 AD RMS를 지원하기 위해 변경했으므로 애플리케이션은 AD RMS 서비스를 보호 공급자로 사용하여 보호 전용 작업을 수행할 수 있습니다.