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

키 파일 인증에서 X로 업그레이드합니다.509 인증

현재 키 파일 인증 사용 중인 자체 관리형 클러스터를 X.509 인증 업그레이드 하려면 다음 롤링 업그레이드 프로세스를 사용합니다.

참고

MongoDB는 TLS 1.1 이상이 사용 가능한 시스템에서 TLS 1.0 암호화를 지원하지 않습니다.

참고

MongoDB는 net.ssl 설정(및 --ssl 명령줄 옵션)에 대응하는 net.tls 설정(및 --tls 명령줄 옵션)을 제공합니다. MongoDB는 항상 TLS 1.0 이상을 지원해 왔기 때문에 새로운 tls 설정은 ssl 설정과 동일한 기능을 제공합니다.

The procedures in this section use the tls settings/options. For procedures using the ssl settings/options, see Upgrade Procedures (Using ssl Options).

참고

The procedure uses the tls settings/options. For procedures using the ssl settings/options, see Clusters Currently Using TLS/SSL (Using ssl Options).

TLS/SSL 및 키 파일 인증 사용하는 클러스터의 경우, X.509 클러스터 인증 으로 업그레이드 하려면 다음 롤링 업그레이드 프로세스 사용하세요.

  1. cluster의 각 노드에 대해 구성 파일 에 다음 설정을 추가하고 다시 시작합니다.

    • security.clusterAuthMode
      sendKeyFile(으)로 설정합니다. 이 설정 값을 사용하면 각 노드 계속해서 키 파일을 전송하여 자신을 멤버로 인증합니다. 그러나 각 노드 다른 노드로부터 키 파일 또는 X.509 인증서를 수신하여 해당 노드를 인증할 수 있습니다.
    • net.tls.clusterFile
      멤버십 인증을 위해 노드 인증서 키 파일의 적절한 경로로 설정합니다. mongod / mongos 는 cluster의 다른 구성원에게 이 파일을 표시하여 자신을 구성원으로 식별합니다.

    특정 구성에 적합한 다른 TLS/SSL 옵션 및 기타 옵션을 포함합니다.

    예를 들면 다음과 같습니다.

    net:
    tls:
    mode: requireTLS
    certificateKeyFile: /etc/ssl/mongodb.pem
    CAFile: /etc/ssl/caToValidateReceivedCertificates.pem
    clusterFile: "/etc/ssl/myReplMembershipCertificateKeyFile.pem"
    security:
    clusterAuthMode: sendKeyFile
    keyFile: /my/securely/located/membershipkey
    replication:
    replSetName: myReplicaSet
    net:
    bindIp: localhost,mongodb0.example.net
    port: 27017
    systemLog:
    destination: file
    path: "/var/log/mongodb/mongod.log"
    logAppend: true
    storage:
    dbPath: "/var/lib/mongodb"
    processManagement:
    fork: true

    계속하기 전에 security.clusterAuthModenet.tls.clusterFile 설정을 포함하도록 cluster의 모든 노드를 업데이트합니다.

  2. 각 노드에 연결하고 setParameter 명령을 사용하여 clusterAuthModesendX509 로 업데이트합니다. [1]

    db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )

    sendX509을 사용하면 각 노드 를 net.tls.clusterFile 전송하여 자신을 멤버로 인증합니다. 그러나 각 노드 다른 노드로부터 키 파일 또는 X.509 인증서를 수신하여 해당 노드를 인증할 수 있습니다.

    계속하기 전에 cluster의 모든 노드를 이 설정으로 업그레이드하세요.

  3. 선택 사항이지만 권장됩니다. 마지막으로 클러스터의 각 노드에 대해 노드에 연결하고 setParameter 명령을 사용하여 인증에 X.509 인증서만 사용하도록 clusterAuthModex509 로 업데이트. [1]

    db.adminCommand( { setParameter: 1, clusterAuthMode: "x509" } )
  4. 모든 노드를 업그레이드 후 적절한 X.설정으로 구성 파일 편집하여 509 나중에 다시 시작할 때509 클러스터 X. 인증 사용하도록 합니다. 예시 를 들면 다음과 같습니다.

    net:
    tls:
    mode: requireTLS
    certificateKeyFile: /etc/ssl/mongodb.pem
    CAFile: /etc/ssl/caToValidateReceivedCertificates.pem
    clusterFile: "/etc/ssl/myReplMembershipCertificateKeyFile.pem"
    security.clusterAuthMode: x509
    replication:
    replSetName: myReplicaSet
    net:
    bindIp: localhost,mongodb0.example.net
    port: 27017
    systemLog:
    destination: file
    path: "/var/log/mongodb/mongod.log"
    logAppend: true
    storage:
    dbPath: "/var/lib/mongodb"
    processManagement:
    fork: true

