Udostępnij przez


Microsoft.DocumentDB databaseAccounts/mongodbRoleDefinitions

Definicja zasobu Bicep

Typ zasobu databaseAccounts/mongodbRoleDefinitions można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2025-11-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    databaseName: 'string'
    privileges: [
      {
        actions: [
          'string'
        ]
        resource: {
          collection: 'string'
          db: 'string'
        }
      }
    ]
    roleName: 'string'
    roles: [
      {
        db: 'string'
        role: 'string'
      }
    ]
    type: 'string'
  }
}

Wartości właściwości

Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions

Nazwa Opis Wartość
nazwa Nazwa zasobu ciąg (wymagany)
nadrzędny W Bicep można określić zasób nadrzędny dla zasobu podrzędnego. Tę właściwość należy dodać tylko wtedy, gdy zasób podrzędny jest zadeklarowany poza zasobem nadrzędnym.

Aby uzyskać więcej informacji, zobacz Zasób podrzędny poza zasobem nadrzędnym.
Nazwa symboliczna zasobu typu: databaseAccounts
Właściwości Właściwości do tworzenia i aktualizowania definicji roli mongo usługi Azure Cosmos DB. MongoRoleDefinitionResource

MongoRoleDefinitionResource

Nazwa Opis Wartość
nazwaBazyDanych Nazwa bazy danych, dla której jest udzielany dostęp dla tej definicji roli. ciąg
Uprawnienia Zestaw uprawnień zawartych w definicji roli. Umożliwi to zastosowanie tej definicji roli na całym koncie bazy danych lub dowolnej podstawowej bazie danych/kolekcji. Zakresy wyższe niż Baza danych nie są wymuszane jako uprawnienia. privilege[]
roleName Przyjazna dla użytkownika nazwa definicji roli. Musi być unikatowa dla konta bazy danych. ciąg
Ról Zestaw ról dziedziczony przez tę definicję roli. roli []
typ Wskazuje, czy definicja roli została utworzona, czy też utworzona przez użytkownika. "BuiltInRole"
"CustomRole"

Przywilej

Nazwa Opis Wartość
akcje Tablica dozwolonych akcji. string[]
zasób Zasób bazy danych Mongo DB w usłudze Azure Cosmos DB. PrivilegeResource

PrivilegeResource

Nazwa Opis Wartość
kolekcja Nazwa kolekcji, która jest stosowana do roli. ciąg
Db Nazwa bazy danych, która jest stosowana. ciąg

Rola

Nazwa Opis Wartość
Db Nazwa bazy danych, która jest stosowana. ciąg
rola Nazwa roli. ciąg

Definicja zasobu szablonu usługi ARM

Typ zasobu databaseAccounts/mongodbRoleDefinitions można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions",
  "apiVersion": "2025-11-01-preview",
  "name": "string",
  "properties": {
    "databaseName": "string",
    "privileges": [
      {
        "actions": [ "string" ],
        "resource": {
          "collection": "string",
          "db": "string"
        }
      }
    ],
    "roleName": "string",
    "roles": [
      {
        "db": "string",
        "role": "string"
      }
    ],
    "type": "string"
  }
}

Wartości właściwości

Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions

Nazwa Opis Wartość
apiVersion Wersja interfejsu API "2025-11-01-podgląd"
nazwa Nazwa zasobu ciąg (wymagany)
Właściwości Właściwości do tworzenia i aktualizowania definicji roli mongo usługi Azure Cosmos DB. MongoRoleDefinitionResource
typ Typ zasobu "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"

MongoRoleDefinitionResource

Nazwa Opis Wartość
nazwaBazyDanych Nazwa bazy danych, dla której jest udzielany dostęp dla tej definicji roli. ciąg
Uprawnienia Zestaw uprawnień zawartych w definicji roli. Umożliwi to zastosowanie tej definicji roli na całym koncie bazy danych lub dowolnej podstawowej bazie danych/kolekcji. Zakresy wyższe niż Baza danych nie są wymuszane jako uprawnienia. privilege[]
roleName Przyjazna dla użytkownika nazwa definicji roli. Musi być unikatowa dla konta bazy danych. ciąg
Ról Zestaw ról dziedziczony przez tę definicję roli. roli []
typ Wskazuje, czy definicja roli została utworzona, czy też utworzona przez użytkownika. "BuiltInRole"
"CustomRole"

Przywilej

Nazwa Opis Wartość
akcje Tablica dozwolonych akcji. string[]
zasób Zasób bazy danych Mongo DB w usłudze Azure Cosmos DB. PrivilegeResource

PrivilegeResource

Nazwa Opis Wartość
kolekcja Nazwa kolekcji, która jest stosowana do roli. ciąg
Db Nazwa bazy danych, która jest stosowana. ciąg

Rola

Nazwa Opis Wartość
Db Nazwa bazy danych, która jest stosowana. ciąg
rola Nazwa roli. ciąg

Przykłady użycia

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu databaseAccounts/mongodbRoleDefinitions można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2025-11-01-preview"
  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 = "string"
    }
  }
}

Wartości właściwości

Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions

Nazwa Opis Wartość
nazwa Nazwa zasobu ciąg (wymagany)
parent_id Identyfikator zasobu, który jest elementem nadrzędnym dla tego zasobu. Identyfikator zasobu typu: databaseAccounts
Właściwości Właściwości do tworzenia i aktualizowania definicji roli mongo usługi Azure Cosmos DB. MongoRoleDefinitionResource
typ Typ zasobu "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions@2025-11-01-preview"

MongoRoleDefinitionResource

Nazwa Opis Wartość
nazwaBazyDanych Nazwa bazy danych, dla której jest udzielany dostęp dla tej definicji roli. ciąg
Uprawnienia Zestaw uprawnień zawartych w definicji roli. Umożliwi to zastosowanie tej definicji roli na całym koncie bazy danych lub dowolnej podstawowej bazie danych/kolekcji. Zakresy wyższe niż Baza danych nie są wymuszane jako uprawnienia. privilege[]
roleName Przyjazna dla użytkownika nazwa definicji roli. Musi być unikatowa dla konta bazy danych. ciąg
Ról Zestaw ról dziedziczony przez tę definicję roli. roli []
typ Wskazuje, czy definicja roli została utworzona, czy też utworzona przez użytkownika. "BuiltInRole"
"CustomRole"

Przywilej

Nazwa Opis Wartość
akcje Tablica dozwolonych akcji. string[]
zasób Zasób bazy danych Mongo DB w usłudze Azure Cosmos DB. PrivilegeResource

PrivilegeResource

Nazwa Opis Wartość
kolekcja Nazwa kolekcji, która jest stosowana do roli. ciąg
Db Nazwa bazy danych, która jest stosowana. ciąg

Rola

Nazwa Opis Wartość
Db Nazwa bazy danych, która jest stosowana. ciąg
rola Nazwa roli. ciąg

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania definicji roli Mongo usługi Cosmos DB.

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]
}