개요
클라이언트 측 필드 레벨 암호화(CSFLE)를 사용하기 위해 설치해야 하는 애플리케이션 및 라이브러리에 대해 알아보세요.
필요한 사항
CSFLE를 사용하려면 먼저 개발 환경에서 다음 항목을 설정해야 합니다.
(선택 사항) 자동 암호화 공유 라이브러리 를 다운로드합니다. 자동 암호화 공유 라이브러리는 mongocryptd 보다 선호되는 대안이며 새 프로세스를 생성할 필요가 없습니다.
mongocryptd
는 계속 지원됩니다.
x64 운영 체제를 사용하고 있는지 확인합니다. CSFLE에는 x64 지원 필요합니다.
운전자 버전 3.0 이상을 사용하는 경우 다음 단계도 완료해야 합니다.
MongoDB 설치합니다. NuGet의 드라이버.Encryption 패키지 . 이 패키지 자동 암호화 활성화합니다.
애플리케이션이 Linux에서 실행되는 경우 libmongocrypt 를 수동으로 설치합니다. 그런 다음
LIBMONGOCRYPT_PATH
환경 변수를libmongocrypt
파일 의 절대 경로로 설정하다 .애플리케이션 64비트 Linux 에서 실행되고 운전자 버전 3.4.3 이하를 사용하는 경우
.csproj
파일 에 다음 XML 줄을 추가합니다. 설치한MongoDB.Driver.Encryption
패키지 의 버전과 일치하도록<MongoDriverEncryptionVersion>
요소의 값을 변경합니다.
<PropertyGroup> <!-- replace the version here with your package version --> <MongoDriverEncryptionVersion>3.4.2</MongoDriverEncryptionVersion> <MongoDriverEncryptionPath>$(NuGetPackageRoot)mongodb.driver.encryption\$(MongoDriverEncryptionVersion)</MongoDriverEncryptionPath> </PropertyGroup> <PropertyGroup> <!-- Suppresses the duplicate file error --> <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles> </PropertyGroup> <!-- Ensures the correct library after build or publish --> <Target Name="EnsureCorrectMongoEncryption" AfterTargets="Build;Publish" Condition="'$(RuntimeIdentifier)' != ''"> <!-- Determine paths based on current operation --> <PropertyGroup> <_TargetDir Condition="Exists('$(PublishDir)')">$(PublishDir)</_TargetDir> <_TargetDir Condition="'$(_TargetDir)' == ''">$(OutputPath)</_TargetDir> </PropertyGroup> <!-- Copy the correct library based on runtime identifier (RID) --> <ItemGroup> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/x64/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-x64'" /> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/arm64/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-arm64'" /> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/alpine/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-musl-arm64'" /> </ItemGroup> <!-- Copy with overwrite --> <Copy SourceFiles="@(_CorrectMongoLib)" DestinationFolder="$(_TargetDir)" Condition="'@(_CorrectMongoLib)' != ''" OverwriteReadOnlyFiles="true" /> <Message Text="Fixed MongoDB encryption library for $(RuntimeIdentifier)" Condition="'@(_CorrectMongoLib)' != ''" /> </Target>
(선택 사항) 자동 암호화 공유 라이브러리 를 다운로드합니다. 자동 암호화 공유 라이브러리는 mongocryptd 보다 선호되는 대안이며 새 프로세스를 생성할 필요가 없습니다.
mongocryptd
는 계속 지원됩니다.
libmongocrypt 를 설치합니다.
libmongocrypt
라이브러리에는 암호화 관리하는 네이티브 라이브러리와 통신하기 위한 바인딩이 포함되어 있습니다.
(선택 사항) 자동 암호화 공유 라이브러리 를 다운로드합니다. 자동 암호화 공유 라이브러리는 mongocryptd 보다 선호되는 대안이며 새 프로세스를 생성할 필요가 없습니다.
mongocryptd
는 계속 지원됩니다.
mongodb-crypt를 설치합니다.
mongodb-crypt
라이브러리에는 암호화 관리하는 네이티브 라이브러리와 통신하기 위한 바인딩이 포함되어 있습니다.
(선택 사항) 자동 암호화 공유 라이브러리 를 다운로드합니다. 자동 암호화 공유 라이브러리는 mongocryptd 보다 선호되는 대안이며 새 프로세스를 생성할 필요가 없습니다.
mongocryptd
는 계속 지원됩니다.
암호화
libmongocrypt
라이브러리의 Node.js 래퍼인 mongodb-client-encryption을 설치합니다.libmongocrypt
라이브러리에는 암호화 관리하는 네이티브 라이브러리와 통신하기 위한 바인딩이 포함되어 있습니다.
Node.js 드라이버 버전 6.0.0
이상을 사용하는 경우 mongodb-client-encryption
의 주요 버전 번호가 드라이버와 동일해야 합니다.
예를 예시 Node.js 운전자 v6.xx에는 mongodb-client-encryption
v6.xx가 필요합니다.
(선택 사항) 자동 암호화 공유 라이브러리 를 다운로드합니다. 자동 암호화 공유 라이브러리는 mongocryptd 보다 선호되는 대안이며 새 프로세스를 생성할 필요가 없습니다.
mongocryptd
는 계속 지원됩니다.
pymongocrypt
libmongocrypt
암호화 라이브러리용 Python 래퍼를 설치합니다.libmongocrypt
라이브러리에는 암호화 관리하는 네이티브 라이브러리와 통신하기 위한 바인딩이 포함되어 있습니다.
자세히 알아보기
CSFLE 사용을 시작하려면 CSFLE 빠른 시작을 참조하세요.
원격 키 관리 시스템 제공자와 함께 CSFLE를 사용하는 방법을 학습하려면 CSFLE 튜토리얼을 참조하세요.