Partilhar 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 do URI

Name Em Necessário Tipo Description
resourceId
path True

string

O identificador do recurso.

scanId
path True

string

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

scanResultId
path True

string

A regra Id dos resultados.

api-version
query True

string

A versão api.

workspaceId
query True

string

A ID do espaço de trabalho.

Respostas

Name Tipo Description
200 OK

ScanResult

Retorna os resultados da verificação.

Other Status Codes

CloudError

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

Segurança

azure_auth

Azure Ative Directory OAuth2 Flow

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

Âmbitos

Name Description
user_impersonation personificar a sua conta de utilizador

Exemplos

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

Get scan details of a scan record

Pedido de amostra

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 da amostra

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

Pedido de amostra

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 da amostra

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

Name Description
Baseline

Detalhes da linha de base.

BaselineAdjustedResult

O resultado da regra foi ajustado com a linha de base.

BenchmarkReference

As referências de referência.

CloudError

Resposta de erro comum para todas as APIs do Azure Resource Manager para retornar 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

O erro de gerenciamento de recursos informações adicionais.

QueryCheck

Os detalhes da consulta de regra.

Remediation

Detalhes da remediação.

RuleSeverity

A severidade da regra.

RuleStatus

O status do resultado da regra.

RuleType

O tipo de regra.

ScanResult

Uma verificação de avaliação de vulnerabilidade resulta em uma única regra.

ScanResultProperties

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

VaRule

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

Baseline

Detalhes da linha de base.

Name Tipo Description
expectedResults

string[]

Resultados esperados.

updatedTime

string

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

BaselineAdjustedResult

O resultado da regra foi ajustado com a linha de base.

Name Tipo Description
baseline

Baseline

Detalhes da linha de base.

resultsNotInBaseline

string[]

Os resultados 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 referência.

Name Tipo Description
benchmark

string

O nome do benchmark.

reference

string

A referência de referência.

CloudError

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

Name Tipo Description
error.additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

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.

Name Tipo Description
additionalInfo

ErrorAdditionalInfo[]

O erro informações adicionais.

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

O erro de gerenciamento de recursos informações adicionais.

Name Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

QueryCheck

Os detalhes da consulta de regra.

Name Tipo Description
columnNames

string[]

Nomes de colunas do resultado esperado.

expectedResult

string[]

Resultado esperado.

query

string

A consulta de regra.

Remediation

Detalhes da remediação.

Name Tipo Description
automated

boolean

A remediação é automatizada.

description

string

Descrição da remediação.

portalLink

string

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

scripts

string[]

Script de remediação.

RuleSeverity

A severidade da regra.

Name Tipo Description
High

string

Alto

Informational

string

Informativo

Low

string

Baixo

Medium

string

Média

Obsolete

string

Obsoleta

RuleStatus

O status do resultado da regra.

Name Tipo Description
Finding

string

Encontrar

InternalError

string

Erro interno

NonFinding

string

Não Encontrar

RuleType

O tipo de regra.

Name Tipo Description
BaselineExpected

string

Linha de baseEsperado

Binary

string

Binário

NegativeList

string

Lista negativa

PositiveList

string

Lista Positiva

ScanResult

Uma verificação de avaliação de vulnerabilidade resulta em uma única regra.

Name Tipo Description
id

string

ID do recurso

name

string

Nome do recurso

properties

ScanResultProperties

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

type

string

Tipo de recurso

ScanResultProperties

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

Name Tipo Description
baselineAdjustedResult

BaselineAdjustedResult

O resultado da regra foi ajustado com a linha de base.

isTrimmed

boolean

Indicado se os resultados especificados aqui são cortados.

queryResults

string[]

Os resultados da consulta que foi executada.

remediation

Remediation

Detalhes da remediação.

ruleId

string

A regra Id.

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.

Name Tipo Description
benchmarkReferences

BenchmarkReference[]

As referências de referência.

category

string

A categoria da 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 regra Id.

ruleType

RuleType

O tipo de regra.

severity

RuleSeverity

A severidade da regra.

title

string

O título da regra.