구성 파일 대신 명령줄 옵션을 사용하여 mongodmongos 구성할 수도 있습니다.

참고

The procedure uses the tls options. For procedures using the ssl settings/options, see Clusters Currently Not Using TLS/SSL (Using ssl Options).

TLS/SSL이 아닌 키 파일 인증 사용하는 클러스터의 경우 X.509 멤버십 인증 및 TLS/SSL 연결로 업그레이드 .

  1. cluster의 각 노드에 대해 구성 파일 에 다음 설정을 추가하고 다시 시작합니다.

    • net.tls.mode
      allowTLS 로 설정합니다. 이 값을 사용하면 노드가 TLS/SSL과 비TLS/비SSL 수신 연결을 모두 수락할 수 있습니다. 발신 연결이 TLS/SSL을 사용하지 않습니다.
    • net.tls.certificateKeyFile
      TLS/SSL 인증서 및 키가 포함된 파일의 경로로 설정합니다. mongod / mongos 는 인스턴스의 ID를 설정하기 위해 이 파일을 클라이언트에 제공합니다. TLS/SSL을 사용할 때 필요합니다.
    • net.tls.clusterFile
      멤버십 인증을 위해 노드 인증서 키 파일의 적절한 경로로 설정합니다. mongod / mongos 는 cluster의 다른 구성원에게 이 파일을 표시하여 자신을 구성원으로 식별합니다.
    • net.tls.CAFile
      수신한 인증서를 확인하기 위한 인증서 체인이 포함된 파일의 경로로 설정합니다.
    • security.clusterAuthMode
      sendKeyFile(으)로 설정합니다. 이를 통해 각 노드 자신을 멤버로 인증하기 위해 키 파일을 계속 보낼 수 있습니다. 그러나 각 노드 다른 노드로부터 키 파일 또는 X.509 인증서를 수신하여 해당 노드를 인증할 수 있습니다.

    특정 구성에 적합한 다른 TLS/SSL 옵션 및 기타 옵션을 포함합니다.

    예를 들면 다음과 같습니다.

    net:
    tls:
    mode: allowTLS
    certificateKeyFile: /etc/ssl/mongodb.pem
    clusterFile: "/etc/ssl/myReplMembershipCertificateKeyFile.pem"
    CAFile: /etc/ssl/caToValidateReceivedCertificates.pem
    security:
    clusterAuthMode: sendKeyFile
    keyFile: /my/securely/located/membershipkey
    replication:
    replSetName: myReplicaSet
    net:
    bindIp: localhost,mongodb0.example.net
    port: 27017
    systemLog:
    destination: file
    path: "/var/log/mongodb/mongod.log"
    logAppend: true
    storage:
    dbPath: "/var/lib/mongodb"
    processManagement:
    fork: true

    net.tls.mode, net.tls.certificateKeyFile, net.tls.clusterFilesecurity.clusterAuthMode 를 포함하도록 cluster의 모든 노드를 업그레이드합니다.

  2. 각 노드에 연결하고 setParameter 명령 [1] 을 사용하여 다음을 수행합니다.

    1. tlsModepreferSSL 로 업데이트합니다. tlsModepreferTLS 로 설정하면 노드는 TLS/SSL과 비 TLS/비SSL 수신 연결을 모두 허용하고 발신 연결은 TLS/SSL을 사용합니다.

    2. clusterAuthModesendX509로 업데이트합니다. clusterAuthMode 을(를) sendX509(으)로 설정하다 각 노드 net.tls.clusterFile 을(를) 전송하여 자신을 멤버로 인증합니다. 그러나 각 노드 해당 노드를 인증하기 위해 다른 노드의 키 파일 또는 X.509 인증서를 계속 허용합니다.

    db.adminCommand( { setParameter: 1, tlsMode: "preferTLS" } );
    db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } );

    계속하기 전에 cluster의 모든 노드를 이 설정으로 업그레이드하세요.

  3. 모든 노드를 업그레이드 후 적절한 TLS/SSL 및 X.509 설정으로 구성 파일 편집하여 이후 다시 시작할 때 클러스터 X.509 인증 사용하도록 합니다.

    net:
    tls:
    mode: preferTLS
    certificateKeyFile: /etc/ssl/mongodb.pem
    clusterFile: "/etc/ssl/myReplMembershipCertificateKeyFile.pem"
    CAFile: /etc/ssl/caToValidateReceivedCertificates.pem
    security:
    clusterAuthMode: sendX509
    replication:
    replSetName: myReplicaSet
    net:
    bindIp: localhost,mongodb0.example.net
    port: 27017
    systemLog:
    destination: file
    path: "/var/log/mongodb/mongod.log"
    logAppend: true
    storage:
    dbPath: "/var/lib/mongodb"
    processManagement:
    fork: true

    참고

    이때,

    • cluster의 노드가 TLS/SSL 연결을 사용합니다. 그러나 노드는 클라이언트 애플리케이션에서 비TLS/SSL 연결을 허용할 수 있습니다.

    • 노드는 멤버십 인증 위해 X.509 인증서를 전송하지만, 다른 노드의 멤버십을 확인하기 위해 다른 노드의 X.509 인증서 또는 키 파일을 수락할 수 있습니다.

    클라이언트 애플리케이션에서 TLS/SSL 연결을 시행하다 하고 멤버십 인증 에 X.509 만 허용하려면 다음 단계를 참조하세요.

  4. 선택 사항이지만 권장됩니다. 멤버십 인증 에 TLS/SSL 연결만 사용하고 X.509 인증서만 사용하도록 모든 노드를 업데이트합니다.

    중요

    This TLS/SSL connection requirement applies to all connections; that is, with the clients as well as with the members of the cluster. That is, clients must specify TLS/SSL connections and presents its certificate key file when connecting to the cluster. See Connect to a TLS-Enabled Replica Set for more information on connecting with TLS/SSL. See also Validate Only if a Client Presents a Certificate.

    net.tls.moderequireTLS 로, security.clusterAuthModex509 로 업데이트합니다.

    예를 들면 다음과 같습니다.

    net:
    tls:
    mode: requireTLS
    certificateKeyFile: /etc/ssl/mongodb.pem
    clusterFile: "/etc/ssl/myReplMembershipCertificateKeyFile.pem"
    CAFile: /etc/ssl/caToValidateReceivedCertificates.pem
    security:
    clusterAuthMode: x509
    replication:
    replSetName: myReplicaSet
    net:
    bindIp: localhost,mongodb0.example.net
    port: 27017
    systemLog:
    destination: file
    path: "/var/log/mongodb/mongod.log"
    logAppend: true
    storage:
    dbPath: "/var/lib/mongodb"
    processManagement:
    fork: true

