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

SCRAM

SCRAM(Salted Challenge Response Authentication Mechanism)은 챌린지-응답 메커니즘을 사용하여 사용자를 인증하는 인증 메커니즘 제품군입니다. SHA-256 알고리즘 사용하여 비밀번호를 해시하는 SCRAM -SHA-256는 MongoDB Server 버전 4.0 이상에서 기본값 인증 메커니즘 입니다. 대신 SHA-1 알고리즘 사용하는 SCRAM -SHA-1는 4.0 이전 MongoDB Server 버전의 기본값 인증 메커니즘 입니다.

SCRAM 사용하여 MongoDB Atlas, MongoDB Enterprise Advanced 및 MongoDB Community Edition 에 인증할 수 있습니다.

SCRAM 메커니즘

SCRAM 인증 메커니즘 제품군에 대해 자세히 학습 Wikipedia의RFC 5802Salted Challenge Response 인증 메커니즘을 참조하세요.

SCRAM 의 MongoDB 구현 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 SCRAM 참조하세요.

이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.

  • +srv: MongoDB Atlas cluster 에 연결하는 경우에만 연결 문자열 접두사에 이 옵션을 포함합니다. 옵션에 대해 자세히 +srv 학습 MongoDB Server 매뉴얼의 연결 문자열 형식을 참조하세요.

  • <db_username>: 인증할 사용자의 MongoDB 사용자 이름 .

  • <db_password>: 인증할 사용자의 MongoDB 비밀번호입니다.

  • <hostname>: MongoDB deployment 의 네트워크 주소 .

  • <port>: MongoDB deployment 의 포트 번호입니다. 이 매개 변수를 생략하면 운전자 기본값 포트 번호(27017)를 사용합니다. MongoDB Atlas cluster 에 연결할 때는 포트 번호가 필요하지 않습니다.

  • <authenticationDb>: 사용자의 인증 데이터가 포함된 MongoDB database 입니다. 이 매개변수를 생략하면 운전자 기본값 인 admin을 사용합니다.

  • <authenticationMechanism>: SCRAM-SHA-1 또는 SCRAM-SHA-256(으)로 설정합니다.

이 페이지의 코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.

중요

백분율 인코딩

퍼센트 인코딩 을 수행해야 합니다. 사용자 이름과 비밀번호를 MongoDB URI에 포함하기 전에 확인합니다. quote_plus() urllib.parse 에서 사용할 수 있는 메서드 모듈은 이 작업을 수행하는 한 가지 방법입니다. 예를 들어 quote_plus("and / or") 를 호출하면 and+%2F+or string 이 반환됩니다.

사용자 이름이나 비밀번호를 인수로 MongoClient 에 전달할 때 퍼센트 인코딩하지 마세요.

SCRAM 사용하여 인증하려면 authMechanism 연결 옵션을 SCRAM-SHA-1 또는 SCRAM-SHA-256로 설정하다 . MongoClient 생성자에 인수를 전달하거나 연결 문자열 의 매개변수를 통해 이 옵션을 설정하다 수 있습니다.

client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>",
username="<db_username>",
password="<db_password>",
authSource="<authenticationDb>",
authMechanism="<authenticationMechanism>")
uri = ("mongodb[+srv]://<percent-encoded db_username>:<percent-encoded db_password>"
"@<hostname>:<port>/?"
"authSource=<authenticationDb>"
"&authMechanism=<authenticationMechanism>")
client = pymongo.MongoClient(uri)

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

돌아가기

인증

이 페이지의 내용