사용자 및 역할 관리
Databases for MongoDB 배포에는 인증이 활성화되어 있으며 MongoDB's 역할 기반 액세스 제어가 사용됩니다.
Cloud Databases CLI 플러그인 또는 Cloud Databases API 를 사용하여 _서비스 신임 정보_의 UI에서 사용자를 추가하십시오.
admin 사용자
Databases for MongoDB 배치를 프로비저닝할 때 admin 사용자가 자동으로 작성됩니다.
연결에 사용하기 전에 admin 비밀번호를 설정하십시오.
admin 사용자에게는 다음 권한이 있습니다:
-
userAdminAnyDatabase는local및config를 제외한 모든 데이터베이스에서userAdmin와 동일한 권한을 제공합니다.userAdminAnyDatabase는 관리 사용자에게 관리 권한을 제공합니다. 이는 전체적으로 클러스터에서listDatabases조치를 제공합니다.userAdminAnyDatabase를 사용하여 MongoDB 기본 제공 역할을 포함하여 배치의 다른 사용자에게 역할을 작성하고 부여 하십시오. 예를 들어, 배치를 모니터하려면admin를 사용하여 mongo쉘에 로그인하고clusterMonitor역할을 임의의 사용자 (자체 포함) 에게 부여하십시오. 다음과 같은 명령을 사용하십시오.db.grantRolesToUser( "admin", [ { role: "clusterMonitor", db: "admin" } ] ) -
readWriteAnyDatabase는local및config를 제외한 모든 데이터베이스에서readWrite와 동일한 특권을 제공합니다. -
dbAdminAnyDatabase는local및config를 제외한 모든 데이터베이스에서dbAdmin와 동일한 특권을 제공합니다.
UI에서 관리자 비밀번호 설정하기
IBM Cloud 리소스 목록에서 인스턴스를 선택해 UI를 통해 관리자 비밀번호를 설정합니다. 그런 다음 설정을 선택하십시오. 그런 다음 데이터베이스 관리자 비밀번호 변경을 선택하십시오.
CLI에서 관리자 비밀번호 설정하기
IBM Cloud CLI Cloud Databases 플러그인에서 cdb user-password 명령을 사용하여 관리 비밀번호를 설정하십시오.
예를 들어 배포에 대한 관리자 비밀번호를 설정하려면 다음 명령을 사용합니다:
ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>
API에서 관리자 비밀번호 설정하기
서비스의 개요 패널 배포 세부 정보 섹션에 표시되는 파운데이션 엔드포인트는 API를 통해 이 배포에 액세스할 수 있는 기본 URL을 제공합니다. 지정된 사용자의 비밀번호 설정 엔드포인트와 함께 사용하여 관리 비밀번호를 설정하십시오.
curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \
UI를 통해 사용자 및 역할 관리하기
- 서비스의 서비스 대시보드로 이동하십시오.
- _서비스 인증 정보_를 클릭하여 서비스 인증 정보 섹션을 여십시오.
- __새 신임 정보__를 클릭하십시오.
- 새 인증 정보에 대한 설명 이름을 선택하십시오.
- (선택사항) 새 인증 정보가 공용 또는 개인용 엔드포인트를 사용하는지를 지정하십시오. 인라인 구성 매개변수 추가 필드에서
{ "service-endpoints": "public" }/{ "service-endpoints": "private" }를 사용하여 지정된 엔드포인트를 사용하는 연결 문자열을 생성하십시오. 엔드포인트 사용은 적용되지 않습니다. 연결 호스트에 있는 호스트 이름을 제어할 뿐입니다. 공용 엔드포인트는 기본적으로 생성됩니다. - _추가_를 클릭하여 새 자격 증명을 프로비저닝합니다. 사용자 이름과 비밀번호 및 연관된 MongoDB 사용자는 자동 생성됩니다.
새 인증 정보가 테이블에 표시되며 연결 문자열은 인증 정보 보기 아래의 click-to-copy 필드에서 JSON으로 사용 가능합니다.
CLI 또는 API에서 사용자를 작성해도 사용자의 연결 문자열이 _서비스 인증 정보_에 자동으로 채워지지 않습니다. 추가하려는 경우 기존 사용자 정보로 새 인증 정보를 작성할 수 있습니다. _인라인 구성 매개변수 추가_의 JSON 필드에 사용자 이름과 비밀번호를 입력하십시오. 예: {"existing_credentials":{"username":"Robert","password":"supersecure"}}.
기본적으로 사용자 이름과 비밀번호를 입력하면 _서비스 자격증명_에서 자격 증명을 입력한 연결 문자열을 생성합니다.
기존 사용자의 인증 정보를 생성해도 해당 사용자를 확인하거나 작성하지 않습니다.
_서비스 신임 정보_를 통해 작성 하는 사용자에게는 readWriteAnyDatabase 및 dbAdminAnyDatabase역할이 부여됩니다.
_서비스 인증 정보_에서 작성된 사용자에게 다른 역할이 필요한 경우 admin 사용자를 사용하여 역할을 변경할 수 있습니다.
CLI를 통해 사용자 및 역할 관리하기
CLI에서 작성된 사용자에게는 readWriteAnyDatabase 및 dbAdminAnyDatabase역할이 부여됩니다.
사용자에게 다른 역할이 필요한 경우 admin 사용자를 사용하여 역할을 변경할 수 있습니다.
CLI에서 직접 만든 사용자는 _서비스 자격 증명_에 표시되지 않지만 추가할 수 있습니다.
- Cloud Databases CLI 플러그인 을 통해 서비스를 관리하는 경우
cdb user-create로 새 사용자를 작성하십시오. 예를 들어 배포를 위한 새 사용자를 만들려면 다음 명령을 사용합니다:
ibmcloud cdb user-create <INSTANCE_NAME_OR_CRN> <NEWUSERNAME> <NEWPASSWORD>
-
작업이 완료되면
ibmcloud cdb deployment-connections명령으로 새 사용자의 연결 문자열을 검색합니다. -
MongoDB는
admin데이터베이스의 사용자 데이터를 중앙집중화합니다.show users명령을 사용하여 모든 사용자와 해당 역할 및 데이터베이스 권한 몽고 껍질에을 나열합니다.
ibmcloud cdb deployment-connections --start -u admin mongodb-production
Database Password>>
MongoDB shell version v4.0.3
connecting to: mongodb://....
....
replset:PRIMARY> use admin
switched to db admin
replset:PRIMARY> show users
API를 통해 사용자 및 역할 관리하기
API에서 작성된 사용자에게는 readWriteAnyDatabase 및 dbAdminAnyDatabase역할이 부여됩니다.
사용자에게 다른 역할이 필요한 경우 관리자 사용자를 사용하여 역할을 변경하세요.
API에서 직접 생성한 사용자는 _서비스 자격 증명_에 표시되지 않지만 추가할 수 있습니다.
서비스의 개요 섹션에 표시되는 _기반 엔드포인트_는 API를 통해 이 배치에 액세스하기 위한 기본 URL을 제공합니다. 사용자를 작성 및 관리하려면 /users 엔드포인트에서 기본 URL을 사용하십시오.
명령은 다음과 같습니다.
curl -X POST https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/{user_type}
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"user": {"username": "user", "password": "v3ry-1-secUre-pAssword-2"}}' \
사용자의 연결 문자열을 검색하려면 /users/{userid}/connections 엔드포인트에서 기본 URL을 사용하십시오.
MongoDB-created 사용자 및 역할
기본 제공 사용자 및 역할이 사용자 환경에 적합하지 않은 경우 사용자 및 역할 만들기에서 직접 MongoDB에서 사용자와 역할을 만드세요. 배치의 admin 사용자에게는 배치에서 사용할 역할 또는 권한 세트를 작성할 권한이 있습니다.
MongoDB에서 직접 작성된 사용자와 역할은 _서비스 인증 정보_에 표시되지 않으며 IBM Cloud 계정 또는 IAM과 통합되지 않습니다.
ibm 사용자
몽고 셸을 사용하여 배포의 사용자를 나열하는 경우 ibm 이라는 이름의 사용자를 볼 수 있습니다. ibm 사용자는 복제, 클러스터 오퍼레이션 및 배치의 안정성을 보장하는 기타 기능을 관리하는 내부 루트 계정입니다. ibm 사용자로 변경하거나 삭제하는 것은 권장되지 않으며 배포의 안정성을 저해할 수 있습니다.
MongoDB Enterprise Edition의 ops_manager 사용자
Ops Manager는 Databases for MongoDB Enterprise Edition 배치에서만 사용 가능합니다. ops_manager 사용자 유형에는 제한된 권한이 있습니다. 자세한 정보는 Ops Manager 문서 를 참조하십시오.