Azure DocumentDB는 특수한 읽기-쓰기 및 읽기 전용 역할이 있는 보조 네이티브 DocumentDB 사용자를 지원하여 데이터 액세스를 안전하게 위임할 수 있도록 합니다. 클러스터 프로비저닝 중에 만든 기본 제공 관리 계정에는 사용자 관리를 비롯한 모든 권한이 있습니다. 보조 사용자는 클러스터 복제본에 자동으로 복제되지만 사용자 관리는 주 클러스터에서 수행해야 합니다.
필수 조건
Azure 구독
- Azure 구독이 없는 경우 체험 계정 만들기
기존 Azure DocumentDB 클러스터
- 클러스터가 없는 경우 새 클러스터를 만듭니다.
MongoDB 셸. 자세한 내용은 MongoDB 셸 설치를 참조하세요.
클라이언트가 클러스터에 연결할 수 있도록 하는 방화벽 규칙입니다. 자세한 내용은 방화벽 구성을 참조하세요.
네이티브 역할
Azure DocumentDB는 다음 역할을 가진 보조 사용자를 위한 네이티브 역할 기반 액세스 제어를 지원합니다.
| Description | |
|---|---|
readWriteAnyDatabase |
데이터베이스 관리를 비롯한 전체 읽기/쓰기 권한 |
clusterAdmin |
데이터베이스 관리를 비롯한 전체 읽기/쓰기 권한 |
readAnyDatabase |
읽기 전용 권한 |
MongoDB 드라이버 또는 MongoDB Shell(mongosh)과 같은 도구를 사용하여 사용자 및 역할을 관리합니다.
비고
데이터베이스 관리 및 작업 권한이 모두 있는 전체 읽기-쓰기 사용자만 지원됩니다. 역할은 별도로 할당할 수 없습니다.
MongoDB 셸을 통해 인증 및 작업 수행
클러스터 프로비전 중에 만든 기본 제공 관리 계정을 사용하여 인증합니다. 이 계정에는 클러스터에 대한 독점적인 사용자 관리 권한(userAdmin)이 있습니다.
MongoDB 셸이 설치된 클라이언트에서 터미널을 엽니다.
Azure DocumentDB 클러스터의 이름과 현재 자격 증명을 가져옵니다.
팁 (조언)
연결 문자열 섹션을 사용하여 Azure Portal에서 클러스터에 대한 네이티브 연결 문자열을 가져올 수 있습니다.
다음 연결 문자열을 사용하여 연결합니다.
mongosh "mongodb+srv://<username>:<password>@<cluster-name>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
사용자 관리
명령을 실행하는 클러스터에 새 사용자를 만듭니다. 이 createUser 명령은 사용자가 이미 있는 경우 중복된 사용자 오류를 반환합니다.
데이터 평면 관리 사용자를 만듭니다.
db.runCommand( { createUser:"yourUserName", pwd : "yourPassword", roles : [ { role:"clusterAdmin",db:"admin" }, { role:"readWriteAnyDatabase", db:"admin" } ] } )읽기 전용 사용자를 만듭니다.
db.runCommand( { createUser:"yourUserName", pwd : "yourPassword", roles : [ { role:"readAnyDatabase",db:"admin" } ] } )명령을 실행하여 데이터베이스에서 사용자를 업데이트합니다
updateUser.use admin db.runCommand( { updateUser:"<username>", pwd : "<new cleartext password>" } )비고
이 명령은 암호 업데이트만 지원합니다.
클러스터에서 사용자를 제거합니다.
use admin db.runCommand( { dropUser:"<username>" } )클러스터의 모든 네이티브 사용자에 대한 세부 정보를 검색하거나 단일 사용자를 지정하여 역할 및 기타 특성에 대한 정보를 가져옵니다.
use admin db.runCommand( { usersInfo:1 } )
관련 콘텐츠
- Azure DocumentDB의 보안에 대해 알아보기
- 제한 사항 확인
- Azure DocumentDB의 Microsoft Entra ID에 대해 알아보기