다음을 통해 공유


Microsoft.DocumentDB mongoClusters/users

Bicep 리소스 정의

mongoClusters/users 리소스 종류는 다음을 대상으로 하는 작업을 사용하여 배포할 수 있습니다.

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.DocumentDB/mongoClusters/users 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.

resource symbolicname 'Microsoft.DocumentDB/mongoClusters/users@2025-09-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    identityProvider: {
      type: 'string'
      // For remaining properties, see IdentityProvider objects
    }
    roles: [
      {
        db: 'string'
        role: 'string'
      }
    ]
  }
}

IdentityProvider 개체

형식 속성을 설정하여 개체의 형식을 지정합니다.

MicrosoftEntraID의 경우 다음을 사용합니다.

{
  properties: {
    principalType: 'string'
  }
  type: 'MicrosoftEntraID'
}

속성 값

Microsoft.DocumentDB/mongoClusters/사용자

이름 설명 가치
이름 리소스 이름 문자열

제약 조건:
최소 길이 = 1
최대 길이 = 63
패턴 = ^[a-zA-Z0-9\-]*(필수)
부모 Bicep에서 자식 리소스에 대한 부모 리소스를 지정할 수 있습니다. 자식 리소스가 부모 리소스 외부에서 선언된 경우에만 이 속성을 추가해야 합니다.

자세한 내용은 부모 리소스외부의 자식 리소스 참조하세요.
형식 리소스의 기호 이름: mongoClusters
속성 이 리소스에 대한 리소스별 속성입니다. userProperties

데이터베이스 역할

이름 설명 가치
데이터베이스 역할이 할당된 데이터베이스 범위입니다. string(필수)
역할 데이터베이스 범위에서 사용자에게 할당된 역할입니다. 'root' (필수)

엔트라아이덴티티제공자

이름 설명 가치
속성 사용자의 Entra ID 속성입니다. EntraIdentityProviderProperties (필수)
유형 사용자가 속한 ID 공급자의 유형입니다. 'MicrosoftEntraID'(필수)

EntraIdentityProvider속성

이름 설명 가치
주체 유형 사용자의 보안 주체 유형입니다. '서비스 주체'
'user'(필수)

신원 제공자

이름 설명 가치
유형 EntraIdentityProvider 형식에 대해 'MicrosoftEntraID'로 설정합니다. 'MicrosoftEntraID'(필수)

사용자 속성

이름 설명 가치
아이덴티티제공자 사용자의 ID 공급자 정의입니다. 아이덴티티 프로바이더
역할 사용자에게 할당된 데이터베이스 역할입니다. 데이터베이스 역할[]

ARM 템플릿 리소스 정의

mongoClusters/users 리소스 종류는 다음을 대상으로 하는 작업을 사용하여 배포할 수 있습니다.

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.DocumentDB/mongoClusters/users 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.

{
  "type": "Microsoft.DocumentDB/mongoClusters/users",
  "apiVersion": "2025-09-01",
  "name": "string",
  "properties": {
    "identityProvider": {
      "type": "string"
      // For remaining properties, see IdentityProvider objects
    },
    "roles": [
      {
        "db": "string",
        "role": "string"
      }
    ]
  }
}

IdentityProvider 개체

형식 속성을 설정하여 개체의 형식을 지정합니다.

MicrosoftEntraID의 경우 다음을 사용합니다.

{
  "properties": {
    "principalType": "string"
  },
  "type": "MicrosoftEntraID"
}

속성 값

Microsoft.DocumentDB/mongoClusters/사용자

이름 설명 가치
API버전 api 버전 '2025-09-01'
이름 리소스 이름 문자열

제약 조건:
최소 길이 = 1
최대 길이 = 63
패턴 = ^[a-zA-Z0-9\-]*(필수)
속성 이 리소스에 대한 리소스별 속성입니다. userProperties
유형 리소스 종류 'Microsoft.DocumentDB/mongoClusters/사용자'

데이터베이스 역할

이름 설명 가치
데이터베이스 역할이 할당된 데이터베이스 범위입니다. string(필수)
역할 데이터베이스 범위에서 사용자에게 할당된 역할입니다. 'root' (필수)

엔트라아이덴티티제공자

이름 설명 가치
속성 사용자의 Entra ID 속성입니다. EntraIdentityProviderProperties (필수)
유형 사용자가 속한 ID 공급자의 유형입니다. 'MicrosoftEntraID'(필수)

EntraIdentityProvider속성

