Bicep 리소스 정의
mongoClusters/users 리소스 종류는 다음을 대상으로 하는 작업을 사용하여 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.DocumentDB/mongoClusters/users 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.DocumentDB/mongoClusters/users@2025-04-01-preview' = {
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(필수) |
| 역할 | 데이터베이스 범위에서 사용자에게 할당된 역할입니다. | 'dbOwner'(필수) |
엔트라아이덴티티제공자
| 이름 | 설명 | 가치 |
|---|---|---|
| 속성 | 사용자의 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-04-01-preview",
"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-04-01-미리보기' |
| 이름 | 리소스 이름 | 문자열 제약 조건: 최소 길이 = 1 최대 길이 = 63 패턴 = ^[a-zA-Z0-9\-]*(필수) |
| 속성 | 이 리소스에 대한 리소스별 속성입니다. | userProperties |
| 유형 | 리소스 종류 | 'Microsoft.DocumentDB/mongoClusters/사용자' |
데이터베이스 역할
| 이름 | 설명 | 가치 |
|---|---|---|
| 데이터베이스 | 역할이 할당된 데이터베이스 범위입니다. | string(필수) |
| 역할 | 데이터베이스 범위에서 사용자에게 할당된 역할입니다. | 'dbOwner'(필수) |
엔트라아이덴티티제공자
| 이름 | 설명 | 가치 |
|---|---|---|
| 속성 | 사용자의 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-04-01-preview"
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-04-01-preview" |
데이터베이스 역할
| 이름 | 설명 | 가치 |
|---|---|---|
| 데이터베이스 | 역할이 할당된 데이터베이스 범위입니다. | string(필수) |
| 역할 | 데이터베이스 범위에서 사용자에게 할당된 역할입니다. | 'dbOwner'(필수) |
엔트라아이덴티티제공자
| 이름 | 설명 | 가치 |
|---|---|---|
| 속성 | 사용자의 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 = ["*"]
}