Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
PyMongo 드라이버
/ /

X.509

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 에 전달할 때 퍼센트 인코딩하지 마세요.

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)

PyMongo에서 애플리케이션을 인증하는 방법에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.

돌아가기

SCRAM

이 페이지의 내용