Compartilhar via


Sql Vulnerability Assessment Scan Results - Get

Obtém os resultados da verificação de uma única regra em um registro de verificação.

GET https://management.azure.com/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults/{scanResultId}?workspaceId={workspaceId}&api-version=2023-02-01-preview

Parâmetros de URI

Nome Em Obrigatório Tipo Description
resourceId
path True

string

O identificador do recurso.

scanId
path True

string

A ID da verificação. Digite 'latest' para obter os resultados da verificação mais recente.

scanResultId
path True

string

A ID da regra dos resultados.

api-version
query True

string

A versão da API.

workspaceId
query True

string

A ID do workspace.

Respostas

Nome Tipo Description
200 OK

ScanResult

Retorna os resultados da verificação.

Other Status Codes

CloudError

Resposta de erro que descreve por que a operação falhou.

Segurança

azure_auth

Fluxo OAuth2 do Azure Active Directory

Tipo: oauth2
Flow: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Escopos

Nome Description
user_impersonation representar sua conta de usuário

Exemplos

Get scan details of a scan record
Get scan details of the latest scan record

Get scan details of a scan record

Solicitação de exemplo

GET https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063?workspaceId=55555555-6666-7777-8888-999999999999&api-version=2023-02-01-preview

Resposta de exemplo

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063",
  "name": "VA2063",
  "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults",
  "properties": {
    "ruleId": "VA2063",
    "status": "Finding",
    "isTrimmed": false,
    "queryResults": [
      [
        "Test",
        "0.0.0.0",
        "125.125.125.125"
      ]
    ],
    "remediation": {
      "description": "Remove server firewall rules that grant excessive access",
      "scripts": [
        "EXECUTE sp_delete_firewall_rule N'Test';"
      ],
      "automated": false,
      "portalLink": "ReviewServerFirewallRules"
    },
    "baselineAdjustedResult": {
      "baseline": {
        "expectedResults": [
          [
            "Test",
            "0.0.0.0",
            "125.125.125.125"
          ]
        ],
        "updatedTime": "2020-02-04T12:49:41.027771+00:00"
      },
      "status": "NonFinding",
      "resultsNotInBaseline": [],
      "resultsOnlyInBaseline": []
    },
    "ruleMetadata": {
      "ruleId": "VA2063",
      "severity": "High",
      "category": "SurfaceAreaReduction",
      "ruleType": "NegativeList",
      "title": "Server-level firewall rules should not grant excessive access",
      "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.",
      "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.",
      "queryCheck": {
        "query": "SELECT name\n    ,start_ip_address\n    ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n        (CONVERT(bigint, parsename(end_ip_address, 1)) +\n         CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n        - \n        (CONVERT(bigint, parsename(start_ip_address, 1)) +\n         CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n      ) > 255;",
        "expectedResult": [],
        "columnNames": [
          "Firewall Rule Name",
          "Start Address",
          "End Address"
        ]
      },
      "benchmarkReferences": []
    }
  }
}

Get scan details of the latest scan record

Solicitação de exemplo

GET https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/latest/scanResults/VA2063?workspaceId=55555555-6666-7777-8888-999999999999&api-version=2023-02-01-preview

Resposta de exemplo

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063",
  "name": "VA2063",
  "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults",
  "properties": {
    "ruleId": "VA2063",
    "status": "Finding",
    "isTrimmed": false,
    "queryResults": [
      [
        "Test",
        "0.0.0.0",
        "125.125.125.125"
      ]
    ],
    "remediation": {
      "description": "Remove server firewall rules that grant excessive access",
      "scripts": [
        "EXECUTE sp_delete_firewall_rule N'Test';"
      ],
      "automated": false,
      "portalLink": "ReviewServerFirewallRules"
    },
    "baselineAdjustedResult": {
      "baseline": {
        "expectedResults": [
          [
            "Test",
            "0.0.0.0",
            "125.125.125.125"
          ]
        ],
        "updatedTime": "2020-02-04T12:49:41.027771+00:00"
      },
      "status": "NonFinding",
      "resultsNotInBaseline": [],
      "resultsOnlyInBaseline": []
    },
    "ruleMetadata": {
      "ruleId": "VA2063",
      "severity": "High",
      "category": "SurfaceAreaReduction",
      "ruleType": "NegativeList",
      "title": "Server-level firewall rules should not grant excessive access",
      "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.",
      "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.",
      "queryCheck": {
        "query": "SELECT name\n    ,start_ip_address\n    ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n        (CONVERT(bigint, parsename(end_ip_address, 1)) +\n         CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n        - \n        (CONVERT(bigint, parsename(start_ip_address, 1)) +\n         CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n      ) > 255;",
        "expectedResult": [],
        "columnNames": [
          "Firewall Rule Name",
          "Start Address",
          "End Address"
        ]
      },
      "benchmarkReferences": []
    }
  }
}

