AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.

필드 레벨 암호화

MongoDB Enterprise 또는 MongoDB Atlas 클러스터로 작업할 때 mongosh 을(를) 사용하여 Queryable Encryption 또는 클라이언트 사이드 필드 레벨 암호화 를 구성하고 암호화 지원에 연결할 수 있습니다. Queryable Encryption과 CSFLE는 모두 필드 값의 암호화 및 복호화를 지원하기 위해 데이터 암호화 키를 사용하고, 이 암호화 키 자료를 Key Management Service (KMS)에 저장합니다.

mongosh Queryable Encryption 및 CSFLE와 함께 사용할 수 있도록 다음과 같은 KMS 제공자를 지원합니다.

  • Amazon Web Services KMS

  • Azure Key Vault

  • Google Cloud Platform KMS

  • 로컬로 관리되는 키 파일

다음 절차에서는 mongosh 를 사용하여 필드 수준 암호화 위한 데이터 암호화 키 만듭니다.

아래 탭을 사용하여 배포에 적합한 KMS 를 선택하세요.

1

--nodb 옵션을 사용하여 실행 중인 데이터베이스에 연결하지 않고 mongosh 세션을 생성합니다.

mongosh --nodb
2

AWS KMS에 대한 클라이언트 사이드 필드 레벨 암호화를 구성하려면 AWS 액세스 키 ID와 관련 시크릿 액세스 키가 필요합니다. AWS 액세스 키는 KMS 서비스에 대한 모든 목록 및 읽기 권한이 있는 IAM 사용자와 일치해야 합니다.

mongosh에서 다음 자격 증명이 포함된 클라이언트 사이드 필드 레벨 암호화 구성을 저장하기 위한 새 AutoEncryptionOpts 변수를 생성합니다.

var autoEncryptionOpts = { "keyVaultNamespace" : "encryption.__dataKeys", "kmsProviders" : { "aws" : { "accessKeyId" : "YOUR_AWS_ACCESS_KEY_ID", "secretAccessKey" : "YOUR_AWS_SECRET_ACCESS_KEY" } }}

YOUR_AWS_ACCESS_KEY_ID 및 YOUR_AWS_SECRET_ACCESS_KEY의 값을 적절하게 입력합니다.

3

mongosh에서 Mongo() 생성자를 사용하여 대상 클러스터에 대한 데이터베이스 연결을 설정합니다. 클라이언트 사이드 필드 레벨 암호화에 대한 연결을 구성하려면 AutoEncryptionOpts 문서를 Mongo() 생성자의 두 번째 매개변수로 지정합니다.

csfleDatabaseConnection = Mongo( "mongodb://replaceMe.example.net:27017/?replicaSet=myMongoCluster", autoEncryptionOpts)

replaceMe.example.net URI을 대상 클러스터의 연결 문자열로 바꿉니다.

4

getKeyVault() shell 메서드를 사용하여 keyVault 객체를 만듭니다.

keyVault = csfleDatabaseConnection.getKeyVault();
5

createKey() shell 메서드를 사용하여 데이터 암호화 키를 생성합니다.

keyVault.createKey( "aws", { region: "regionname", key: "awsarn" }, [ "keyAlternateName" ])

구제척으로:

  • 구성된 Amazon Web Services KMS를 지정하려면 첫 번째 파라미터가 반드시 "aws"이어야 합니다.

  • 두 번째 매개변수는 반드시 다음을 포함하는 문서여야 합니다.

    • 연결하려는 Amazon Web Services 리전 us-west-2

    • Amazon 리소스 이름(ARN) 을 Amazon Web Services 고객 마스터 키(CMK)에 추가합니다.

  • 세 번째 매개변수는 데이터 암호화 키에 대한 하나 이상의 keyAltNames 배열일 수도 있습니다. 각 키 대체 이름은 반드시 고유해야 합니다. getKeyVault()은(는) 필드가 아직 존재하지 않는 경우 필드에 고유성을 적용하기 위해 keyAltNames에 고유 인덱스를 생성합니다. 키 대체 이름을 사용하면 데이터 암호화 키를 쉽게 찾을 수 있습니다.

성공하면 createKey()은(는) 새 데이터 암호화 키의 UUID를 반환합니다. 키 볼트에서 새 데이터 암호화 키 문서를 검색하려면 다음 중 하나를 수행합니다.

  • getKey()를 사용하여 UUID로 생성된 키를 조회 하거나

  • getKeyByAltName()을(를) 사용하여 대체 이름(지정된 경우)으로 키를 검색합니다.

이 페이지 평가하기

이 페이지의 내용