Partilhar via


Banco de dados Microsoft.DocumentDBaccounts/sqlRoleAssignments

Definição de recursos do bíceps

O tipo de recurso databaseAccounts/sqlRoleAssignments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments, adicione o seguinte Bicep ao seu modelo.

resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2025-11-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    principalId: 'string'
    roleDefinitionId: 'string'
    scope: 'string'
  }
}

Valores de propriedade

Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments

Designação Descrição Valor
Designação O nome do recurso string (obrigatório)
elemento principal No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para recurso do tipo: databaseAccounts
propriedades Propriedades para criar e atualizar uma Atribuição de Função SQL do Azure Cosmos DB. SqlRoleAssignmentResource

SqlRoleAssignmentResource

Designação Descrição Valor
principalId O identificador exclusivo para a entidade de segurança do AAD associada no gráfico do AAD ao qual o acesso está sendo concedido por meio desta Atribuição de Função. A ID do locatário da entidade de segurança é inferida usando o locatário associado à assinatura. cadeia (de caracteres)
roleDefinitionId O identificador exclusivo para a Definição de Função associada. cadeia (de caracteres)
âmbito O caminho do recurso do plano de dados para o qual o acesso está sendo concedido por meio desta Atribuição de Função. cadeia (de caracteres)

Exemplos de uso

Amostras de bíceps

Um exemplo básico de implantação da Atribuição de Função SQL do Cosmos DB.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource sqlRoleDefinition 'Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions@2021-10-15' existing = {
  parent: databaseAccount
  name: '00000000-0000-0000-0000-000000000001'
}

resource cluster 'Microsoft.Kusto/clusters@2023-05-02' = {
  name: resourceName
  location: location
  properties: {
    enableAutoStop: true
    enableDiskEncryption: false
    enableDoubleEncryption: false
    enablePurge: false
    enableStreamingIngest: false
    engineType: 'V2'
    publicIPType: 'IPv4'
    publicNetworkAccess: 'Enabled'
    restrictOutboundNetworkAccess: 'Disabled'
    trustedExternalTenants: []
  }
  sku: {
    capacity: 1
    name: 'Dev(No SLA)_Standard_D11_v2'
    tier: 'Basic'
  }
}

resource databaseAccount 'Microsoft.DocumentDB/databaseAccounts@2021-10-15' = {
  name: resourceName
  location: location
  kind: 'GlobalDocumentDB'
  properties: {
    capabilities: []
    consistencyPolicy: {
      defaultConsistencyLevel: 'Session'
      maxIntervalInSeconds: 5
      maxStalenessPrefix: 100
    }
    databaseAccountOfferType: 'Standard'
    defaultIdentity: 'FirstPartyIdentity'
    disableKeyBasedMetadataWriteAccess: false
    disableLocalAuth: false
    enableAnalyticalStorage: false
    enableAutomaticFailover: false
    enableFreeTier: false
    enableMultipleWriteLocations: false
    ipRules: []
    isVirtualNetworkFilterEnabled: false
    locations: [
      {
        failoverPriority: 0
        isZoneRedundant: false
        locationName: 'West Europe'
      }
    ]
    networkAclBypass: 'None'
    networkAclBypassResourceIds: []
    publicNetworkAccess: 'Enabled'
    virtualNetworkRules: []
  }
}

resource database 'Microsoft.Kusto/clusters/databases@2023-05-02' = {
  parent: cluster
  name: resourceName
  location: location
  kind: 'ReadWrite'
  properties: {}
}

resource sqlRoleAssignment 'Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2021-10-15' = {
  parent: databaseAccount
  name: 'ff419bf7-f8ca-ef51-00d2-3576700c341b'
  properties: {
    principalId: cluster.properties.identity.principalId
    roleDefinitionId: sqlRoleDefinition.id
    scope: databaseAccount.id
  }
}

Módulos verificados do Azure

Os seguintes de Módulos Verificados do Azure podem ser usados para implantar esse tipo de recurso.

Módulo Descrição
Cosmos DB - Atribuição de Papéis SQL Módulo Filho AVM para Cosmos DB - Atribuição de Papéis SQL

Exemplos de início rápido do Azure

Os seguintes modelos início rápido do Azure contêm exemplos de Bicep para implantar esse tipo de recurso.

Arquivo Bicep Descrição
Criar uma conta SQL do Azure Cosmos DB com o plano de dados RBAC Este modelo criará uma conta do SQL Cosmos, uma Definição de Função mantida nativamente e uma Atribuição de Função mantida nativamente para uma identidade do AAD.
Implantar o Banco de Dados do Azure Data Explorer com o de conexão do Cosmos DB Implante o Banco de Dados do Azure Data Explorer com conexão do Cosmos DB.

Definição de recurso de modelo ARM

O tipo de recurso databaseAccounts/sqlRoleAssignments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments",
  "apiVersion": "2025-11-01-preview",
  "name": "string",
  "properties": {
    "principalId": "string",
    "roleDefinitionId": "string",
    "scope": "string"
  }
}

Valores de propriedade

Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments

Designação Descrição Valor
Versão da API A versão api '2025-11-01-pré-visualização'
Designação O nome do recurso string (obrigatório)
propriedades Propriedades para criar e atualizar uma Atribuição de Função SQL do Azure Cosmos DB. SqlRoleAssignmentResource
tipo O tipo de recurso 'Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments'

