[MongoDB] Authentication 인증 추가

2022. 2. 8. 23:30Dev/Etc

Authentication의 필요성

보안을 위해.. Remote DB에 접속할 때 해킹을 막기 위함이다.

기본적으로 mongo는 admin이라는 db가 존재하는데, 여기에 사용자를 추가하면 된다.

> use admin
> db.createUser({
	user: '[유저이름]',
    pwd: '[패스워드]',
    roles: ['[...관련 롤]'],
 })

역할은 아래의 링크를 참조

https://docs.mongodb.com/manual/reference/built-in-roles/#database-administration-roles

 

Built-In Roles — MongoDB Manual

Docs Home → MongoDB ManualMongoDB grants access to data and commands through role-based authorization and provides built-in roles that provide the different levels of access commonly needed in a database system. You can additionally create user-defined r

docs.mongodb.com

 

Mongo Auth 설정

auth를 적용하기 위해, /etc/mongod.conf를 아래와 같이 수정해야 한다.

...
security:
    authorization: enabled
...

 

유저 인증으로 접속하기

1. mongo shell에서 인증하기

mongo
> use admin
> db.auth('[유저이름]', '[패스워드]')
> 1 //성공

 

2. 접속할때 바로 인증

mongo -u [유저이름] -p [비밀번호] --authenticationDatabase admin
mongo "mongodb://[유저이름]:[비밀번호]@[호스트]:[포트]/"

 


Reference

https://planbs.tistory.com/entry/MongoDB-%EC%9D%B8%EC%A6%9Dauthorization-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0

 

[MongoDB] 인증(authorization) 추가하기

일반적인 RDB의 경우, 설치와 동시에 root 비밀번호를 생성하고 즉시 인증 체계를 생성합니다. 그러나 mongod 커맨드를 입력하여 켤 수 있는 MongoDB Server는 기본적으로 보안 모델이 없이 실행됩니다.

planbs.tistory.com