다음을 통해 공유


Microsoft.DocumentDB 데이터베이스계정/mongodb사용자 정의 2024-05-15

Bicep 리소스 정의

databaseAccounts/mongodbUserDefinitions 리소스 종류는 다음을 대상으로 하는 작업과 함께 배포할 수 있습니다.

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

리소스 형식

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

resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions@2024-05-15' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    customData: 'string'
    databaseName: 'string'
    mechanisms: 'string'
    password: 'string'
    roles: [
      {
        db: 'string'
        role: 'string'
      }
    ]
    userName: 'string'
  }
}

속성 값

Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions

이름 묘사
이름 리소스 이름 string(필수)
부모 Bicep에서 자식 리소스에 대한 부모 리소스를 지정할 수 있습니다. 자식 리소스가 부모 리소스 외부에서 선언된 경우에만 이 속성을 추가해야 합니다.

자세한 내용은 부모 리소스외부의 자식 리소스 참조하세요.
형식 리소스의 기호 이름: databaseAccounts
속성 Azure Cosmos DB Mongo 사용자 정의를 만들고 업데이트하는 속성입니다. MongoUserDefinitionResource

MongoUserDefinitionResource

이름 묘사
customData USer 정의에 대한 사용자 지정 정의입니다. 문자열
데이터베이스 이름 이 사용자 정의에 대한 액세스 권한이 부여되는 데이터베이스 이름입니다. 문자열
메커니즘 Mongo 인증 메커니즘입니다. 지금은 인증 메커니즘 SCRAM-SHA-256만 지원합니다. 문자열
암호 사용자 정의의 암호입니다. 응답에 사용자 암호가 포함되어 있지 않습니다. 문자열
역할 사용자 정의에서 상속하는 역할 집합입니다. 역할[]
사용자 이름 사용자 정의의 사용자 이름입니다. 문자열

역할

이름 묘사
데이터베이스 역할이 적용되는 데이터베이스 이름입니다. 문자열
역할 역할 이름입니다. 문자열

ARM 템플릿 리소스 정의

databaseAccounts/mongodbUserDefinitions 리소스 종류는 다음을 대상으로 하는 작업과 함께 배포할 수 있습니다.

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

리소스 형식

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

{
  "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions",
  "apiVersion": "2024-05-15",
  "name": "string",
  "properties": {
    "customData": "string",
    "databaseName": "string",
    "mechanisms": "string",
    "password": "string",
    "roles": [
      {
        "db": "string",
        "role": "string"
      }
    ],
    "userName": "string"
  }
}

속성 값

Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions

이름 묘사
API버전 api 버전 '2024-05-15'
이름 리소스 이름 string(필수)
속성 Azure Cosmos DB Mongo 사용자 정의를 만들고 업데이트하는 속성입니다. MongoUserDefinitionResource
리소스 종류 'Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions'

MongoUserDefinitionResource

이름 묘사
customData USer 정의에 대한 사용자 지정 정의입니다. 문자열
데이터베이스 이름 이 사용자 정의에 대한 액세스 권한이 부여되는 데이터베이스 이름입니다. 문자열
메커니즘 Mongo 인증 메커니즘입니다. 지금은 인증 메커니즘 SCRAM-SHA-256만 지원합니다. 문자열
암호 사용자 정의의 암호입니다. 응답에 사용자 암호가 포함되어 있지 않습니다. 문자열
역할 사용자 정의에서 상속하는 역할 집합입니다. 역할[]
사용자 이름 사용자 정의의 사용자 이름입니다. 문자열

역할

이름 묘사
데이터베이스 역할이 적용되는 데이터베이스 이름입니다. 문자열
역할 역할 이름입니다. 문자열

사용 예제

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

databaseAccounts/mongodbUserDefinitions 리소스 종류는 다음을 대상으로 하는 작업과 함께 배포할 수 있습니다.

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

