Bicep 리소스 정의
databaseAccounts/mongodbRoleDefinitions 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2022-08-15' = {
parent: resourceSymbolicName
name: 'string'
properties: {
databaseName: 'string'
privileges: [
{
actions: [
'string'
]
resource: {
collection: 'string'
db: 'string'
}
}
]
roleName: 'string'
roles: [
{
db: 'string'
role: 'string'
}
]
type: int
}
}
속성 값
Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions
| 이름 |
묘사 |
값 |
| 이름 |
리소스 이름 |
string(필수) |
| 부모 |
Bicep에서 자식 리소스에 대한 부모 리소스를 지정할 수 있습니다. 자식 리소스가 부모 리소스 외부에서 선언된 경우에만 이 속성을 추가해야 합니다.
자세한 내용은 부모 리소스외부의 자식 리소스 참조하세요. |
형식 리소스의 기호 이름: databaseAccounts |
| 속성 |
Azure Cosmos DB Mongo 역할 정의를 만들고 업데이트하는 속성입니다. |
MongoRoleDefinitionResource |
MongoRoleDefinitionResource
| 이름 |
묘사 |
값 |
| 데이터베이스 이름 |
이 역할 정의에 대한 액세스 권한이 부여되는 데이터베이스 이름입니다. |
문자열 |
| 권한을 |
역할 정의에 포함된 권한 집합입니다. 이렇게 하면 전체 데이터베이스 계정 또는 기본 데이터베이스/컬렉션에 이 역할 정의를 적용할 수 있습니다. 데이터베이스보다 높은 범위는 권한으로 적용할 수 없습니다. |
권한[] |
| roleName |
역할 정의에 대한 사용자 친화적인 이름입니다. 데이터베이스 계정에 대해 고유해야 합니다. |
문자열 |
| 역할 |
이 역할 정의에서 상속된 역할 집합입니다. |
역할[] |
| 형 |
역할 정의가 기본 제공되었는지 또는 사용자가 만들어졌는지 여부를 나타냅니다. |
정수 (int) |
특권
PrivilegeResource
| 이름 |
묘사 |
값 |
| 수집 |
역할이 적용되는 컬렉션 이름입니다. |
문자열 |
| 데이터베이스 |
역할이 적용되는 데이터베이스 이름입니다. |
문자열 |
역할
| 이름 |
묘사 |
값 |
| 데이터베이스 |
역할이 적용되는 데이터베이스 이름입니다. |
문자열 |
| 역할 |
역할 이름입니다. |
문자열 |
ARM 템플릿 리소스 정의
databaseAccounts/mongodbRoleDefinitions 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions",
"apiVersion": "2022-08-15",
"name": "string",
"properties": {
"databaseName": "string",
"privileges": [
{
"actions": [ "string" ],
"resource": {
"collection": "string",
"db": "string"
}
}
],
"roleName": "string",
"roles": [
{
"db": "string",
"role": "string"
}
],
"type": "int"
}
}
속성 값
Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions
| 이름 |
묘사 |
값 |
| API버전 |
api 버전 |
'2022-08-15' |
| 이름 |
리소스 이름 |
string(필수) |
| 속성 |
Azure Cosmos DB Mongo 역할 정의를 만들고 업데이트하는 속성입니다. |
MongoRoleDefinitionResource |
| 형 |
리소스 종류 |
'Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions' |
MongoRoleDefinitionResource
| 이름 |
묘사 |
값 |
| 데이터베이스 이름 |
이 역할 정의에 대한 액세스 권한이 부여되는 데이터베이스 이름입니다. |
문자열 |
| 권한을 |
역할 정의에 포함된 권한 집합입니다. 이렇게 하면 전체 데이터베이스 계정 또는 기본 데이터베이스/컬렉션에 이 역할 정의를 적용할 수 있습니다. 데이터베이스보다 높은 범위는 권한으로 적용할 수 없습니다. |
권한[] |
| roleName |
역할 정의에 대한 사용자 친화적인 이름입니다. 데이터베이스 계정에 대해 고유해야 합니다. |
문자열 |
| 역할 |
이 역할 정의에서 상속된 역할 집합입니다. |
역할[] |
| 형 |
역할 정의가 기본 제공되었는지 또는 사용자가 만들어졌는지 여부를 나타냅니다. |
정수 (int) |
특권
PrivilegeResource
| 이름 |
묘사 |
값 |
| 수집 |
역할이 적용되는 컬렉션 이름입니다. |
문자열 |
| 데이터베이스 |
역할이 적용되는 데이터베이스 이름입니다. |
문자열 |
역할
| 이름 |
묘사 |
값 |
| 데이터베이스 |
역할이 적용되는 데이터베이스 이름입니다. |
문자열 |
| 역할 |
역할 이름입니다. |
문자열 |
사용 예제
databaseAccounts/mongodbRoleDefinitions 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2022-08-15"
name = "string"
parent_id = "string"
body = {
properties = {
databaseName = "string"
privileges = [
{
actions = [
"string"
]
resource = {
collection = "string"
db = "string"
}
}
]
roleName = "string"
roles = [
{
db = "string"
role = "string"
}
]
type = int
}
}
}
속성 값
Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions
| 이름 |
묘사 |
값 |
| 이름 |
리소스 이름 |
string(필수) |
| parent_id |
이 리소스의 부모인 리소스의 ID입니다. |
형식의 리소스 ID: databaseAccounts |
| 속성 |
Azure Cosmos DB Mongo 역할 정의를 만들고 업데이트하는 속성입니다. |
MongoRoleDefinitionResource |
| 형 |
리소스 종류 |
"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2022-08-15" |
MongoRoleDefinitionResource
| 이름 |
묘사 |
값 |
| 데이터베이스 이름 |
이 역할 정의에 대한 액세스 권한이 부여되는 데이터베이스 이름입니다. |
문자열 |
| 권한을 |
역할 정의에 포함된 권한 집합입니다. 이렇게 하면 전체 데이터베이스 계정 또는 기본 데이터베이스/컬렉션에 이 역할 정의를 적용할 수 있습니다. 데이터베이스보다 높은 범위는 권한으로 적용할 수 없습니다. |
권한[] |
| roleName |
역할 정의에 대한 사용자 친화적인 이름입니다. 데이터베이스 계정에 대해 고유해야 합니다. |
문자열 |
| 역할 |
이 역할 정의에서 상속된 역할 집합입니다. |
역할[] |
| 형 |
역할 정의가 기본 제공되었는지 또는 사용자가 만들어졌는지 여부를 나타냅니다. |
정수 (int) |
특권
PrivilegeResource
| 이름 |
묘사 |
값 |
| 수집 |
역할이 적용되는 컬렉션 이름입니다. |
문자열 |
| 데이터베이스 |
역할이 적용되는 데이터베이스 이름입니다. |
문자열 |
역할
| 이름 |
묘사 |
값 |
| 데이터베이스 |
역할이 적용되는 데이터베이스 이름입니다. |
문자열 |
| 역할 |
역할 이름입니다. |
문자열 |
사용 예제
Cosmos DB Mongo 역할 정의를 배포하는 기본 예제입니다.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
# Base name used to derive all other resource names. Override in terraform.tfvars for uniqueness.
}
variable "location" {
type = string
default = "eastus"
}
locals {
# Cosmos DB account names must be globally unique, 3-44 chars, lowercase letters or numbers only.
account_name = lower(replace(var.resource_name, "-", ""))
db_name = "${lower(var.resource_name)}db"
role_name = "${lower(var.resource_name)}role"
}
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 = local.account_name
location = var.location
body = {
kind = "MongoDB"
properties = {
backupPolicy = null
capabilities = [
{ name = "EnableMongoRoleBasedAccessControl" },
{ name = "EnableMongo" }
]
consistencyPolicy = {
defaultConsistencyLevel = "Strong"
maxIntervalInSeconds = 5
maxStalenessPrefix = 100
}
databaseAccountOfferType = "Standard"
defaultIdentity = "FirstPartyIdentity"
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" "mongodbDatabase" {
type = "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases@2021-10-15"
parent_id = azapi_resource.databaseAccount.id
name = local.db_name
body = {
properties = {
options = {}
resource = {
id = local.db_name
}
}
}
}
resource "azapi_resource" "mongodbRoleDefinition" {
type = "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2022-11-15"
parent_id = azapi_resource.databaseAccount.id
name = "${local.db_name}.${local.role_name}"
body = {
properties = {
databaseName = local.db_name
roleName = local.role_name
type = 1
}
}
depends_on = [azapi_resource.mongodbDatabase]
}