Partilhar via


Microsoft.Synapse workspaces/sqlPools/vulnerabilityAssessments

Definição de recursos do bíceps

O tipo de recurso workspaces/sqlPools/vulnerabilityAssessments 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.Synapse/workspaces/sqlPools/vulnerabilityAssessments, adicione o seguinte Bicep ao seu modelo.

resource symbolicname 'Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments@2021-06-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    recurringScans: {
      emails: [
        'string'
      ]
      emailSubscriptionAdmins: bool
      isEnabled: bool
    }
    storageAccountAccessKey: 'string'
    storageContainerPath: 'string'
    storageContainerSasKey: 'string'
  }
}

Valores de propriedade

Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments

Designação Descrição Valor
Designação O nome do recurso 'default' (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 o recurso do tipo: workspaces/sqlPools
propriedades Propriedades do recurso. SqlPoolVulnerabilityAssessmentProperties

SqlPoolVulnerabilityAssessmentProperties

Designação Descrição Valor
recorrênciaVerificações As configurações de varreduras recorrentes VulnerabilidadeAvaliaçãoRecurringScansProperties
storageAccountAccessKey Especifica a chave identificador da conta de armazenamento para os resultados da verificação de avaliação de vulnerabilidade. Se 'StorageContainerSasKey' não for especificado, storageAccountAccessKey será necessário. cadeia (de caracteres)
storageContainerPath Um caminho de contêiner de armazenamento de blob para armazenar os resultados da verificação (por exemplo, https://myStorage.blob.core.windows.net/VaScans/). É necessário se a política de avaliação de vulnerabilidades no nível do servidor não definir cadeia (de caracteres)
armazenamentoContainerSasKey Uma assinatura de acesso compartilhado (chave SAS) que tem acesso de gravação ao contêiner de blob especificado no parâmetro 'storageContainerPath'. Se 'storageAccountAccessKey' não for especificado, StorageContainerSasKey será necessário. cadeia (de caracteres)

VulnerabilidadeAvaliaçãoRecurringScansProperties

Designação Descrição Valor
E-mails Especifica uma matriz de endereços de email para os quais a notificação de verificação é enviada. string[]
emailSubscriptionAdmins Especifica que a notificação de verificação de agendamento será enviada aos administradores de assinatura. Bool
estáAtivado Estado das verificações recorrentes. Bool

Exemplos de uso

Amostras de bíceps

Um exemplo básico de implantação da Avaliação de Vulnerabilidade para um Pool SQL Synapse.

param resourceName string = 'acctest0001'
param location string = 'westeurope'
@description('The SQL administrator login for the Synapse workspace')
param sqlAdministratorLogin string
@secure()
@description('The SQL administrator login password for the Synapse workspace')
param sqlAdministratorLoginPassword string

resource blobService 'Microsoft.Storage/storageAccounts/blobServices@2022-09-01' existing = {
  parent: storageAccount
  name: 'default'
}

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {
  name: resourceName
  location: location
  kind: 'StorageV2'
  properties: {}
  sku: {
    name: 'Standard_LRS'
  }
}

resource workspace 'Microsoft.Synapse/workspaces@2021-06-01' = {
  name: resourceName
  location: location
  properties: {
    defaultDataLakeStorage: {
      accountUrl: storageAccount.properties.primaryEndpoints.dfs
      filesystem: container.name
    }
    managedVirtualNetwork: ''
    publicNetworkAccess: 'Enabled'
    sqlAdministratorLogin: sqlAdministratorLogin
    sqlAdministratorLoginPassword: sqlAdministratorLoginPassword
  }
}

resource sqlPool 'Microsoft.Synapse/workspaces/sqlPools@2021-06-01' = {
  parent: workspace
  name: resourceName
  location: location
  properties: {
    createMode: 'Default'
  }
  sku: {
    name: 'DW100c'
  }
}

resource container 'Microsoft.Storage/storageAccounts/blobServices/containers@2022-09-01' = {
  parent: blobService
  name: resourceName
  properties: {
    metadata: {
      key: 'value'
    }
  }
}

resource vulnerabilityAssessment 'Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments@2021-06-01' = {
  parent: sqlPool
  name: 'default'
  properties: {
    storageAccountAccessKey: storageAccount.listKeys().keys[0].value
    storageContainerPath: 'https://${storageAccount.name}.blob.core.windows.net/${container.name}/'
  }
}

Definição de recurso de modelo ARM

O tipo de recurso workspaces/sqlPools/vulnerabilityAssessments 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.Synapse/workspaces/sqlPools/vulnerabilityAssessments, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments",
  "apiVersion": "2021-06-01",
  "name": "string",
  "properties": {
    "recurringScans": {
      "emails": [ "string" ],
      "emailSubscriptionAdmins": "bool",
      "isEnabled": "bool"
    },
    "storageAccountAccessKey": "string",
    "storageContainerPath": "string",
    "storageContainerSasKey": "string"
  }
}

Valores de propriedade

Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments

Designação Descrição Valor
Versão da API A versão api '2021-06-01'
Designação O nome do recurso 'default' (obrigatório)
propriedades Propriedades do recurso. SqlPoolVulnerabilityAssessmentProperties
tipo O tipo de recurso 'Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments'

SqlPoolVulnerabilityAssessmentProperties

Designação Descrição Valor
recorrênciaVerificações As configurações de varreduras recorrentes VulnerabilidadeAvaliaçãoRecurringScansProperties
storageAccountAccessKey Especifica a chave identificador da conta de armazenamento para os resultados da verificação de avaliação de vulnerabilidade. Se 'StorageContainerSasKey' não for especificado, storageAccountAccessKey será necessário. cadeia (de caracteres)
storageContainerPath Um caminho de contêiner de armazenamento de blob para armazenar os resultados da verificação (por exemplo, https://myStorage.blob.core.windows.net/VaScans/). É necessário se a política de avaliação de vulnerabilidades no nível do servidor não definir cadeia (de caracteres)
armazenamentoContainerSasKey Uma assinatura de acesso compartilhado (chave SAS) que tem acesso de gravação ao contêiner de blob especificado no parâmetro 'storageContainerPath'. Se 'storageAccountAccessKey' não for especificado, StorageContainerSasKey será necessário. cadeia (de caracteres)

VulnerabilidadeAvaliaçãoRecurringScansProperties

Designação Descrição Valor
E-mails Especifica uma matriz de endereços de email para os quais a notificação de verificação é enviada. string[]
emailSubscriptionAdmins Especifica que a notificação de verificação de agendamento será enviada aos administradores de assinatura. Bool
estáAtivado Estado das verificações recorrentes. Bool

Exemplos de uso

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso workspaces/sqlPools/vulnerabilityAssessments 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.Synapse/workspaces/sqlPools/vulnerabilityAssessments, adicione o seguinte Terraform ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments@2021-06-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      recurringScans = {
        emails = [
          "string"
        ]
        emailSubscriptionAdmins = bool
        isEnabled = bool
      }
      storageAccountAccessKey = "string"
      storageContainerPath = "string"
      storageContainerSasKey = "string"
    }
  }
}

