Azure / Azure/azure-quickstart-templates

BlobAuditingNoServerIdentity error while enabling Azure SQL Server Auditing to Log Analytics

Open
#6,474 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Bicep
Stars
14.9k
Forks
16.2k
Avg merge
6d 21h
Merged PRs (30d)
6

Description

Issue

I am following [201-sql-auditing-server-policy-to-oms](https://github.com/Azure/azure-quickstart-templates/blob/master/201-sql-auditing-server-policy-to-oms/azuredeploy.json)
to enable sql server auditing to log analytics but, everytime getting following error:

`{
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "BlobAuditingNoServerIdentity",
"message": "The server identity is not correctly configured on server 'deletetest500'. Please re-configure Identitity on the server."
}
]
}
}`

ARM Template looks like
`"resources": [
{
"type": "Microsoft.Sql/servers",
"kind": "v12.0",
"name": "[parameters('sqlServerName')]",
"apiVersion": "2015-05-01-preview",
"location": "[parameters('location')]",
"tags": "[parameters('resourceTags')]",
"scale": null,
"identity": {
"type": "SystemAssigned"
},
"properties": {
"administratorLogin": "[parameters('sqlAdminUsername')]",
"administratorLoginPassword": "[parameters('sqlAdminPassword')]",
"version": "12.0"
},
"resources": [
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2017-03-01-preview",
"location": "[parameters('location')]",
"dependsOn": [
"[parameters('sqlServerName')]"
],
"name": "[concat(parameters('sqlServerName'), '/', 'master')]",
"properties": {}
},
{
"type": "administrators",
"name": "activeDirectory",
"apiVersion": "2014-04-01-preview",
"location": "[parameters('location')]",
"properties": {
"administratorType": "ActiveDirectory",
"login": "[parameters('aadSqlAdminUsername')]",
"sid": "[parameters('aadSqlAdminObjectId')]",
"tenantId": "[parameters('aadTenantId')]"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
]
},
{
"apiVersion": "2017-03-01-preview",
"type": "auditingSettings",
"name": "DefaultAuditingSettings",
"dependsOn": [
"[parameters('sqlServerName')]"
],
"properties": {
"State": "Enabled",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": true

}
},
{
"type": "databases/providers/diagnosticSettings",
"name": "[concat('master/microsoft.insights/','SQLServerAuditLogs')]",
"dependsOn": [
"[parameters('sqlServerName')]",
"[concat('Microsoft.Sql/servers/', parameters('sqlServerName'), '/databases/master')]"
],
"apiVersion": "2017-05-01-preview",
"properties": {
"name": "SQLServerAuditLogs",
"workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('omsWorkspaceName'))]",
"logs": [
{
"category": "SQLSecurityAuditEvents",
"enabled": true,
"retentionPolicy": {
"days": 90,
"enabled": false
}
}
]
}
}
],
"dependsOn": []
},
{
"type": "Microsoft.Sql/servers/databases",
"sku": {
"name": "[parameters('pricingName')]",
"tier": "[parameters('pricingTier')]"
},
"kind": "v12.0,user",
"name": "[concat(parameters('sqlServerName'), '/', parameters('sqlDatabaseName'))]",
"apiVersion": "2017-03-01-preview",
"location": "[parameters('location')]",
"tags": {},
"scale": null,
"properties": {
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": 268435456000,
"catalogCollation": "SQL_Latin1_General_CP1_CI_AS",
"zoneRedundant": false
},
"resources": [
{
"type": "providers/diagnosticSettings",
"name": "[concat('Microsoft.Insights/', 'DatabaseOMSEvents')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/databases', parameters('sqlServerName'),parameters('sqlDatabaseName'))]",
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
],
"apiVersion": "2017-05-01-preview",
"properties": {
"name": "DatabaseOMSEvents",
"workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('omsWorkspaceName'))]",
"logs": [
{
"category": "AutomaticTuning",
"enabled": true,
"retentionPolicy": {
"days": 90,
"enabled": false
}
},
{
"category": "SQLInsights",
"enabled": true,
"retentionPolicy": {
"days": 90,
"enabled": false
}
}
]
}
}
],
"dependsOn": [
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
]
}
]`

Though, the deployment failed with above error, I can see the Server is getting deployed with auditing enabled and Diagnostics log also been created

Note: ARM template is working perfect without auditing to Log analytics.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with 201-sql-auditing-server-policy-to-oms/azuredeploy.json and the BlobAuditingNoServerIdentity deployment error, then inspect the server identity and dependsOn relationships among the server, auditingSettings, and diagnosticSettings resources. Done means the template enables auditing to Log Analytics without the reported failure while retaining the diagnostic logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, sql
Domain
databases, observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.