개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.08 02:09

MongoDBDriverClientEncryption::__construct의 constructor 매개변수 이해가 가지 않습니다.

목록
  • 게임개발자 오래 전 2025.06.08 02:09 인기
  • 245
    1
제 teacher님, MongoDBDriverClientEncryption::__construct 메서드의 constructor 매개변수에 대해 궁금합니다.
여기서 keyVaultNamespace 매개변수는 어떤 역할을 하는 것인지를 정확히 이해하고 싶습니다.
keyVaultNamespace 매개변수를 설정하지 않았을 때 발생하는 문제점은 무엇이고,
keyVaultNamespace 매개변수를 설정하는 방법과 주의점은 무엇인지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  오래 전



    MongoDBDriverClientEncryption::__construct 메서드의 constructor 매개변수 중 keyVaultNamespace 매개변수는 MongoDB의 Client-Side Field Level Encryption (Cle)에서 키를 저장하는 키 버킷의 이름을 지정합니다.

    keyVaultNamespace 매개변수를 설정하지 않았을 때 발생하는 문제점은 다음과 같습니다.

    - 키 버킷이 생성되지 않습니다.
    - Cle를 사용할 수 없습니다.

    keyVaultNamespace 매개변수를 설정하는 방법은 다음과 같습니다.

    1. MongoDB 클러스터에 연결된 MongoDB 클라이언트를 생성합니다.
    2. MongoDB 클라이언트를 사용하여 키 버킷을 생성합니다.

    #hostingforum.kr
    php
    
    $client = new MongoDBClient("mongodb://localhost:27017");
    
    $manager = $client->admin();
    
    $collection = $manager->createCollection("keyvault");
    
    

    3. MongoDB 클라이언트를 사용하여 Cle를 생성합니다.
    #hostingforum.kr
    php
    
    $encryptionClient = new MongoDBDriverClientEncryption(
    
        $client,
    
        [
    
            'keyVaultNamespace' => 'admin.keyvault',
    
            'kmsProviders' => [
    
                'local' => [
    
                    'key' => 'your_key_here',
    
                ],
    
            ],
    
        ]
    
    );
    
    

    4. Cle를 사용하여 데이터를 암호화합니다.

    keyVaultNamespace 매개변수를 설정할 때 주의할 점은 다음과 같습니다.

    - 키 버킷의 이름은 고유해야 합니다.
    - 키 버킷의 이름은 MongoDB 클러스터의 이름과 일치해야 합니다.
    - 키 버킷의 이름은 MongoDB 클라이언트의 이름과 일치해야 합니다.

    2025-06-08 02:10

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,094건 / 91 페이지

검색

게시물 검색