Definições

Nome Description
Baseline

Detalhes da linha de base.

BaselineAdjustedResult

O resultado da regra ajustado com a linha de base.

BenchmarkReference

As referências de parâmetro de comparação.

CloudError

Resposta de erro comum para todas as APIs do Azure Resource Manager retornarem detalhes de erro para operações com falha. (Isso também segue o formato de resposta de erro OData.).

CloudErrorBody

O detalhe do erro.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

QueryCheck

Os detalhes da consulta de regra.

Remediation

Detalhes de correção.

RuleSeverity

A gravidade da regra.

RuleStatus

O status do resultado da regra.

RuleType

O tipo de regra.

ScanResult

Um resultado de verificação de avaliação de vulnerabilidade para uma única regra.

ScanResultProperties

Uma avaliação de vulnerabilidade verifica as propriedades de resultado de uma única regra.

VaRule

detalhes dos metadados da regra de avaliação de vulnerabilidade.

Baseline

Detalhes da linha de base.

Nome Tipo Description
expectedResults

string[]

Resultados esperados.

updatedTime

string

Hora de atualização da linha de base (UTC).

BaselineAdjustedResult

O resultado da regra ajustado com a linha de base.

Nome Tipo Description
baseline

Baseline

Detalhes da linha de base.

resultsNotInBaseline

string[]

Resultados que não estão na linha de base.

resultsOnlyInBaseline

string[]

Os resultados estão na linha de base.

status

RuleStatus

O status do resultado da regra.

BenchmarkReference

As referências de parâmetro de comparação.

Nome Tipo Description
benchmark

string

O nome do parâmetro de comparação.

reference

string

A referência de parâmetro de comparação.

CloudError

Resposta de erro comum para todas as APIs do Azure Resource Manager retornarem detalhes de erro para operações com falha. (Isso também segue o formato de resposta de erro OData.).

Nome Tipo Description
error.additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

error.code

string

O código de erro.

error.details

CloudErrorBody[]

Os detalhes do erro.

error.message

string

A mensagem de erro.

error.target

string

O destino do erro.

CloudErrorBody

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

CloudErrorBody[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

QueryCheck

Os detalhes da consulta de regra.

Nome Tipo Description
columnNames

string[]

Nomes de coluna do resultado esperado.

expectedResult

string[]

Resultado esperado.

query

string

A consulta de regra.

Remediation

Detalhes de correção.

Nome Tipo Description
automated

boolean

A correção é automatizada.

description

string

Descrição da correção.

portalLink

string

Link opcional para correção no Portal do Azure.

scripts

string[]

Script de correção.

RuleSeverity

A gravidade da regra.

Nome Tipo Description
High

string

Alto

Informational

string

Informativo

Low

string

Baixo

Medium

string

Média

Obsolete

string

Obsoleto

RuleStatus

O status do resultado da regra.

Nome Tipo Description
Finding

string

Achado

InternalError

string

InternalError

NonFinding

string

NonFinding

RuleType

O tipo de regra.

Nome Tipo Description
BaselineExpected

string

BaselineExpected

Binary

string

Binário

NegativeList

string

NegativeList

PositiveList

string

PositiveList

ScanResult

Um resultado de verificação de avaliação de vulnerabilidade para uma única regra.

Nome Tipo Description
id

string

ID do recurso

name

string

Nome do recurso

properties

ScanResultProperties

Uma avaliação de vulnerabilidade verifica as propriedades de resultado de uma única regra.

type

string

Tipo de recurso

ScanResultProperties

Uma avaliação de vulnerabilidade verifica as propriedades de resultado de uma única regra.

Nome Tipo Description
baselineAdjustedResult

BaselineAdjustedResult

O resultado da regra ajustado com a linha de base.

isTrimmed

boolean

Indicou se os resultados especificados aqui são cortados.

queryResults

string[]

Os resultados da consulta que foi executada.

remediation

Remediation

Detalhes de correção.

ruleId

string

A ID da regra.

ruleMetadata

VaRule

detalhes dos metadados da regra de avaliação de vulnerabilidade.

status

RuleStatus

O status do resultado da regra.

VaRule

detalhes dos metadados da regra de avaliação de vulnerabilidade.

Nome Tipo Description
benchmarkReferences

BenchmarkReference[]

As referências de parâmetro de comparação.

category

string

A categoria de regra.

description

string

A descrição da regra.

queryCheck

QueryCheck

Os detalhes da consulta de regra.

rationale

string

A lógica da regra.

ruleId

string

A ID da regra.

ruleType

RuleType

O tipo de regra.

severity

RuleSeverity

A gravidade da regra.

title

string

O título da regra.