sqlschool.gr logo

articles

Articles of SQLschool.gr Team

Create a db_executor database role

Antonios Chatzipavlis
Wednesday 21 January 2015

Επειδή το security στη database είναι αρκετά σημαντικό και πραγματικά δεν ξέρω γιατί οι περισσότεροι δεν δίνουν την πρέπουσα σημασία σε αυτό το σύντομο post θα σας δώσω ένα tip του οποίου η εφαρμογή ξεπερνάει το 99% των περιπτώσεων.

Οι περισσότεροι χρήστες που μπαίνουν σε μια database δεν χρειάζονται τίποτα περισσότερο από read / write δικαιώματα. Αυτά τα δικαιώματα είναι εύκολο να αποδοθούν εντάσσοντας τους χρήστες στους ήδη προκαθορισμένους ρόλους που κάθε database έχει και δεν είναι άλλοι από τους db_datareader και db_datawriter.

Σε μια βάση υπάρχουν αρκετές stored procedures και functions που χρειάζεται να εκτελούν οι χρήστες είτε άμεσα είτε μέσα από τις εφαρμογές. Αυτό σημαίνει ότι πρέπει οι χρήστες να έχουν το δικαίωμα EXECUTE για να μπορούν να τις εκτελέσουν.

Επειδή δεν υπάρχει κάποιος έτοιμος database role για να δίνει το EXECUTE permission και επειδή θα πρέπει να το κάνεις για κάθε χρήστη και για κάθε SP ή UDF οι περισσότεροι βαριούνται (ναι αυτό συμβαίνει) και βάζουν όλους τους χρήστες στον db_owner role.

ΛΑΘΟΣ, ΜΕΓΑ ΛΑΘΟΣ!!!

Το γεγονός ότι δεν υπάρχει ο ρόλος αυτός δεν σημαίνει ότι δεν μπορούμε να τον φτιάξουμε και μάλιστα δεν παίρνει πάνω από 1 λεπτό για να γίνει κάτι τέτοιο.

Στο script που ακολουθεί δημιουργούμε το ρόλο και σε αυτόν τον ρόλο του δίνουμε το δικαίωμα EXECUTE. Αυτό ήταν από εκεί και πέρα όταν βάζουμε ένα χρήστη στην database απλά τον βάζουμε και στο ρόλο αυτό.

Είναι τόσο απλό….


USE [northwind] -- change to your database
GO
CREATE ROLE [db_executor]
GO

GRANT EXECUTE TO db_executor
GO

/*antonch*/

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios Chatzipavlis is a highly experienced Data Solutions Consultant and Trainer. He has been working in the IT industry since 1988, holding various roles such as senior developer, IT Manager, Data & AI Solutions Architect and Consultant.

Since 1995, Antonios has focused on modern technologies and software development tools, primarily by Microsoft. He has specialized in Data & AI since 2000, with expertise in Microsoft Data Platform (SQL Server, Azure SQL Databases, Azure Synapse Analytics, Microsoft Fabric, Power BI, AI) and Databricks.

Antonios is also a Microsoft Certified Trainer (MCT) for over 25 years, has been recognized as a Microsoft Most Valuable Professional (MVP) in Data Platform since 2010 and he is in the Data Expert 40 Powerlist 2024 by Boussias. He is the co-founder and visionary behind XLYTiCA, a company dedicated to Data & AI solutions.

Episode

Task Flows in Microsoft Fabric

image

More Episodes...

Tip

Get Certified: Become a Fabric Data Engineer

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2025 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.