개요
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 인증 메커니즘을 참조하세요.
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을 사용합니다.
코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
기본 SCRAM 인증 메커니즘 지정
기본값 SCRAM 메커니즘을 사용하여 MongoDB 사용자를 인증하려면 MongoDB 자격 증명 지정하되 인증 메커니즘 지정하지 마세요. 해당 구문에 대한 지침과 샘플 코드를 보려면 아래의 Connection String 또는 MongoCredential 탭 선택하세요.
연결 문자열 사용하여 기본값 인증 메커니즘 지정하려면 해당 메커니즘을 생략합니다. MongoClient 을(를) 인스턴스화하는 코드는 다음과 유사합니다.
MongoClient mongoClient = MongoClients.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>");
MongoCredential 클래스를 사용하여 기본값 인증 메커니즘 지정하려면 createCredential() 메서드를 사용합니다. MongoClient 를 인스턴스화하는 코드는 다음과 유사합니다.
MongoCredential credential = MongoCredential.createCredential("<db_username>", "<authenticationDb>", "<db_password>"); MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyToClusterSettings(builder -> builder.hosts(Arrays.asList(new ServerAddress("<hostname>", <port>)))) .credential(credential) .build());
MongoDB가 지원하는 챌린지-응답(CR) 및 솔티드 챌린지-응답 인증 메커니즘(SCRAM)에 대한 자세한 내용은 MongoDB Server 매뉴얼의 SCRAM 섹션을 참조하세요.
SCRAM-SHA-256 인증 지정
SCRAM-SHA-256 는 MongoDB 4.0부터 시작하는 MongoDB 의 기본값 인증 방법이지만, 이 코드 예시 이 메커니즘을 명시적으로 사용하는 방법을 보여줍니다. 이 인증 메커니즘 지정하기 위한 지침과 샘플 코드를 보려면 Connection String 또는 MongoCredential 탭 선택하세요.
연결 문자열 사용하여 SCRAM-SHA-256 인증 메커니즘 지정하려면 연결 문자열 에 authMechanism 매개 변수에 SCRAM-SHA-256 값을 할당합니다. MongoClient 을 인스턴스화하는 코드는 다음과 유사합니다.
MongoClient mongoClient = MongoClients.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-256");
MongoCredential 클래스를 사용하여 SCRAM-SHA-256 인증 메커니즘 지정하려면 createScramSha256Credential() 메서드를 사용합니다. MongoClient 을 인스턴스화하는 코드는 다음과 유사합니다.
MongoCredential credential = MongoCredential.createScramSha256Credential("<db_username>", "<authenticationDb>", "<db_password>"); MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyToClusterSettings(builder -> builder.hosts(Arrays.asList(new ServerAddress("<hostname>", <port>)))) .credential(credential) .build());
SCRAM-SHA-1 인증 지정
SCRAM-SHA-1 4.0 이전 MongoDB 버전에 대한 기본값 인증 방법이지만, 이 코드 예시 이 메커니즘을 명시적으로 사용하는 방법을 보여줍니다. 이 인증 메커니즘 지정하기 위한 지침과 샘플 코드를 보려면 Connection String 또는 MongoCredential 탭 선택하세요.
연결 문자열 사용하여 SCRAM-SHA-1 인증 메커니즘 지정하려면 연결 문자열 에 authMechanism 매개 변수에 SCRAM-SHA-1 값을 할당합니다. MongoClient 을 인스턴스화하는 코드는 다음과 유사합니다.
MongoClient mongoClient = MongoClients.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=SCRAM-SHA-1");
MongoCredential 클래스를 사용하여 SCRAM-SHA-1 인증 메커니즘 지정하려면 createScramSha1Credential() 메서드를 사용합니다. MongoClient 을 인스턴스화하는 코드는 다음과 유사합니다.
MongoCredential credential = MongoCredential.createScramSha1Credential("<db_username>", "<authenticationDb>", "<db_password>"); MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyToClusterSettings(builder -> builder.hosts(Arrays.asList(new ServerAddress("<hostname>", <port>)))) .credential(credential) .build());
API 문서
이 페이지에서 설명하는 메서드 또는 유형에 대해 자세히 학습 다음 API 설명서를 참조하세요.