SqlRoleAssignmentResource

Designação Descrição Valor
principalId O identificador exclusivo para a entidade de segurança do AAD associada no gráfico do AAD ao qual o acesso está sendo concedido por meio desta Atribuição de Função. A ID do locatário da entidade de segurança é inferida usando o locatário associado à assinatura. cadeia (de caracteres)
roleDefinitionId O identificador exclusivo para a Definição de Função associada. cadeia (de caracteres)
âmbito O caminho do recurso do plano de dados para o qual o acesso está sendo concedido por meio desta Atribuição de Função. cadeia (de caracteres)

Exemplos de uso

Modelos de início rápido do Azure

Os seguintes modelos de início rápido do Azure implantar esse tipo de recurso.

Modelo Descrição
Criar uma conta SQL do Azure Cosmos DB com o plano de dados RBAC

Implantar no Azure
Este modelo criará uma conta do SQL Cosmos, uma Definição de Função mantida nativamente e uma Atribuição de Função mantida nativamente para uma identidade do AAD.
Implantar o Banco de Dados do Azure Data Explorer com o de conexão do Cosmos DB

Implantar no Azure
Implante o Banco de Dados do Azure Data Explorer com conexão do Cosmos DB.

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso databaseAccounts/sqlRoleAssignments pode ser implantado com operações direcionadas:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments, adicione o seguinte Terraform ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2025-11-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      principalId = "string"
      roleDefinitionId = "string"
      scope = "string"
    }
  }
}

Valores de propriedade

Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments

Designação Descrição Valor
Designação O nome do recurso string (obrigatório)
parent_id A ID do recurso que é o pai para este recurso. ID para recurso do tipo: databaseAccounts
propriedades Propriedades para criar e atualizar uma Atribuição de Função SQL do Azure Cosmos DB. SqlRoleAssignmentResource
tipo O tipo de recurso "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2025-11-01-preview"

SqlRoleAssignmentResource

Designação Descrição Valor
principalId O identificador exclusivo para a entidade de segurança do AAD associada no gráfico do AAD ao qual o acesso está sendo concedido por meio desta Atribuição de Função. A ID do locatário da entidade de segurança é inferida usando o locatário associado à assinatura. cadeia (de caracteres)
roleDefinitionId O identificador exclusivo para a Definição de Função associada. cadeia (de caracteres)
âmbito O caminho do recurso do plano de dados para o qual o acesso está sendo concedido por meio desta Atribuição de Função. cadeia (de caracteres)

Exemplos de uso

Amostras Terraform

Um exemplo básico de implantação da Atribuição de Função SQL do 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 = "westeurope"
}

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

resource "azapi_resource" "cluster" {
  type      = "Microsoft.Kusto/clusters@2023-05-02"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      enableAutoStop                = true
      enableDiskEncryption          = false
      enableDoubleEncryption        = false
      enablePurge                   = false
      enableStreamingIngest         = false
      engineType                    = "V2"
      publicIPType                  = "IPv4"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      trustedExternalTenants = [
      ]
    }
    sku = {
      capacity = 1
      name     = "Dev(No SLA)_Standard_D11_v2"
      tier     = "Basic"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "databaseAccount" {
  type      = "Microsoft.DocumentDB/databaseAccounts@2021-10-15"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "GlobalDocumentDB"
    properties = {
      capabilities = [
      ]
      consistencyPolicy = {
        defaultConsistencyLevel = "Session"
        maxIntervalInSeconds    = 5
        maxStalenessPrefix      = 100
      }
      databaseAccountOfferType           = "Standard"
      defaultIdentity                    = "FirstPartyIdentity"
      disableKeyBasedMetadataWriteAccess = false
      disableLocalAuth                   = false
      enableAnalyticalStorage            = false
      enableAutomaticFailover            = false
      enableFreeTier                     = false
      enableMultipleWriteLocations       = false
      ipRules = [
      ]
      isVirtualNetworkFilterEnabled = false
      locations = [
        {
          failoverPriority = 0
          isZoneRedundant  = false
          locationName     = "West Europe"
        },
      ]
      networkAclBypass = "None"
      networkAclBypassResourceIds = [
      ]
      publicNetworkAccess = "Enabled"
      virtualNetworkRules = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource" "sqlRoleDefinition" {
  type                   = "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions@2021-10-15"
  parent_id              = azapi_resource.databaseAccount.id
  name                   = "00000000-0000-0000-0000-000000000001"
  response_export_values = ["*"]
}

resource "azapi_resource" "database" {
  type      = "Microsoft.Kusto/clusters/databases@2023-05-02"
  parent_id = azapi_resource.cluster.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "ReadWrite"
    properties = {
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "sqlRoleAssignment" {
  type      = "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2021-10-15"
  parent_id = azapi_resource.databaseAccount.id
  name      = "ff419bf7-f8ca-ef51-00d2-3576700c341b"
  body = {
    properties = {
      principalId      = azapi_resource.cluster.output.identity.principalId
      roleDefinitionId = data.azapi_resource.sqlRoleDefinition.id
      scope            = azapi_resource.databaseAccount.id
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}