구성 파일 대신 명령줄 옵션을 사용하여 mongodmongos 구성할 수도 있습니다.

참고

MongoDB는 net.ssl 설정(및 --ssl 명령줄 옵션)에 대응하는 net.tls 설정(및 --tls 명령줄 옵션)을 제공합니다. MongoDB는 항상 TLS 1.0 이상을 지원해 왔기 때문에 새로운 tls 설정은 ssl 설정과 동일한 기능을 제공합니다.

The procedures in this section use the ssl options. For procedures using the tls options, see Upgrade Procedures (Using tls Options).

참고

The procedure uses the ssl options. For procedures using the tls options, see Clusters Currently Using TLS/SSL (Using ssl Options).

TLS/SSL 및 키 파일 인증 사용하는 클러스터의 경우, X.509 클러스터 인증 으로 업그레이드 하려면 다음 롤링 업그레이드 프로세스 사용하세요.

  1. 클러스터의 각 노드에 대해 --clusterAuthMode 옵션을 sendKeyFile 로 설정하고 옵션 --sslClusterFile 를 노드 인증서의 적절한 경로로 설정하여 노드를 시작합니다. 특정 구성에 필요한 기타 옵션뿐만 아니라 다른 TLS/SSL 옵션 을 포함합니다. 예를 들면 다음과 같습니다.

    mongod --replSet <name> --sslMode requireSSL --clusterAuthMode sendKeyFile --sslClusterFile <path to membership certificate and key PEM file> --sslPEMKeyFile <path to TLS/SSL Certificate and key PEM file> --sslCAFile <path to root CA PEM file> --bind_ip localhost,<hostname(s)|ip address(es)>

    이 설정을 사용하면 각 노드 계속해서 해당 키 파일을 사용하여 자신을 멤버로 인증합니다. 그러나 이제 각 노드 다른 노드의 키 파일 또는 X.509 인증서를 수락하여 해당 노드를 인증할 수 있습니다. 클러스터 의 모든 노드를 이 설정으로 업그레이드합니다.

  2. 그런 다음 cluster의 각 노드에 대해 노드에 연결하고 setParameter 명령을 사용하여 clusterAuthModesendX509 로 업데이트합니다. [1] 예를 들면 다음과 같습니다.

    db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )

    이 설정을 사용하면 각 노드 이전 단계에서 --sslClusterFile 옵션으로 지정된 X.509 인증서를 사용하여 자신을 멤버로 인증합니다. 그러나 각 노드 해당 노드를 인증하기 위해 다른 노드의 키 파일 또는 X.509 인증서를 계속 수락합니다. 클러스터 의 모든 노드를 이 설정으로 업그레이드합니다.

  3. 선택 사항이지만 권장됩니다. 마지막으로 클러스터의 각 노드에 대해 노드에 연결하고 setParameter 명령을 사용하여 인증에 X.509 인증서만 사용하도록 clusterAuthModex509 로 업데이트. [1] 예시:

    db.adminCommand( { setParameter: 1, clusterAuthMode: "x509" } )
  4. 모든 노드를 업그레이드 후 적절한 X.설정으로 구성 파일 편집하여 509 나중에 다시 시작할 때509 클러스터 X. 인증 사용하도록 합니다.

