Sql Vulnerability Assessment Scan Results - List
Hiermee haalt u een lijst met scanresultaten op voor één scanrecord.
GET https://management.azure.com/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults?workspaceId={workspaceId}&api-version=2023-02-01-preview
URI-parameters
Name | In | Vereist | Type | Description |
---|---|---|---|---|
resource
|
path | True |
string |
De id van de resource. |
scan
|
path | True |
string |
De scan-id. Typ 'latest' om de scanresultaten voor de meest recente scan op te halen. |
api-version
|
query | True |
string |
De API-versie. |
workspace
|
query | True |
string |
De werkruimte-id. |
Antwoorden
Name | Type | Description |
---|---|---|
200 OK |
Retourneert de lijst met scanresultaten. |
|
Other Status Codes |
Foutreactie waarin wordt beschreven waarom de bewerking is mislukt. |
Beveiliging
azure_auth
Azure Active Directory OAuth2-stroom
Type:
oauth2
Stroom:
implicit
Autorisatie-URL:
https://login.microsoftonline.com/common/oauth2/authorize
Bereiken
Name | Description |
---|---|
user_impersonation | Uw gebruikersaccount imiteren |
Voorbeelden
List scan results |
List scan results of the latest scan |
List scan results
Voorbeeldaanvraag
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?workspaceId=55555555-6666-7777-8888-999999999999&api-version=2023-02-01-preview
Voorbeeldrespons
{
"value": [
{
"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/VA2062",
"name": "VA2062",
"type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults",
"properties": {
"ruleId": "VA2062",
"status": "NonFinding",
"isTrimmed": false,
"queryResults": [],
"remediation": {
"description": "Remove database firewall rules that grant excessive access",
"scripts": [],
"automated": false,
"portalLink": ""
},
"baselineAdjustedResult": null,
"ruleMetadata": {
"ruleId": "VA2062",
"severity": "High",
"category": "SurfaceAreaReduction",
"ruleType": "NegativeList",
"title": "Database-level firewall rules should not grant excessive access",
"description": "The Azure SQL Database-level firewall helps protect your data by preventing all access to your database until you specify which IP addresses have permission. Database-level firewall rules grant access to the specific database based on the originating IP address of each request.\n\nDatabase-level firewall rules for master and user databases can only be created and managed through Transact-SQL (unlike server-level firewall rules which can also be created and managed using 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 database-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 database.\n\nGranting excessive access using database firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your database. In fact, it's the equivalent of placing the database outside of the firewall.",
"queryCheck": {
"query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.database_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": []
}
}
},
{
"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": []
}
}
}
]
}
List scan results of the latest scan
Voorbeeldaanvraag
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?workspaceId=55555555-6666-7777-8888-999999999999&api-version=2023-02-01-preview
Voorbeeldrespons
{
"value": [
{
"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/VA2062",
"name": "VA2062",
"type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults",
"properties": {
"ruleId": "VA2062",
"status": "NonFinding",
"isTrimmed": false,
"queryResults": [],
"remediation": {
"description": "Remove database firewall rules that grant excessive access",
"scripts": [],
"automated": false,
"portalLink": ""
},
"baselineAdjustedResult": null,
"ruleMetadata": {
"ruleId": "VA2062",
"severity": "High",
"category": "SurfaceAreaReduction",
"ruleType": "NegativeList",
"title": "Database-level firewall rules should not grant excessive access",
"description": "The Azure SQL Database-level firewall helps protect your data by preventing all access to your database until you specify which IP addresses have permission. Database-level firewall rules grant access to the specific database based on the originating IP address of each request.\n\nDatabase-level firewall rules for master and user databases can only be created and managed through Transact-SQL (unlike server-level firewall rules which can also be created and managed using 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 database-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 database.\n\nGranting excessive access using database firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your database. In fact, it's the equivalent of placing the database outside of the firewall.",
"queryCheck": {
"query": "SELECT name\n ,start_ip_address\n ,end_ip_address\nFROM sys.database_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": []
}
}
},
{
"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": []
}
}
}
]
}
Definities
Name | Description |
---|---|
Baseline |
Basislijndetails. |
Baseline |
Het regelresultaat is aangepast met de basislijn. |
Benchmark |
De benchmarkverwijzingen. |
Cloud |
Veelvoorkomende foutreactie voor alle Azure Resource Manager-API's om foutdetails te retourneren voor mislukte bewerkingen. (Dit volgt ook de OData-foutreactieindeling.) |
Cloud |
De foutdetails. |
Error |
Aanvullende informatie over de resourcebeheerfout. |
Query |
De details van de regelquery. |
Remediation |
Hersteldetails. |
Rule |
De ernst van de regel. |
Rule |
De resultaatstatus van de regel. |
Rule |
Het regeltype. |
Scan |
Een scanresultaat voor evaluatie van beveiligingsproblemen voor één regel. |
Scan |
Een evaluatie van beveiligingsproblemen scant resultaateigenschappen voor één regel. |
Scan |
Een lijst met scanresultaten voor evaluatie van beveiligingsproblemen. |
Va |
Details van metagegevens van evaluatieregels voor beveiligingsproblemen. |
Baseline
Basislijndetails.
Name | Type | Description |
---|---|---|
expectedResults |
string[] |
Verwachte resultaten. |
updatedTime |
string |
Tijd van update basislijn (UTC). |
BaselineAdjustedResult
Het regelresultaat is aangepast met de basislijn.
Name | Type | Description |
---|---|---|
baseline |
Basislijndetails. |
|
resultsNotInBaseline |
string[] |
De resultaten bevinden zich niet in de basislijn. |
resultsOnlyInBaseline |
string[] |
De resultaten zijn in de basislijn. |
status |
De resultaatstatus van de regel. |
BenchmarkReference
De benchmarkverwijzingen.
Name | Type | Description |
---|---|---|
benchmark |
string |
De naam van de benchmark. |
reference |
string |
De referentie voor benchmark. |
CloudError
Veelvoorkomende foutreactie voor alle Azure Resource Manager-API's om foutdetails te retourneren voor mislukte bewerkingen. (Dit volgt ook de OData-foutreactieindeling.)
Name | Type | Description |
---|---|---|
error.additionalInfo |
De fout bevat aanvullende informatie. |
|
error.code |
string |
De foutcode. |
error.details |
De foutdetails. |
|
error.message |
string |
Het foutbericht. |
error.target |
string |
Het foutdoel. |
CloudErrorBody
De foutdetails.
Name | Type | Description |
---|---|---|
additionalInfo |
De fout bevat aanvullende informatie. |
|
code |
string |
De foutcode. |
details |
De foutdetails. |
|
message |
string |
Het foutbericht. |
target |
string |
Het foutdoel. |
ErrorAdditionalInfo
Aanvullende informatie over de resourcebeheerfout.
Name | Type | Description |
---|---|---|
info |
object |
De aanvullende informatie. |
type |
string |
Het extra informatietype. |
QueryCheck
De details van de regelquery.
Name | Type | Description |
---|---|---|
columnNames |
string[] |
Kolomnamen van het verwachte resultaat. |
expectedResult |
string[] |
Verwacht resultaat. |
query |
string |
De regelquery. |
Remediation
Hersteldetails.
Name | Type | Description |
---|---|---|
automated |
boolean |
Is herstel geautomatiseerd. |
description |
string |
Beschrijving van herstel. |
portalLink |
string |
Optionele koppeling om te herstellen in Azure Portal. |
scripts |
string[] |
Herstelscript. |
RuleSeverity
De ernst van de regel.
Name | Type | Description |
---|---|---|
High |
string |
Hoog |
Informational |
string |
Informatieve |
Low |
string |
Laag |
Medium |
string |
Gemiddeld |
Obsolete |
string |
Verouderd |
RuleStatus
De resultaatstatus van de regel.
Name | Type | Description |
---|---|---|
Finding |
string |
Vondst |
InternalError |
string |
InternalError |
NonFinding |
string |
Niet-definiëren |
RuleType
Het regeltype.
Name | Type | Description |
---|---|---|
BaselineExpected |
string |
BaselineExpected |
Binary |
string |
Binair |
NegativeList |
string |
NegativeList |
PositiveList |
string |
PositiveList |
ScanResult
Een scanresultaat voor evaluatie van beveiligingsproblemen voor één regel.
Name | Type | Description |
---|---|---|
id |
string |
Resource-id |
name |
string |
Resourcenaam |
properties |
Een evaluatie van beveiligingsproblemen scant resultaateigenschappen voor één regel. |
|
type |
string |
Resourcetype |
ScanResultProperties
Een evaluatie van beveiligingsproblemen scant resultaateigenschappen voor één regel.
Name | Type | Description |
---|---|---|
baselineAdjustedResult |
Het regelresultaat is aangepast met de basislijn. |
|
isTrimmed |
boolean |
Hier wordt aangegeven of de hier opgegeven resultaten zijn ingekort. |
queryResults |
string[] |
De resultaten van de query die is uitgevoerd. |
remediation |
Hersteldetails. |
|
ruleId |
string |
De regel-id. |
ruleMetadata |
Details van metagegevens van evaluatieregels voor beveiligingsproblemen. |
|
status |
De resultaatstatus van de regel. |
ScanResults
Een lijst met scanresultaten voor evaluatie van beveiligingsproblemen.
Name | Type | Description |
---|---|---|
value |
Lijst met scanresultaten voor evaluatie van beveiligingsproblemen. |
VaRule
Details van metagegevens van evaluatieregels voor beveiligingsproblemen.
Name | Type | Description |
---|---|---|
benchmarkReferences |
De benchmarkverwijzingen. |
|
category |
string |
De regelcategorie. |
description |
string |
De beschrijving van de regel. |
queryCheck |
De details van de regelquery. |
|
rationale |
string |
De regelreden. |
ruleId |
string |
De regel-id. |
ruleType |
Het regeltype. |
|
severity |
De ernst van de regel. |
|
title |
string |
De regeltitel. |