포시코딩

[MongoDB] authSource, authMechanism (인증 데이터베이스와 인증 메커니즘) 본문

MongoDB

[MongoDB] authSource, authMechanism (인증 데이터베이스와 인증 메커니즘)

포시 2023. 8. 25. 09:30
728x90

mongodb URI를 통해 db에 연결할 때 URI format에 따라 접근 방식이 달라진다는 사실을 알게 되었다. 

 

MONGODB_URI=mongodb://root:{password}@localhost:27017/{dbname}?authSource=admin
MONGODB_URI=mongodb://root:{password}@localhost:27017/?authMechanism=DEFAULT

서버를 시작할 때 둘 다 DB와는 잘 연결되었기에 신경을 안썼는데 

 

{dbname}?authSource=admin

이 설정은 사용자 인증이 'admin' 데이터베이스에서 실행된다.
그리고 {dbname}이란 데이터베이스에 'root' 사용자로 인증하여 접속한다. 

 

?authMechanism=DEFAULT

이 설정의 경우 'DEFAULT'

즉, 기본 인증 메커니즘을 사용하여 'root' 사용자로 인증 후 접속한다. 

아마 MongoDB Compass 등 CLI를 사용할 때 위 URI를 자동으로 만들어주기 때문에 이쪽이 더 친숙할 것이다. 

 

framework를 통해 서버를 실행할 때 사용 DB가 없을 경우 자동으로 생성하는 로직이 있었는데 

어쩔땐 'test'로 만들어지고 어쩔땐 정상적으로 만들어져서 내내 의문이다가

위 설정에 따라 달라진다는 사실을 발견해 이렇게 기록한다. 

728x90