Rule ID
SV-276254r1149671_rule
Version
V1R1
CCIs
Changes in the database objects (tables, views, procedures, functions) that record and control permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized changes to the security subsystem could go undetected. The database could be severely compromised or rendered inoperative. Satisfies: SRG-APP-000496-DB-000334, SRG-APP-000496-DB-000335
Review Azure SQL Managed Instance configuration to verify that audit records are produced when security objects are modified.
To determine if an audit is configured and started by executing the following query:
SELECT name AS 'Audit Name',
status_desc AS 'Audit Status',
audit_file_path AS 'Current Audit File'
FROM sys.dm_server_audit_status
WHERE name NOT IN ('admin_audit','SqlDbThreatDetection_ServerAudit')
If no records are returned, this is a finding.
Execute the following query to verify the 'SCHEMA_OBJECT_CHANGE_GROUP' is included in the server audit specification.
SELECT a.name AS 'AuditName',
s.name AS 'SpecName',
d.audit_action_name AS 'ActionName',
d.audited_result AS 'Result'
FROM sys.server_audit_specifications s
JOIN sys.server_audits a ON s.audit_guid = a.audit_guid
JOIN sys.server_audit_specification_details d ON s.server_specification_id = d.server_specification_id
WHERE a.is_state_enabled = 1 AND d.audit_action_name = 'SCHEMA_OBJECT_CHANGE_GROUP'
If the 'SCHEMA_OBJECT_CHANGE_GROUP' is not returned in an active audit, this is a finding.Deploy an Azure SQL Managed Instance audit refer to the supplemental file "AzureSQLMIAudit.txt" script. Reference: https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/auditing-configure?view=azuresql