Valores de propriedade

Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments

Designação Descrição Valor
Designação O nome do recurso 'default' (obrigatório)
parent_id A ID do recurso que é o pai para este recurso. ID para recurso do tipo: workspaces/sqlPools
propriedades Propriedades do recurso. SqlPoolVulnerabilityAssessmentProperties
tipo O tipo de recurso "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments@2021-06-01"

SqlPoolVulnerabilityAssessmentProperties

Designação Descrição Valor
recorrênciaVerificações As configurações de varreduras recorrentes VulnerabilidadeAvaliaçãoRecurringScansProperties
storageAccountAccessKey Especifica a chave identificador da conta de armazenamento para os resultados da verificação de avaliação de vulnerabilidade. Se 'StorageContainerSasKey' não for especificado, storageAccountAccessKey será necessário. cadeia (de caracteres)
storageContainerPath Um caminho de contêiner de armazenamento de blob para armazenar os resultados da verificação (por exemplo, https://myStorage.blob.core.windows.net/VaScans/). É necessário se a política de avaliação de vulnerabilidades no nível do servidor não definir cadeia (de caracteres)
armazenamentoContainerSasKey Uma assinatura de acesso compartilhado (chave SAS) que tem acesso de gravação ao contêiner de blob especificado no parâmetro 'storageContainerPath'. Se 'storageAccountAccessKey' não for especificado, StorageContainerSasKey será necessário. cadeia (de caracteres)

VulnerabilidadeAvaliaçãoRecurringScansProperties

Designação Descrição Valor
E-mails Especifica uma matriz de endereços de email para os quais a notificação de verificação é enviada. string[]
emailSubscriptionAdmins Especifica que a notificação de verificação de agendamento será enviada aos administradores de assinatura. Bool
estáAtivado Estado das verificações recorrentes. Bool

Exemplos de uso

Amostras Terraform

Um exemplo básico de implantação da Avaliação de Vulnerabilidade para um Pool SQL Synapse.

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

variable "sql_administrator_login" {
  type        = string
  description = "The SQL administrator login for the Synapse workspace"
}

variable "sql_administrator_login_password" {
  type        = string
  description = "The SQL administrator login password for the Synapse workspace"
  sensitive   = true
}

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

resource "azapi_resource" "storageAccount" {
  type      = "Microsoft.Storage/storageAccounts@2021-09-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "StorageV2"
    properties = {
    }
    sku = {
      name = "Standard_LRS"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_action" "listKeys" {
  type                   = "Microsoft.Storage/storageAccounts@2022-09-01"
  resource_id            = azapi_resource.storageAccount.id
  action                 = "listKeys"
  response_export_values = ["*"]
}

data "azapi_resource" "blobService" {
  type      = "Microsoft.Storage/storageAccounts/blobServices@2022-09-01"
  parent_id = azapi_resource.storageAccount.id
  name      = "default"
}

resource "azapi_resource" "container" {
  type      = "Microsoft.Storage/storageAccounts/blobServices/containers@2022-09-01"
  name      = var.resource_name
  parent_id = data.azapi_resource.blobService.id
  body = {
    properties = {
      metadata = {
        key = "value"
      }
    }
  }
  response_export_values = ["*"]
}

resource "azapi_resource" "workspace" {
  type      = "Microsoft.Synapse/workspaces@2021-06-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      defaultDataLakeStorage = {
        accountUrl = azapi_resource.storageAccount.output.properties.primaryEndpoints.dfs
        filesystem = azapi_resource.container.name
      }
      managedVirtualNetwork         = ""
      publicNetworkAccess           = "Enabled"
      sqlAdministratorLogin         = var.sql_administrator_login
      sqlAdministratorLoginPassword = var.sql_administrator_login_password
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "sqlPool" {
  type      = "Microsoft.Synapse/workspaces/sqlPools@2021-06-01"
  parent_id = azapi_resource.workspace.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      createMode = "Default"
    }
    sku = {
      name = "DW100c"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_update_resource" "vulnerabilityAssessment" {
  type      = "Microsoft.Synapse/workspaces/sqlPools/vulnerabilityAssessments@2021-06-01"
  parent_id = azapi_resource.sqlPool.id
  name      = "default"
  body = {
    properties = {
      storageAccountAccessKey = data.azapi_resource_action.listKeys.output.keys[0].value
      storageContainerPath    = "https://${azapi_resource.storageAccount.name}.blob.core.windows.net/${azapi_resource.container.name}/"
    }
  }
  response_export_values = ["*"]
}