개요
SCRAM (Salted Challenge Response Authentication Mechanism)은 MongoDB 의 기본값 인증 메커니즘 입니다. 스칼라 운전자 다음과 같은 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 deployment 의 포트 번호입니다. 이 매개 변수를 생략하면 운전자 기본값 포트 번호(27017)를 사용합니다. MongoDB Atlas cluster 에 연결할 때는 포트 번호가 필요하지 않습니다.<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 문서를 참조하세요.