개요
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 비밀번호입니다.<cluster_url>
: MongoDB deployment 의 네트워크 주소 .
코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
기본 인증 메커니즘
DEFAULT
인증 메커니즘은 서버가 지원하는 첫 번째 인증 메커니즘을 다음과 같은 우선 순위에 따라 협상하도록 드라이버에 지시하는 대체 설정입니다.
SCRAM-SHA-256
SCRAM-SHA-1
MONGODB-CR
DEFAULT
옵션을 지정하면 드라이버는 우선 SCRAM-SHA-256
을 사용하여 인증을 시도합니다. MongoDB 인스턴스 버전이 해당 메커니즘을 지원하지 않는 경우 드라이버는 SCRAM-SHA-1
을 사용하여 인증을 시도합니다. 인스턴스가 해당 메커니즘을 지원하지 않는 경우 드라이버는 MONGODB-CR
을 사용하여 인증을 시도합니다.
연결 문자열 에서 authMechanism
매개 변수를 DEFAULT
로 설정하거나 매개 변수가 기본값 이므로 생략하여 기본값 인증 메커니즘 지정할 수 있습니다.
다음 예시 연결 문자열 에서 authMechanism
을 DEFAULT
로 설정하여 인증 메커니즘 기본값 으로 설정하다 방법을 보여 줍니다.
중요
사용자 이름과 비밀번호가 올바르게 구문 분석되도록 항상 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
참고
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
참고
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 문서
이 페이지에서 설명하는 메서드 또는 유형에 대해 자세히 학습 다음 API 설명서를 참조하세요.