개요
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 5802 및 Salted Challenge Response 인증 메커니즘을 참조하세요.
MongoDB 구현 SCRAM
에 대한 자세한 내용은 MongoDB Server 매뉴얼의 SCRAM 참조하세요.
SCRAM-SHA-256 인증 지정
SCRAM-SHA-256
, RFC 7677 에 정의된 대로 SHA-256
알고리즘 으로 사용자 사용자 이름 과 비밀번호를 암호화하여 사용자를 인증합니다. 이것이 기본값 인증 메커니즘 입니다.
이 섹션의 예제에서는 이 기본값 인증 메커니즘 지정하고 다음 자리 표시자 값을 사용하는 방법을 보여 줍니다.
db_username
: MongoDB database 사용자 이름.db_password
: MongoDB database 사용자의 비밀번호입니다.hostname
: MongoDB deployment 서버의 네트워크 주소 , 클라이언트 에 공개됩니다.port
: MongoDB deployment 의 포트 번호입니다.authenticationDb
: 사용자의 인증 데이터가 포함된 MongoDB database 입니다. 이 매개변수를 생략하면 운전자 기본값admin
을 사용합니다.
이 인증 메커니즘 지정하기 위한 지침과 샘플 코드를 보려면 아래의 Connection String 또는 MongoCredential 탭 선택하세요.
연결 문자열 사용하여 기본값 인증 메커니즘 지정하려면 다음 예시 와 같이 메커니즘을 생략합니다.
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>")
MongoCredential
클래스를 사용하여 기본값 인증 메커니즘 지정하려면 다음 예시 와 같이 createCredential()
메서드를 사용합니다.
val credential = MongoCredential.createCredential( "<db_username>", "<authenticationDb>", "<db_password>".toCharArray() ) val settings = MongoClientSettings.builder() .applyToClusterSettings { builder: ClusterSettings.Builder -> builder.hosts( listOf(ServerAddress("<hostname>", <port>)) ) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
또는 SCRAM-SHA-256
인증 메커니즘 명시적으로 지정할 수 있습니다. 이 인증 메커니즘 지정하기 위한 지침과 샘플 코드를 보려면 아래에서 Connection String 또는 MongoCredential 탭 선택하세요.
연결 문자열 사용하여 SCRAM-SHA-256
인증 메커니즘 지정하려면 다음 예시 와 같이 연결 문자열 에 authMechanism
매개 변수에 SCRAM-SHA-256
값을 할당합니다.
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-256")
MongoCredential
클래스를 사용하여 기본값 인증 메커니즘 지정하려면 다음 예시 와 같이 createScramSha256Credential() 메서드를 사용합니다.
val credential = MongoCredential.createScramSha256Credential( "<db_username>", "<authenticationDb>", "<db_password>".toCharArray() ) val settings = MongoClientSettings.builder() .applyToClusterSettings { builder: ClusterSettings.Builder -> builder.hosts( listOf(ServerAddress("<hostname>", <port>)) ) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
SCRAM-SHA-1 인증 지정
SCRAM-SHA-1
, RFC 5802 에 정의된 대로 SHA-1
알고리즘 으로 사용자 사용자 이름 과 비밀번호를 암호화하여 사용자를 인증합니다.
이 섹션의 예제에서는 이 인증 메커니즘 지정하고 다음 자리 표시자 값을 사용하는 방법을 보여 줍니다.
db_username
: MongoDB database 사용자 이름.db_password
: MongoDB database 사용자의 비밀번호입니다.hostname
: MongoDB deployment 서버의 네트워크 주소 , 클라이언트 에 공개됩니다.port
: MongoDB deployment 의 포트 번호입니다.authenticationDb
: 사용자의 인증 데이터가 포함된 MongoDB database 입니다. 이 매개변수를 생략하면 운전자 기본값admin
을 사용합니다.
아래의 Connection String 또는 MongoCredential 탭 선택하여 SCRAM-SHA-1
인증 메커니즘 지정하기 위한 지침과 샘플 코드를 확인하세요.
연결 문자열 사용하여 SCRAM-SHA-1
인증 메커니즘 지정하려면 다음 예시 와 같이 연결 문자열 에 authMechanism
매개 변수에 SCRAM-SHA-1
값을 할당합니다.
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-1")
MongoCredential
클래스를 사용하여 기본값 인증 메커니즘 지정하려면 다음 예시 와 같이 createScramSha1Credential() 메서드를 사용합니다.
val credential = MongoCredential.createScramSha1Credential( "<db_username>", "<authenticationDb>", "<db_password>".toCharArray() ) val settings = MongoClientSettings.builder() .applyToClusterSettings { builder: ClusterSettings.Builder -> builder.hosts( listOf(ServerAddress("<hostname>", <port>)) ) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
추가 정보
MongoDB 인증에 대해 자세히 학습 MongoDB Server 매뉴얼에서 인증을 참조하세요.
코틀린 동기 (Kotlin Sync) 운전자 사용하여 MongoClient
객체 만드는 방법에 대해 자세히 학습 MongoClient 만들기 가이드 참조하세요.