SQL Server › SQL Server Security & Permissions
What is the principle of least privilege, and how should it guide how you grant permissions in SQL Server?
IntermediateAnswer
The principle of least privilege means giving a user or application only the specific permissions they actually need to perform their job, and nothing more, reducing the potential damage that could occur from a mistake, a compromised account, or a security vulnerability, since an account with limited permissions can only cause limited harm even in the worst case.
-- Grant only what is specifically needed
GRANT SELECT ON Orders TO ReportingApp;
-- Avoid granting broad permissions like db_owner unless truly necessaryReal-world example A company grants their reporting application account only SELECT permission on the specific tables it actually needs, rather than the much broader db_owner role, significantly limiting potential damage if that application's credentials were ever compromised.