2022. 2. 8. 23:30ㆍDev/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
[MongoDB] 인증(authorization) 추가하기
일반적인 RDB의 경우, 설치와 동시에 root 비밀번호를 생성하고 즉시 인증 체계를 생성합니다. 그러나 mongod 커맨드를 입력하여 켤 수 있는 MongoDB Server는 기본적으로 보안 모델이 없이 실행됩니다.
planbs.tistory.com
'Dev > Etc' 카테고리의 다른 글
[MySQL] 특정 DB에 유저 생성 및 권한 부여 (0) | 2022.03.24 |
---|---|
[Raspberry pi] Ubuntu server 설치 - 모니터, 마우스, 키보드 필요 없음 (0) | 2022.02.09 |
[Docker DB]Docker에서 Postgres, MongoDB, Redis 구동하기 (0) | 2022.02.08 |
[PostgreSQL] SQL 명령어 관련 (0) | 2022.01.24 |
[Mac OS] Homebrew 관련 명령어 정리 (0) | 2022.01.15 |