Azure / Azure/azure-quickstart-templates
BlobAuditingNoServerIdentity error while enabling Azure SQL Server Auditing to Log Analytics
- 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