꾸물꾸물 졔의 개발공부

MongoDB - 사용자 추가 및 인증 추가 본문

Database/MongoDB

MongoDB - 사용자 추가 및 인증 추가

체제 2022. 11. 24. 11:14
  • Ubuntu 20.04 LTS 
 

MongoDB - Ubuntu 20.04 설치

Ubuntu 20.04 LTS 1. MongoDB public GPG key $ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 다음 명령어를 통해 public key 를 불러온다. ubuntu 패스워드를 입력하는 창이 나오지만, 나는 root 계

jiko1456.tistory.com

$ mongo 로 실행되는 MongoDB 는 다른 RDB와 달리 별도의 인증절차를 진행하지 않는다. 

이러한 이유 때문에 몽고디비는 되도록이면 보안에 문제가 되지 않는 환경에서 보안모델 없이 진행하지만, 다양한 보안 문제가 발생할 수 있기 때문에 ID-PW 로 인증과정을 추가하였다. 

 

 

MongoDB 에 접속 

$ mongo

mongo에 접속하게 되면, 별도의 보안 모델이 없는 MongoDB server 를 실행하게 된다. 

 

 

MongoDB의 'admin' 데이터베이스에 사용자 추가 

> use admin
> db.createUser({
  user:'username',
  pwd:'password',
  roles:['root']
 })

db.createUser 명령어를 통해 현재 데이터베이스에 사용자를 추가.

사용자명, 비밀번호, 권한(array 형태) 를 정의하는데, 모든 권한을 가지게 하기위해 root 권한을 주었다. 

 

 

설정파일 변경

mongod 실행시, /etc/mongod.conf 의 conf 파일을 읽어들여 실행되는데, 보안설정을 위해 해당 파일을 수정하여야 한다.

$ sudo vi /etc/mongod.conf

관리자모드로 해당 파일 편집기를 연다. ( vi 명령어 ) 

#security:
security:
  authorization: 'enabled'

# security 부분을 authorization: 'enabled' 로 변경하고, :wq로 저장하고 나온다. 

 

 

 

MongoDB를 재시작하고 $mongo 로 접속 ( * user명을 o2a4 로 지정하였다. )

$ sudo systemctl restart mongod
> use o2a4
> show databases

비밀번호 입력 x

- 다음 명령어를 입력하면 databases 의 목록을 보여주지 않는다.

- 보안 설정을 하였기 때문에 비밀번호 입력을 하여 mongo 에 접속해야 한다. 

 

  •  비밀번호 입력하여 mongo 접속 
$ mongo -u o2a4 -p password 
> show databases

- $ mongo -u o2a4 -p password 

- username 과 password 를 입력하여 mongod 에 접속하고 show databases 

보인다 !!! 

 

 

 

 

+ 추가

위의 방법은 mongo 쉘에 접속하는 동시에 인증을 거치는 것이다.

또 하나의 방법은 쉘에 접속한 후에 db.auth() 로 인증을 거치는 것이다. 

$ mongo
> use admin
> db.auth('username','password')
1

admin 데이터베이스에 만든 사용자 이기 때문에 admin 에 접근한 후, db.auth 에 사용자명과 비밀번호를 넣는다.

1이 나오면 인증 성공 ( 0은 실패 )

'Database > MongoDB' 카테고리의 다른 글

[MongoDB] 샤딩(Sharding)이란  (0) 2023.05.12
Springboot에서 MongoDB 연동  (0) 2022.11.24
MongoDB - MongoDB Compass 설치 및 연결  (0) 2022.11.24
MongoDB - Ubuntu 20.04에 MongoDB설치  (0) 2022.11.24