이름 설명 가치
주체 유형 사용자의 보안 주체 유형입니다. '서비스 주체'
'user'(필수)

신원 제공자

이름 설명 가치
유형 EntraIdentityProvider 형식에 대해 'MicrosoftEntraID'로 설정합니다. 'MicrosoftEntraID'(필수)

사용자 속성

이름 설명 가치
아이덴티티제공자 사용자의 ID 공급자 정의입니다. 아이덴티티 프로바이더
역할 사용자에게 할당된 데이터베이스 역할입니다. 데이터베이스 역할[]

사용 예제

Terraform(AzAPI 공급자) 리소스 정의

mongoClusters/users 리소스 종류는 다음을 대상으로 하는 작업을 사용하여 배포할 수 있습니다.

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.DocumentDB/mongoClusters/users 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/mongoClusters/users@2025-09-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      identityProvider = {
        type = "string"
        // For remaining properties, see IdentityProvider objects
      }
      roles = [
        {
          db = "string"
          role = "string"
        }
      ]
    }
  }
}

IdentityProvider 개체

형식 속성을 설정하여 개체의 형식을 지정합니다.

MicrosoftEntraID의 경우 다음을 사용합니다.

{
  properties = {
    principalType = "string"
  }
  type = "MicrosoftEntraID"
}

속성 값

Microsoft.DocumentDB/mongoClusters/사용자

이름 설명 가치
이름 리소스 이름 문자열

제약 조건:
최소 길이 = 1
최대 길이 = 63
패턴 = ^[a-zA-Z0-9\-]*(필수)
부모 ID 이 리소스의 부모인 리소스의 ID입니다. 형식의 리소스 ID: mongoClusters
속성 이 리소스에 대한 리소스별 속성입니다. userProperties
유형 리소스 종류 "Microsoft.DocumentDB/mongoClusters/users@2025-09-01"

데이터베이스 역할

이름 설명 가치
데이터베이스 역할이 할당된 데이터베이스 범위입니다. string(필수)
역할 데이터베이스 범위에서 사용자에게 할당된 역할입니다. 'root' (필수)

엔트라아이덴티티제공자

이름 설명 가치
속성 사용자의 Entra ID 속성입니다. EntraIdentityProviderProperties (필수)
유형 사용자가 속한 ID 공급자의 유형입니다. 'MicrosoftEntraID'(필수)

EntraIdentityProvider속성

이름 설명 가치
주체 유형 사용자의 보안 주체 유형입니다. '서비스 주체'
'user'(필수)

신원 제공자

이름 설명 가치
유형 EntraIdentityProvider 형식에 대해 'MicrosoftEntraID'로 설정합니다. 'MicrosoftEntraID'(필수)

사용자 속성

이름 설명 가치
아이덴티티제공자 사용자의 ID 공급자 정의입니다. 아이덴티티 프로바이더
역할 사용자에게 할당된 데이터베이스 역할입니다. 데이터베이스 역할[]

사용 예제

Terraform 샘플

MongoDB (vCore) 사용자를 위한 Azure Cosmos DB를 배포하는 기본 예시입니다.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus3"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "userAssignedIdentity" {
  type                      = "Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31"
  parent_id                 = azapi_resource.resourceGroup.id
  name                      = var.resource_name
  location                  = var.location
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_client_config" "current" {}

resource "azapi_resource" "mongoClusterSSDv2" {
  type      = "Microsoft.DocumentDB/mongoClusters@2025-09-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-ssdv2"
  location  = var.location
  body = {
    properties = {
      authConfig = {
        allowedModes = ["MicrosoftEntraID"]
      }
      compute = {
        tier = "M30"
      }
      highAvailability = {
        targetMode = "Disabled"
      }
      serverVersion       = "6.0"
      publicNetworkAccess = "Disabled"
      sharding = {
        shardCount = 1
      }
      storage = {
        sizeGb = 64
        type   = "PremiumSSDv2"
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "mongoUser_EntraServicePrincipal" {
  type      = "Microsoft.DocumentDB/mongoClusters/users@2025-09-01"
  name      = azapi_resource.userAssignedIdentity.output.properties.principalId
  parent_id = azapi_resource.mongoClusterSSDv2.id

  body = {
    properties = {
      roles = [
        {
          role = "root"
          db   = "admin"
        }
      ]
      identityProvider = {
        type = "MicrosoftEntraID"
        properties = {
          principalType = "ServicePrincipal"
        }
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}