Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Node.js 드라이버
/ /

SCRAM 인증 메커니즘

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 5802Salted Challenge Response 인증 메커니즘을 참조하세요.

SCRAM 의 MongoDB 구현 에 대한 자세한 내용은 MongoDB Server 매뉴얼의 SCRAM 참조하세요.

이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.

  • <db_username>: 인증할 사용자의 MongoDB 사용자 이름 .

  • <db_password>: 인증할 사용자의 MongoDB 비밀번호입니다.

  • <cluster_url>: MongoDB deployment 의 네트워크 주소 .

코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.

DEFAULT 인증 메커니즘은 서버가 지원하는 첫 번째 인증 메커니즘을 다음과 같은 우선 순위에 따라 협상하도록 드라이버에 지시하는 대체 설정입니다.

  1. SCRAM-SHA-256

  2. SCRAM-SHA-1

  3. MONGODB-CR

DEFAULT 옵션을 지정하면 드라이버는 우선 SCRAM-SHA-256을 사용하여 인증을 시도합니다. MongoDB 인스턴스 버전이 해당 메커니즘을 지원하지 않는 경우 드라이버는 SCRAM-SHA-1을 사용하여 인증을 시도합니다. 인스턴스가 해당 메커니즘을 지원하지 않는 경우 드라이버는 MONGODB-CR을 사용하여 인증을 시도합니다.

연결 문자열 에서 authMechanism 매개 변수를 DEFAULT 로 설정하거나 매개 변수가 기본값 이므로 생략하여 기본값 인증 메커니즘 지정할 수 있습니다.

다음 예시 연결 문자열 에서 authMechanismDEFAULT 로 설정하여 인증 메커니즘 기본값 으로 설정하다 방법을 보여 줍니다.

중요

사용자 이름과 비밀번호가 올바르게 구문 분석되도록 항상 encodeURIComponent 메서드를 사용하여 사용자 이름과 비밀번호를 URI 인코딩합니다.

const { MongoClient } = require("mongodb");
// Replace the following with values for your environment.
const username = encodeURIComponent("<db_username>");
const password = encodeURIComponent("<db_password>");
const clusterUrl = "<cluster_url>";
const authMechanism = "DEFAULT";
// Replace the following with your MongoDB deployment's connection string.
const uri =
`mongodb+srv://${username}:${password}@${clusterUrl}/?authMechanism=${authMechanism}`;
// Create a new MongoClient
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

MongoDB 지원하는 SCRAM 버전에 대해 자세히 학습하려면 MongoDB Server 매뉴얼의 SCRAM 섹션을 참조하세요.

참고

SCRAM-SHA-256 MongoDB 버전 4.0부터 기본 인증 방법입니다.

SCRAM-SHA-256 SHA-256 알고리즘 으로 암호화됨 사용자 사용자 이름 과 비밀번호를 사용하여 사용자를 인증하는 SCRAM 버전입니다.

다음 샘플 코드에 표시된 대로 연결 문자열에서 authMechanism을(를) SCRAM-SHA-256 값으로 설정하여 이 인증 메커니즘을 지정할 수 있습니다.

중요

사용자 이름과 비밀번호가 올바르게 구문 분석되도록 항상 encodeURIComponent 메서드를 사용하여 사용자 이름과 비밀번호를 URI 인코딩합니다.

const { MongoClient } = require("mongodb");
// Replace the following with values for your environment.
const username = encodeURIComponent("<db_username>");
const password = encodeURIComponent("<db_password>");
const clusterUrl = "<cluster_url>";
const authMechanism = "SCRAM-SHA-256";
// Replace the following with your MongoDB deployment's connection string.
const uri =
`mongodb+srv://${username}:${password}@${clusterUrl}/?authMechanism=${authMechanism}`;
// Create a new MongoClient
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

참고

SCRAM-SHA-1 MongoDB 버전 3.0, 3.2, 3.4, 3.6의 기본 인증 방법입니다.

SCRAM-SHA-1 SHA-1 알고리즘 으로 암호화됨 사용자 사용자 이름 과 비밀번호를 사용하여 사용자를 인증하는 SCRAM 버전입니다.

다음 샘플 코드에 표시된 대로 연결 문자열에서 authMechanism 매개 변수를 SCRAM-SHA-1 값으로 설정하여 해당 인증 메커니즘을 지정할 수 있습니다.

중요

사용자 이름과 비밀번호가 올바르게 구문 분석되도록 항상 encodeURIComponent 메서드를 사용하여 사용자 이름과 비밀번호를 URI 인코딩합니다.

const { MongoClient } = require("mongodb");
// Replace the following with values for your environment.
const username = encodeURIComponent("<db_username>");
const password = encodeURIComponent("<db_password>");
const clusterUrl = "<cluster_url>";
const authMechanism = "SCRAM-SHA-1";
// Replace the following with your MongoDB deployment's connection string.
const uri =
`mongodb+srv://${username}:${password}@${clusterUrl}/?authMechanism=${authMechanism}`;
// Create a new MongoClient
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

이 페이지에서 설명하는 메서드 또는 유형에 대해 자세히 학습 다음 API 설명서를 참조하세요.

돌아가기

인증

이 페이지의 내용