Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

db.auth()

이 페이지의 내용

  • 정의
  • 구문
  • 행동
  • 예시
db.auth()

사용자가 셸 내에서 데이터베이스에 인증할 수 있도록 허용합니다.

메서드/명령 호출에서 비밀번호를 직접 지정하는 대신 passwordPrompt() 메서드를 다양한 사용자 인증/관리 메서드/명령과 함께 사용하여 비밀번호를 묻는 메시지를 표시할 수 있습니다. 그러나 이전 버전의 mongo 셸에서와 마찬가지로 비밀번호를 직접 지정할 수 있습니다.

db.auth(<username>, <password>) 구문을 사용하고 비밀번호를 생략하면 사용자에게 비밀번호를 입력하라는 메시지가 표시됩니다.

db.auth()의 구문 형식은 다음과 같습니다.

둘 중 하나를 수행하면 됩니다.

  • 사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 비밀번호를 생략합니다.

    db.auth( <username> )
  • 사용자에게 비밀번호를 입력하라는 메시지를 표시하려면 passwordPrompt()를 사용하세요.

    db.auth( <username>, passwordPrompt() )
  • 일반 텍스트 비밀번호를 지정합니다.

    db.auth( <username>, <password> )
db.auth( {
user: <username>,
pwd: passwordPrompt(), // Or "<cleartext password>"
mechanism: <authentication mechanism>,
digestPassword: <boolean>
} )
Parameter
유형
설명
user
문자열
데이터베이스에 대한 액세스 권한이 있는 사용자의 이름입니다.
pwd
문자열

사용자의 비밀번호입니다. 값은 다음 중 하나일 수 있습니다.

  • 일반 텍스트 문자열로 된 사용자의 비밀번호

  • passwordPrompt() 은(는) 사용자의 비밀번호를 묻는 메시지를 표시합니다.

    메서드/명령 호출에서 암호를 직접 지정하는 대신 passwordPrompt() 메서드를 다양한 사용자 인증/관리 메서드/명령과 함께 사용하여 암호를 묻는 메시지를 표시할 수 있습니다. 그러나 이전 버전의 mongo 셸에서와 마찬가지로 비밀번호를 직접 지정할 수도 있습니다.

mechanism
문자열

선택 사항입니다. 사용할 authentication mechanism입니다.

사용 가능한 메커니즘은 authentication mechanisms 를 참조하세요.

지정하지 않은 경우 hello 명령을 사용하여 지정된 사용자에 대한 SASL 메커니즘을 확인합니다. saslSupportedMechs를 참조하세요.

digestPassword
부울

선택 사항입니다. 제공된 비밀번호를 지정된 인증 메커니즘과 함께 사용하기 전에 사전 해시해야 하는지 여부를 결정합니다.

  • SCRAM-SHA-1의 경우 true를 지정할 수 있지만 이 값을 true로 설정해도 보안이 향상되지 않으며 다른 메커니즘을 사용하는 자격 증명을 방해할 수 있습니다.

  • 다른 모든 방법의 경우 이 값을 false(기본값)로 설정하셔야 합니다. 다른 값을 사용하면 해당 메서드는 MongoDB 사전 해싱을 이해하지 못하므로 인증에 실패하게 됩니다.

기본값은 false입니다.

참고

mongosh는 저장된 기록에서 모든 db.auth() 작업을 제외합니다.

반환
db.auth()는 인증에 성공하지 못하면 0을 반환하고, 인증에 성공하면 1을 반환합니다.

MongoDB 4.2부터 db.auth()를 발급한 클라이언트가 작업이 완료되기 전에 연결을 끊는 경우, MongoDB는 db.auth()를 사용하여 를killOp을 종료로 표시합니다.

메서드/명령 호출에서 암호를 직접 지정하는 대신 passwordPrompt() 메서드를 다양한 사용자 인증/관리 메서드/명령과 함께 사용하여 암호를 묻는 메시지를 표시할 수 있습니다. 그러나 이전 버전의 mongo 셸에서와 마찬가지로 비밀번호를 직접 지정할 수도 있습니다.

db.auth(<username>, <password>) 구문을 사용하고 비밀번호를 생략하면 사용자에게 비밀번호를 입력하라는 메시지가 표시됩니다.

mongosh 연결 후 인증하려면 사용자의 인증 데이터베이스에서 db.auth()을 실행하세요.

use test
db.auth( "myTestDBUser", passwordPrompt() )

사용자에게 비밀번호를 입력하라는 메시지를 표시하기 위해 password 값을 완전히 생략할 수 있습니다.

use test
db.auth( "myTestDBUser" )

MongoDB 5.0 부터 연결에 --apiStrict 옵션이 지정된 경우 db.auth() 메서드를 사용하여 다음을 수행할 수 없습니다.

  • 동일한 데이터베이스에서 동일한 사용자로 다시 인증합니다.

  • 동일한 데이터베이스에서 이전에 인증된 경우 다른 사용자로 인증합니다.

  • 이전에 다른 데이터베이스에서 인증한 경우 새 데이터베이스로 인증합니다.

또는 mongosh의 명령줄 옵션 --username, --password, --authenticationDatabase--authenticationMechanism을 사용하여 mongosh를 연결할 때 인증 자격 증명을 지정할 수 있습니다.

mongosh --username "myTestDBUser" --password --authenticationDatabase test --authenticationMechanism SCRAM-SHA-256

돌아가기

사용자 관리

이 페이지의 내용