Udostępnij przez


Baza danych Microsoft.DocumentDBaccounts/sqlRoleAssignments 2024-11-15

Definicja zasobu Bicep

Typ zasobu databaseAccounts/sqlRoleAssignments można wdrożyć z operacjami docelowymi:

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/sqlRoleAssignments, dodaj następujący kod Bicep do szablonu.

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

Wartości właściwości

Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments

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 przypisania roli SQL usługi Azure Cosmos DB. SqlRoleAssignmentResource

SqlRoleAssignmentResource

Nazwa Opis Wartość
IdentyfikatorGłówny Unikatowy identyfikator skojarzonego podmiotu zabezpieczeń usługi AAD na grafie usługi AAD, do którego jest udzielany dostęp za pośrednictwem tego przypisania roli. Identyfikator dzierżawy podmiotu zabezpieczeń jest wnioskowany przy użyciu dzierżawy skojarzonej z subskrypcją. ciąg
roleDefinitionId Unikatowy identyfikator skojarzonej definicji roli. ciąg
zakres Ścieżka zasobu płaszczyzny danych, dla której jest udzielany dostęp za pośrednictwem tego przypisania roli. ciąg

Przykłady użycia

Przykłady szybkiego startu platformy Azure

Poniższe szablony szybkiego startu platformy Azure zawierają przykłady Bicep na potrzeby wdrażania tego typu zasobu.

Plik Bicep Opis
Tworzenie konta SQL usługi Azure Cosmos DB przy użyciu kontroli dostępu opartej na rolach płaszczyzny danych Ten szablon utworzy konto usługi SQL Cosmos, natywnie zachowaną definicję roli i natywnie obsługiwane przypisanie roli dla tożsamości usługi AAD.
wdrażanie usługi Azure Data Explorer DB przy użyciu połączenia usługi Cosmos DB Wdrażanie bazy danych usługi Azure Data Explorer przy użyciu połączenia usługi Cosmos DB.

Definicja zasobu szablonu usługi ARM

Typ zasobu databaseAccounts/sqlRoleAssignments można wdrożyć z operacjami docelowymi:

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/sqlRoleAssignments, dodaj następujący kod JSON do szablonu.

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

Wartości właściwości

Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments

Nazwa Opis Wartość
apiVersion Wersja interfejsu API '2024-11-15'
nazwa Nazwa zasobu ciąg (wymagany)
Właściwości Właściwości do tworzenia i aktualizowania przypisania roli SQL usługi Azure Cosmos DB. SqlRoleAssignmentResource
typ Typ zasobu "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"

SqlRoleAssignmentResource

Nazwa Opis Wartość
IdentyfikatorGłówny Unikatowy identyfikator skojarzonego podmiotu zabezpieczeń usługi AAD na grafie usługi AAD, do którego jest udzielany dostęp za pośrednictwem tego przypisania roli. Identyfikator dzierżawy podmiotu zabezpieczeń jest wnioskowany przy użyciu dzierżawy skojarzonej z subskrypcją. ciąg
roleDefinitionId Unikatowy identyfikator skojarzonej definicji roli. ciąg
zakres Ścieżka zasobu płaszczyzny danych, dla której jest udzielany dostęp za pośrednictwem tego przypisania roli. ciąg

Przykłady użycia

Szablony szybkiego startu platformy Azure

Następujące szablony szybkiego startu platformy Azure wdrożyć ten typ zasobu.

Szablon Opis
Tworzenie konta SQL usługi Azure Cosmos DB przy użyciu kontroli dostępu opartej na rolach płaszczyzny danych

wdrażanie w usłudze Azure
Ten szablon utworzy konto usługi SQL Cosmos, natywnie zachowaną definicję roli i natywnie obsługiwane przypisanie roli dla tożsamości usługi AAD.
wdrażanie usługi Azure Data Explorer DB przy użyciu połączenia usługi Cosmos DB

wdrażanie w usłudze Azure
Wdrażanie bazy danych usługi Azure Data Explorer przy użyciu połączenia usługi Cosmos DB.

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu databaseAccounts/sqlRoleAssignments można wdrożyć z operacjami docelowymi:

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/sqlRoleAssignments, dodaj następujący program Terraform do szablonu.

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

Wartości właściwości

Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments

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 przypisania roli SQL usługi Azure Cosmos DB. SqlRoleAssignmentResource
typ Typ zasobu "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2024-11-15"

SqlRoleAssignmentResource

Nazwa Opis Wartość
IdentyfikatorGłówny Unikatowy identyfikator skojarzonego podmiotu zabezpieczeń usługi AAD na grafie usługi AAD, do którego jest udzielany dostęp za pośrednictwem tego przypisania roli. Identyfikator dzierżawy podmiotu zabezpieczeń jest wnioskowany przy użyciu dzierżawy skojarzonej z subskrypcją. ciąg
roleDefinitionId Unikatowy identyfikator skojarzonej definicji roli. ciąg
zakres Ścieżka zasobu płaszczyzny danych, dla której jest udzielany dostęp za pośrednictwem tego przypisania roli. ciąg

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania przypisania ról SQL usługi 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    = ["*"]
}