본문 바로가기
IT Tech/MongoDB

MongoDB 인증 설정

by 알아봉봉 2019. 12. 3.
반응형
반응형

MongoDB 인증 설정 관련하여 해당 글은 MongoDB 4.2.1 ver 기준으로 작성되었습니다.

 

MongoDB를 처음 설치하면 기본적으로 패스워드 없이 접속이 가능합니다.

기본 설정이 MongoDB가 설치된 서버의 로컬(127.0.0.1)에서만 접근할 수 있으나

외부 서비스와의 연동을 위해 외부 접근을 허용하면 보안에 위협이 될 수 있습니다.

 

이에 MongoDB 인증(Authentication) 모드 설정에 대해 이야기 드리려고 합니다.

 

1. MongoDB shell 접속

반응형
$mongo

 

2. admin user 생성

반응형
>use admin
switched to db admin

>db.createUser({
	user: "username"	//사용하려는 username
    pwd: "password"		//사용하려는 password
    roles: [ { role: 'root', db: 'admin' } ] 
})

 

참고1) 이미 생성된 user의 role을 변경하고 싶을 경우

>use admin
switched to db admin
>db.grantRolesToUser('admin', [{ role: 'root', db: 'admin' }])

 

참고2) User정보 확인 하고 싶을 경우

>use admin //확인할 database로 이동
switched to db admin
>db.getUsers()

 

참고3) ID/PW 가 정상적으로 인증이 가능한 상태인지 확인 하는 방안

>use admin
>db.auth("username","password")		//생성하였던 username, password를 각 입력

#1 이 return 될 시 정상
#ID/PW가 틀린 경우 아래 메세지 출력
Error: Authentication failed.
0

 

 

3. mongoauth 설정

반응형
$sudo vi /etc/mongod.conf	//root 권한이 있을경우 sudo생략가능

/etc/mongod.conf 파일에 아래 내용 추가

security:
  authorization: enabled	# off시 authorization: disabled

 

4. mongoDB 재시작

반응형
#ubuntu 기준 재시작 및 mongo service 상태 확인 방안

//재시작
$service mongod restrat

//service 상태 확인방안
$service mongod status

 

5. Auth 적용 이후 bashshell접속방법

반응형
>mongo admin -u username -p 'password' --authenticationDatabase admin
#mongo <접속할 db name> -u "<ID> -p <PWD> --authenticationDatabase <auth확인 DB>

 

반응형

'IT Tech > MongoDB' 카테고리의 다른 글

MongoDB 컬렉션 및 필드명 변경하기  (0) 2020.04.20
MongoDB query log 설정방법  (0) 2019.12.19
Ubuntu 에 MongoDB 설치하기  (0) 2019.11.18

댓글