다양한 모드와 해당 설명은 --clusterAuthMode 를 참조하세요.

참고

The procedure uses the ssl options. For procedures using the tls options, see Update (Using tls Options) Clusters Using Keyfile but Not TLS/SSL.

TLS/SSL이 아닌 키 파일 인증 사용하는 클러스터의 경우 X.509 인증 으로 업그레이드 하려면 다음 롤링 업그레이드 프로세스 사용하세요.

  1. 클러스터의 각 노드에 대해 --sslMode 옵션을 allowSSL 로, --clusterAuthMode 옵션을 sendKeyFile 로, --sslClusterFile 옵션을 노드 인증서의 적절한 경로로 설정하여 노드를 시작합니다. 특정 구성에 필요한 기타 옵션뿐만 아니라 다른 TLS/SSL 옵션 을 포함합니다. 예를 들면 다음과 같습니다.

    mongod --replSet <name> --sslMode allowSSL --clusterAuthMode sendKeyFile --sslClusterFile <path to membership certificate and key PEM file> --sslPEMKeyFile <path to TLS/SSL certificate and key PEM file> --sslCAFile <path to root CA PEM file> --bind_ip localhost,<hostname(s)|ip address(es)>

    --sslMode allowSSL 설정을 사용하면 노드가 TLS/SSL 및 비 TLS/비 SSL 수신 연결을 모두 수락할 수 있습니다. 노드의 발신 연결이 TLS/SSL을 사용하지 않습니다.

    --clusterAuthMode sendKeyFile 설정을 사용하면 각 노드 계속해서 해당 키 파일을 사용하여 자신을 멤버로 인증할 수 있습니다. 그러나 이제 각 노드 다른 노드의 키 파일 또는 X.509 인증서를 수락하여 해당 노드를 인증할 수 있습니다.

    클러스터의 모든 노드를 이 설정으로 업그레이드합니다.

  2. 그런 다음 cluster의 각 노드에 대해 노드에 연결하고 setParameter 명령을 사용하여 sslModepreferSSL 로, clusterAuthModesendX509 로 업데이트합니다. [1] 예:

    db.adminCommand( { setParameter: 1, sslMode: "preferSSL", clusterAuthMode: "sendX509" } )

    sslMode 을(를) preferSSL(으)로 설정하면 노드는 TLS/SSL과 비TLS/비SSL 수신 연결을 모두 허용하고, 발신 연결은 TLS/SSL을 사용합니다.

    clusterAuthModesendX509로 설정하다 하면 각 노드 이전 단계에서 --sslClusterFile 옵션으로 지정된 X.509 인증서를 사용하여 자신을 멤버로 인증합니다. 그러나 각 노드 해당 노드를 인증하기 위해 다른 노드의 키 파일 또는 X.509 인증서를 계속 수락합니다.

    클러스터의 모든 노드를 이 설정으로 업그레이드합니다.

  3. 선택 사항이지만 권장됩니다. 마지막으로 cluster의 각 노드에 대해 노드에 연결하고 setParameter 명령을 사용하여 sslModerequireSSL 로, clusterAuthModex509 로 업데이트합니다. [1] 예:

    db.adminCommand( { setParameter: 1, sslMode: "requireSSL", clusterAuthMode: "x509" } )

    sslModerequireSSL 로 설정하면 노드는 TLS/SSL 연결만 사용합니다.

    clusterAuthModex509로 설정하다 노드 인증 에 X.509 인증서만 사용합니다.

  4. 모든 노드를 업그레이드 후 적절한 TLS/SSL 및 X.509 설정으로 구성 파일 편집하여 이후 다시 시작할 때 클러스터 X.509 인증 사용하도록 합니다.

다양한 모드와 해당 설명은 --clusterAuthMode 를 참조하세요.

[1](1, 2, 3, 4, 5, 6, 7) setParameter 명령을 사용하는 대신 적절한 TLS/SSL 및 x509 옵션과 값을 사용하여 노드를 다시 시작할 수도 있습니다.