개요
X.509 인증 메커니즘 에서 서버 와 클라이언트 TLS 프로토콜 사용하여 X.509 공개 키 인증서를 교환합니다. 이 메커니즘을 사용하여 MongoDB Atlas, MongoDB Enterprise Advanced 및 MongoDB Community Edition 에 인증할 수 있습니다.
팁
X.509 메커니즘
PyMongo 에서 TLS/SSL을 사용하는 방법을 학습 TLS/SSL을 참조하세요.
X.509 인증서에 대한 자세한 내용은 MongoDB Server 매뉴얼에서 X. 를 참조하세요.509
코드 자리 표시자
이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.
+srv
: MongoDB Atlas cluster 에 연결하는 경우에만 연결 문자열 접두사에 이 옵션을 포함합니다. 옵션에 대해 자세히+srv
학습 MongoDB Server 매뉴얼의 연결 문자열 형식을 참조하세요.<hostname>
: MongoDB deployment 의 네트워크 주소 .<port>
: MongoDB deployment 의 포트 번호입니다. 이 매개 변수를 생략하면 운전자 기본값 포트 번호(27017
)를 사용합니다. MongoDB Atlas cluster 에 연결할 때는 포트 번호가 필요하지 않습니다.<path to X.509 certificate>
: X.509 인증서 파일 의 경로입니다.<X.509 certificate password>
: X.509 인증서의 비밀번호입니다.
이 페이지의 코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
중요
백분율 인코딩
사용자 이름 과 비밀번호를 MongoDB URI에 포함하기 전에 퍼센트 인코딩해야 합니다. quote_plus()
urllib.parse 모듈에서 사용할 수 있는 메서드는 이 작업 수행하는 한 가지 방법입니다. 예시 들어 를 quote_plus("and / or")
호출하면 문자열이 and+%2F+or
반환됩니다.
사용자 이름이나 비밀번호를 인수로 MongoClient
에 전달할 때 퍼센트 인코딩하지 마세요.
애플리케이션에서 X.509 인증 사용
MongoClient
생성자에 인수를 전달하거나 연결 string 의 매개변수를 통해 두 가지 방법으로 이러한 옵션을 설정할 수 있습니다.
client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>", tls=True, tlsCertificateKeyFile="<path to X.509 certificate>", tlsCertificateKeyFilePassword="<X.509 certificate password>", authMechanism="MONGODB-X509")
uri = ("mongodb[+srv]://<hostname>:<port>/?" "tls=true" "&tlsCertificateKeyFile=<path to X.509 certificate>" "&tlsCertificateKeyFilePassword=<X.509 certificate password>" "&authMechanism=MONGODB-X509") client = pymongo.MongoClient(uri)
API 문서
PyMongo에서 애플리케이션을 인증하는 방법에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.