SV-213907r1167464_rule
V-213907
SRG-APP-000133-DB-000179
SQL6-D0-001200
CAT II
10
Transfer ownership of database schemas to authorized database principals.
ALTER AUTHORIZATION ON SCHEMA::[<Schema Name>] TO [<Principal Name>]
Obtain a listing of schema ownership from the server documentation.
Execute the following query to obtain a current listing of schema ownership.
SELECT s.name AS schema_name, p.name AS owning_principal
FROM sys.schemas s
JOIN sys.database_principals p ON s.principal_id = p.principal_id
WHERE p.name != 'dbo'
AND (s.name != p.name
or p.name not in
( 'db_accessadmin'
, 'db_backupoperator'
, 'db_datareader'
, 'db_datawriter'
, 'db_ddladmin'
, 'db_denydatareader'
, 'db_denydatawriter'
, 'db_owner'
, 'db_securityadmin'
, 'guest'
, 'INFORMATION_SCHEMA'
, 'sys'
, 'TargetServersRole'
, 'SQLAgentUserRole'
, 'SQLAgentReaderRole'
, 'SQLAgentOperatorRole'
, 'DatabaseMailUserRole'
, 'db_ssisadmin'
, 'db_ssisltduser'
, 'db_ssisoperator'
, 'replmonitor'
, '##MS_SSISServerCleanupJobLogin##'
)
)
ORDER BY schema_name
If any schema is owned by an unauthorized database principal, this is a finding.
V-213907
False
SQL6-D0-001200
Obtain a listing of schema ownership from the server documentation.
Execute the following query to obtain a current listing of schema ownership.
SELECT s.name AS schema_name, p.name AS owning_principal
FROM sys.schemas s
JOIN sys.database_principals p ON s.principal_id = p.principal_id
WHERE p.name != 'dbo'
AND (s.name != p.name
or p.name not in
( 'db_accessadmin'
, 'db_backupoperator'
, 'db_datareader'
, 'db_datawriter'
, 'db_ddladmin'
, 'db_denydatareader'
, 'db_denydatawriter'
, 'db_owner'
, 'db_securityadmin'
, 'guest'
, 'INFORMATION_SCHEMA'
, 'sys'
, 'TargetServersRole'
, 'SQLAgentUserRole'
, 'SQLAgentReaderRole'
, 'SQLAgentOperatorRole'
, 'DatabaseMailUserRole'
, 'db_ssisadmin'
, 'db_ssisltduser'
, 'db_ssisoperator'
, 'replmonitor'
, '##MS_SSISServerCleanupJobLogin##'
)
)
ORDER BY schema_name
If any schema is owned by an unauthorized database principal, this is a finding.
M
3992