개요
Salted Challenge Response Authentication Mechanism (SCRAM)은 MongoDB의 기본값 인증 메커니즘입니다. Scala 드라이버는 다음 SCRAM 버전을 지원합니다.
SCRAM-SHA-256: SHA-256 해싱 알고리즘을 사용하며 MongoDB 6.0 및 이후 버전의 기본 메커니즘입니다.SCRAM-SHA-1: SHA-1 해싱 알고리즘을 사용합니다.
SCRAM 사용하여 MongoDB Atlas, MongoDB Enterprise Advanced 및 MongoDB Community Edition 에 인증할 수 있습니다.
팁
SCRAM 메커니즘
SCRAM 인증 메커니즘 제품군에 대해 자세히 학습 Wikipedia의 RFC 5802 및 Salted Challenge Response 인증 메커니즘을 참조하세요.
SCRAM 의 MongoDB 구현 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 SCRAM 참조하세요.
코드 자리 표시자
이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.
<db_username>: 인증할 사용자의 MongoDB 사용자 이름 .<db_password>: 인증할 사용자의 MongoDB 비밀번호입니다.<hostname>: MongoDB deployment 의 네트워크 주소 .<port>: MongoDB 배포서버의 포트 번호입니다. 이 매개 변수를 생략하면 드라이버는 기본값 포트 번호(27017)를 사용합니다. MongoDB Atlas 클러스터에 연결할 때 포트 번호가 필요하지 않습니다.<authenticationDb>: 사용자의 인증 데이터가 포함된 MongoDB database 입니다. 이 매개변수를 생략하면 운전자 기본값 인admin을 사용합니다.
코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
기본 인증 메커니즘
MongoDB 6.0 이상의 기본 인증 메커니즘은 SCRAM-SHA-256입니다. 기본값 메커니즘을 사용하려면 다음 탭 중 하나를 선택합니다.
연결 문자열로 인증하려면 authMechanism 매개 변수를 생략합니다.
val mongoClient = MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>")
MongoCredential 클래스는 인증 자격 증명을 나타내며 각 인증 메커니즘에 대한 정적 팩토리 메서드를 포함합니다. MongoCredential 클래스로 인증하려면 createCredential() 메서드를 사용합니다.
val user = "<db_username>" // the username val source = "<authenticationDb>" // the authentication database val password = ... // the password as a character array val credential = MongoCredential.createCredential(user, source, password) val mongoClient = MongoClient(MongoClientSettings .builder() .applyToClusterSettings(builder => builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>)))) .credential(credential) .build())
SCRAM-SHA-256
이 메커니즘을 사용하려면 featureCompatibilityVersion이 4.0 이상이어야 합니다. SCRAM-SHA-256 인증 메커니즘을 지정하려면 다음 탭 중 하나를 선택합니다.
연결 문자열로 인증하려면 authMechanism 매개변수를 SCRAM-SHA-256(으)로 설정합니다.
val mongoClient = MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-256")
MongoCredential 클래스는 인증 자격 증명을 나타내며 각 인증 메커니즘에 대한 정적 팩토리 메서드를 포함합니다. MongoCredential 클래스로 인증하려면 createScramSha256Credential() 메서드를 사용합니다.
val user = "<db_username>" // the username val source = "<authenticationDb>" // the authentication database val password = ... // the password as a character array val credential = MongoCredential.createScramSha256Credential(user, source, password) val mongoClient = MongoClient(MongoClientSettings .builder() .applyToClusterSettings(builder => builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>)))) .credential(credential) .build())
SCRAM-SHA-1
SCRAM-SHA-1 인증 메커니즘 지정하려면 다음 탭 중 하나를 선택합니다.
연결 문자열로 인증하려면 authMechanism 매개변수를 SCRAM-SHA-1(으)로 설정합니다.
val mongoClient = MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-1")
MongoCredential 클래스는 인증 자격 증명을 나타내며 각 인증 메커니즘에 대한 정적 팩토리 메서드를 포함합니다. MongoCredential 클래스로 인증하려면 createScramSha1Credential() 메서드를 사용합니다.
val user = "<db_username>" // the username val source = "<authenticationDb>" // the authentication database val password = ... // the password as a character array val credential = MongoCredential.createScramSha1Credential(user, source, password) val mongoClient = MongoClient(MongoClientSettings .builder() .applyToClusterSettings(builder => builder.hosts(Collections.singletonList(ServerAddress("<hostname>", <port>)))) .credential(credential) .build())
API 문서
이 페이지의 메서드와 유형에 대한 자세한 내용은 다음 API 문서를 참조하세요.