인증 메커니즘.
스칼라 운전자 MongoDB 엔터프라이즈 에서만 사용할 수 있는 메커니즘을 포함하여 모든 MongoDB 인증 메커니즘을 지원합니다.
MongoCredential
인증 자격 증명은 MongoCredential
클래스의 인스턴스로 표시됩니다. MongoCredential
클래스에는 지원되는 각 인증 메커니즘에 대한 정적 팩토리 메서드가 포함되어 있습니다.
기본 인증 메커니즘
MongoDB 6.0 이상의 기본값 인증 메커니즘 은 SCRAM-SHA-256
입니다.
서버 버전에 관계없이 기본 인증 메커니즘을 사용하여 인증하는 자격 증명을 만들려면 createCredential()
정적 팩토리 메서드를 사용하여 자격 증명을 만듭니다.
val user = "<db_username>" // the username val source = "<source>" // the source where the user is defined 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("localhost", 27017)))) .credential(credential) .build())
또는 인증 메커니즘을 명시적으로 지정하지 않고 연결 string 을 사용할 수 있습니다.
val mongoClient = MongoClient("mongodb://user1:pwd1@host1/?authSource=db1")
SCRAM 기반 메커니즘
Salted Challenge-Response 인증 메커니즘(SCRAM
)은 3.0 이후 MongoDB 의 기본값 인증 메커니즘 이었습니다. 는 IETF RFC 5802 SCRAM
표준을 기반으로 하며, 이 표준은 비밀번호로 사용자를 인증하기 위한 과제-응답 메커니즘의 구현 에 대한 권장사항 정의합니다.
SCRAM-SHA-256
이 메커니즘을 사용하려면 featureCompatibilityVersion
를 4.0 이상 버전으로 설정하다 해야 합니다.
SCRAM-SHA-256
유형의 자격 증명을 명시적으로 만들려면 createScramSha256Credential()
메서드를 사용합니다.
val user = "<db_username>" // the username val source = "<source>" // the source where the user is defined 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("localhost", 27017)))) .credential(credential) .build())
또는 authMechanism=SCRAM-SHA-256
를 명시적으로 지정하는 연결 string 을 사용할 수 있습니다.
val mongoClient = MongoClient("mongodb://user1:pwd1@host1/?authSource=db1&authMechanism=SCRAM-SHA-256")
x.509
x.509 메커니즘을 통해 MongoDB SSL 협상 중에 제시된 x.509 인증서를 사용하여 이름이 x.509 인증서의 고유 이름 에서 파생된 사용자를 인증합니다.
x.509 인증 인증서 유효성 검사 와 함께 SSL 연결을 사용해야 합니다. 이 유형의 자격 증명을 만들려면 createMongoX509Credential()
정적 팩토리 메서드를 사용합니다.
val credential = MongoCredential.createMongoX509Credential() val mongoClient = MongoClient(MongoClientSettings .builder() .applyToClusterSettings(builder => builder.hosts(Collections.singletonList(ServerAddress("localhost", 27017)))) .credential(credential) .build())
또는 authMechanism=MONGODB-X509
를 명시적으로 지정하는 연결 string 을 사용할 수 있습니다.
val mongoClient = MongoClient("mongodb://subjectName@host1/?authMechanism=MONGODB-X509&ssl=true")
509 애플리케이션 에서 x.509 인증서를 사용하는 방법에 대해 자세히 학습 서버 매뉴얼의 x. 인증서를 클라이언트 인증하기 튜토리얼을 참조하세요.