다음을 통해 공유


Azure Cosmos DB for MongoDB vCore에서 보조 사용자를 사용하여 읽기 및 읽기/쓰기 권한(미리 보기)

Azure Cosmos DB for MongoDB vCore는 이제 특수 읽기-쓰기 역할이 있는 보조 사용자를 지원합니다. 이 기능을 사용하면 보조 사용자가 데이터에 액세스하고 수정할 수 있으므로 데이터 보안을 강화하면서 책임을 보다 쉽게 위임할 수 있습니다. 세분화된 액세스 제어를 허용함으로써 팀은 시스템 무결성을 손상시키지 않고 개발자 및 분석가와 같은 다양한 이해 관계자에게 데이터 액세스를 자신 있게 확장할 수 있습니다.

보조 사용자 구성

참고 항목

미리 보기 단계에서 ARM 템플릿을 사용하거나 Azure CLI를 통해 이 기능을 사용하거나 사용하지 않도록 설정할 수 있습니다.

Azure CLI 사용

    az resource patch --ids "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDB/mongoClusters/{ClusterName}" --api-version 2024-10-01-preview --properties "{\"previewFeatures\": [\"GeoReplicas\", \"EnableReadOnlyUser\"]}"

ARM 템플릿 사용

"previewFeatures": {
            "value": [
                "EnableReadOnlyUser"
            ]
        }

지원되는 명령 및 예제

MongoDB vCore는 이제 읽기 및 쓰기 권한이 있는 보조 사용자를 위해 RBAC(역할 기반 액세스 제어)를 지원합니다. 이를 통해 관리자는 기본 데이터 무결성을 보호하면서 필수 읽기 작업을 위해 보조 데이터베이스에 대한 액세스 권한을 부여하는 역할을 할당할 수 있습니다.

참고 항목

MongoDB 드라이버 또는 mongotools(예: mongosh)를 사용하여 이러한 작업을 수행할 수 있습니다.

Mongosh를 통해 인증 및 작업 수행

mongosh mongodb+srv://<YOUR_USERNAME>:<YOUR_PASSWORD>@>YOUR_HOST>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000

참고 항목

Azure Portal의 네트워킹 설정에서 클라이언트 IP를 허용 목록에 추가해야 합니다.

CreateUser

명령을 실행하는 데이터베이스에 새 사용자를 만듭니다. 이 createUser 명령은 사용자가 있는 경우 중복된 사용자 오류를 반환합니다.

데이터 관리자 역할

use admin
db.runCommand(
    {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
            { role:"clusterAdmin",db:"admin" },
            { role:"readWriteAnyDatabase", db:"admin" }
        ]
    }
)

ReadOnly 역할

use 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>"
    }
)

사용자 나열

하나 이상의 사용자에 대한 정보를 반환합니다. 또한 단일 사용자를 usersInfo에 전달할 수도 있습니다. 이 경우 사용자, 해당 역할 등에 대한 정보를 반환합니다.

use admin
db.runCommand(
    {
        usersInfo:1
    }
)

제한 사항

  • 클러스터당 최대 10명의 사용자/역할을 만들 수 있습니다. 사용자를 더 추가해야 하는 경우 지원 티켓을세요.
  • 이제 명령은 Updateuser 암호 업데이트만 지원하며 다른 개체 필드를 수정할 수 없습니다.
  • Roleinfo 명령은 미리 보기에서 지원되지 않습니다. 또는 .를 사용할 usersInfo수 있습니다.
  • 특정 데이터베이스 또는 컬렉션에 역할을 할당하기 위한 RBAC 지원은 아직 지원되지 않습니다.