리소스 형식

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions@2024-05-15"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      customData = "string"
      databaseName = "string"
      mechanisms = "string"
      password = "string"
      roles = [
        {
          db = "string"
          role = "string"
        }
      ]
      userName = "string"
    }
  }
}

속성 값

Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions

이름 묘사
이름 리소스 이름 string(필수)
parent_id 이 리소스의 부모인 리소스의 ID입니다. 형식의 리소스 ID: databaseAccounts
속성 Azure Cosmos DB Mongo 사용자 정의를 만들고 업데이트하는 속성입니다. MongoUserDefinitionResource
리소스 종류 "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions@2024-05-15"

MongoUserDefinitionResource

이름 묘사
customData USer 정의에 대한 사용자 지정 정의입니다. 문자열
데이터베이스 이름 이 사용자 정의에 대한 액세스 권한이 부여되는 데이터베이스 이름입니다. 문자열
메커니즘 Mongo 인증 메커니즘입니다. 지금은 인증 메커니즘 SCRAM-SHA-256만 지원합니다. 문자열
암호 사용자 정의의 암호입니다. 응답에 사용자 암호가 포함되어 있지 않습니다. 문자열
역할 사용자 정의에서 상속하는 역할 집합입니다. 역할[]
사용자 이름 사용자 정의의 사용자 이름입니다. 문자열

역할

이름 묘사
데이터베이스 역할이 적용되는 데이터베이스 이름입니다. 문자열
역할 역할 이름입니다. 문자열

사용 예제

Terraform 샘플

Cosmos DB Mongo 사용자 정의를 배포하는 기본 예제입니다.

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 = "westus"
}

variable "mongodb_user_password" {
  type        = string
  description = "The password for the MongoDB user"
  sensitive   = true
}

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

resource "azapi_resource" "databaseAccount" {
  type      = "Microsoft.DocumentDB/databaseAccounts@2024-08-15"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-acct"
  location  = var.location
  body = {
    kind = "MongoDB"
    properties = {
      backupPolicy = null
      capabilities = [{
        name = "EnableMongoRoleBasedAccessControl"
        }, {
        name = "EnableMongo"
      }]
      consistencyPolicy = {
        defaultConsistencyLevel = "Strong"
        maxIntervalInSeconds    = 5
        maxStalenessPrefix      = 100
      }
      databaseAccountOfferType           = "Standard"
      disableKeyBasedMetadataWriteAccess = false
      disableLocalAuth                   = false
      enableAnalyticalStorage            = false
      enableAutomaticFailover            = false
      enableBurstCapacity                = false
      enableFreeTier                     = false
      enableMultipleWriteLocations       = false
      enablePartitionMerge               = false
      ipRules                            = []
      isVirtualNetworkFilterEnabled      = false
      locations = [{
        failoverPriority = 0
        isZoneRedundant  = false
        locationName     = var.location
      }]
      minimalTlsVersion           = "Tls12"
      networkAclBypass            = "None"
      networkAclBypassResourceIds = []
      publicNetworkAccess         = "Enabled"
      virtualNetworkRules         = []
    }
  }
}

resource "azapi_resource" "mongodbDatabas" {
  type      = "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases@2021-10-15"
  parent_id = azapi_resource.databaseAccount.id
  name      = "${var.resource_name}-mongodb"
  body = {
    properties = {
      options = {}
      resource = {
        id = "${var.resource_name}-mongodb"
      }
    }
  }
}

resource "azapi_resource" "mongodbUserDefinition" {
  type      = "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions@2022-11-15"
  parent_id = azapi_resource.databaseAccount.id
  name      = "${azapi_resource.mongodbDatabas.name}.myUserName"
  body = {
    properties = {
      databaseName = azapi_resource.mongodbDatabas.name
      mechanisms   = "SCRAM-SHA-256"
      password     = var.mongodb_user_password
      userName     = "myUserName"
    }
  }
}