SV-271146r1109183_rule
V-271146
SRG-APP-000133-DB-000200
SQLD-22-001300
CAT II
10
Document and obtain approval for any account(s) authorized for object ownership. If necessary, use the ALTER AUTHORIZATION command to change object ownership to an authorized account.
Example provided below.
ALTER AUTHORIZATION ON OBJECT::test.table TO AuthorizedUser;
https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-authorization-transact-sql
Review system documentation to identify SQL Server accounts authorized to own database objects.
If the SQL Server database ownership list does not exist or needs to be updated, this is a finding.
Use the following query to make this determination:
;with objects_cte as
(SELECT o.name, o.type_desc,
CASE
WHEN o.principal_id is null then s.principal_id
ELSE o.principal_id
END as principal_id
FROM sys.objects o
INNER JOIN sys.schemas s
ON o.schema_id = s.schema_id
WHERE o.is_ms_shipped = 0
)
SELECT cte.name, cte.type_desc, dp.name as ObjectOwner
FROM objects_cte cte
INNER JOIN sys.database_principals dp
ON cte.principal_id = dp.principal_id
ORDER BY dp.name, cte.name
If any of the listed owners are not authorized, this is a finding.
V-271146
False
SQLD-22-001300
Review system documentation to identify SQL Server accounts authorized to own database objects.
If the SQL Server database ownership list does not exist or needs to be updated, this is a finding.
Use the following query to make this determination:
;with objects_cte as
(SELECT o.name, o.type_desc,
CASE
WHEN o.principal_id is null then s.principal_id
ELSE o.principal_id
END as principal_id
FROM sys.objects o
INNER JOIN sys.schemas s
ON o.schema_id = s.schema_id
WHERE o.is_ms_shipped = 0
)
SELECT cte.name, cte.type_desc, dp.name as ObjectOwner
FROM objects_cte cte
INNER JOIN sys.database_principals dp
ON cte.principal_id = dp.principal_id
ORDER BY dp.name, cte.name
If any of the listed owners are not authorized, this is a finding.
M
5676