문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

x.509 인증서를 사용하여 클라이언트 인증하기

이 페이지의 내용

  • 전제 조건
  • 절차
  • 다음 단계

다음 절차는 독립형 mongod 인스턴스에서 클라이언트 인증을 위한 x.509 인증서 인증을 설정합니다.

복제본 세트 또는 샤드 클러스터에 x.509 인증을 사용하려면 멤버십 인증에 x.509 인증서 사용을 참조하세요.

TLS/SSL, PKI(공개 키 기반 구조) 인증서, 특히 x.509 인증서 및 인증 기관에 대한 자세한 설명은 이 문서에 설명되어있지 않습니다.이 튜토리얼은 유효한 x.509 인증서에 액세스할 수 있고, TLS/SSL에 대한 딕셔너리 지식을 갖고 있다고 가정합니다.

프로덕션 용도의 경우 MongoDB deployment는 동일한 인증 기관에서 생성하고 서명한 유효한 인증서를 사용해야 합니다. 귀하 또는 귀하의 조직은 독립적인 인증 기관을 생성 및 유지 관리하거나 타사 TLS 공급업체에서 생성한 인증서를 사용할 수 있습니다. 인증서를 얻고 관리하는 것은 이 문서의 범위를 벗어납니다.

--tlsCertificateSelector 또는 --net.tls.certificateSelector을(를) 사용하지 않는 한, x.509 인증을 사용하려면 반드시 --tlsCAFile 또는 net.tls.CAFile을(를) 지정해야 합니다.

유효한 x.509 인증서가 있어야 합니다. 클라이언트 x.509 인증서는 클라이언트 인증서 요구 사항을 충족해야 합니다.

--tlsAllowInvalidCertificates 또는 net.tls.allowInvalidCertificates: true 지정하는 경우 유효하지 않은 인증서는 TLS 연결을 설정하는 데만 충분하지만 인증에는 충분하지 않습니다 .

1

복제본 세트 또는 샤드된 클러스터에 대한 x.509 인증을 설정하려면 회원 인증에 x.509 인증서 사용을 참조하세요.

2

클라이언트 인증서를 사용하여 인증하려면 먼저 클라이언트 인증서의 subject 값을 MongoDB 사용자로 $external 데이터베이스에 추가해야 합니다. 각각의 고유한 x.509 클라이언트 인증서는 단일 MongoDB 사용자에 해당합니다. 단일 클라이언트 인증서를 사용하여 둘 이상의 MongoDB 사용자를 인증할 수 없습니다.

참고

사용자 이름 요구 사항

  • $external 인증 사용자(Kerberos, LDAP 또는 x.509 사용자)와 함께 클라이언트 세션 및 인과적 일관성 보장 을 사용하려면 사용자 이름이 10k 바이트를 초과할 수 없습니다.

  • 문자열의 RDN은 subject RFC2253 와 호환되어야 합니다. 표준.

  1. 다음 명령을 사용하여 클라이언트 인증서에서 RFC2253 형식의 subject를 가져올 수 있습니다.

    openssl x509 -in <pathToClientPEM> -inform PEM -subject -nameopt RFC2253

    이 명령은 subject 문자열과 인증서를 반환합니다.

    subject= CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry
    -----BEGIN CERTIFICATE-----
    # ...
    -----END CERTIFICATE-----
  2. subjectRFC2253 규격 값을 사용자로 추가합니다. 필요에 따라 공백을 생략합니다.

    다음 예시는 사용자를 추가하고 해당 사용자에게 test 데이터베이스에서 readWrite 역할과 userAdminAnyDatabase 역할을 부여합니다.

    db.getSiblingDB("$external").runCommand(
    {
    createUser: "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry",
    roles: [
    { role: "readWrite", db: "test" },
    { role: "userAdminAnyDatabase", db: "admin" }
    ],
    writeConcern: { w: "majority" , wtimeout: 5000 }
    }
    )

    사용자를 역할과 함께 추가하는 방법에 대한 자세한 내용은 사용자 및 역할 관리를 참조하세요.

3

x를 추가 한 후 509 클라이언트 인증서 주체가 해당 MongoDB 사용자 인 경우 클라이언트 인증서로 인증할 수 있습니다.

복제본 세트 또는 샤드 클러스터에 x.509 인증을 사용하려면 멤버십 인증에 x.509 인증서 사용을 참조하세요.

← x.509

이 페이지의 내용