반응형
반응형
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 |
댓글