Saltar al contenido

Έλεγχοι πρόσβασης για χρήστες και ρόλους σε SQL

17 de abril de 2021

Σε αυτό το άρθρο

Όλα τα σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων παρέχουν κάποιο είδος εγγενών μηχανισμών ασφάλειας που έχουν σχεδιαστεί για να ελαχιστοποιούν τις απειλές απώλειας δεδομένων, διαφθοράς δεδομένων ή κλοπής δεδομένων. Αυτά κυμαίνονται από την απλή προστασία με κωδικό πρόσβασης που προσφέρει η Microsoft Access έως τη σύνθετη δομή χρήστη / ρόλου που υποστηρίζεται από προηγμένες σχεσιακές βάσεις δεδομένων όπως το Oracle και ο Microsoft SQL Server. Ορισμένοι μηχανισμοί ασφαλείας είναι κοινοί σε όλες τις βάσεις δεδομένων που εφαρμόζουν τη γλώσσα δομημένου ερωτήματος.

Ασφάλεια επιπέδου χρήστη

Οι βάσεις δεδομένων που βασίζονται σε διακομιστή υποστηρίζουν a χρήστης έννοια παρόμοια με αυτήν που χρησιμοποιείται σε λειτουργικά συστήματα υπολογιστών. Εάν είστε εξοικειωμένοι με την ιεραρχία χρήστη / ομάδας που βρίσκεται στα Microsoft Windows NT και Windows 2000, θα διαπιστώσετε ότι οι ομάδες χρηστών / ρόλων που υποστηρίζονται από τον SQL Server και το Oracle είναι παρόμοιες. Δημιουργήστε μεμονωμένους λογαριασμούς χρηστών βάσης δεδομένων για κάθε άτομο με πρόσβαση στη βάση δεδομένων σας. Αποφύγετε την παροχή γενικών λογαριασμών προσβάσιμων από πολλά διαφορετικά άτομα. Πρώτον, αυτή η πρακτική εξαλείφει την ατομική υπευθυνότητα – εάν ένας χρήστης κάνει μια αλλαγή στη βάση δεδομένων σας (ας πούμε ότι δίνει στον εαυτό του μια αύξηση 5.000 $), δεν θα μπορείτε να το εντοπίσετε σε ένα συγκεκριμένο άτομο μέσω της χρήσης αρχείων καταγραφής ελέγχου. Δεύτερον, εάν ένας συγκεκριμένος χρήστης εγκαταλείψει τον οργανισμό σας και θέλετε να καταργήσετε την πρόσβασή του από τη βάση δεδομένων, πρέπει να αλλάξετε τον κωδικό πρόσβασης στον οποίο βασίζονται όλοι οι χρήστες.

OstapenkoOlena / Getty Images
Οι μέθοδοι για τη δημιουργία λογαριασμών χρηστών ποικίλλουν από πλατφόρμα σε πλατφόρμα και θα πρέπει να συμβουλευτείτε την τεκμηρίωση που σχετίζεται με το DBMS για την ακριβή διαδικασία. Οι χρήστες του Microsoft SQL Server πρέπει να ερευνήσουν τη χρήση του sp_adduser αποθηκευμένη διαδικασία. Οι διαχειριστές βάσεων δεδομένων της Oracle θα βρουν το ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ χρήσιμη εντολή. Ίσως θέλετε επίσης να διερευνήσετε εναλλακτικά σχήματα ελέγχου ταυτότητας. Για παράδειγμα, ο Microsoft SQL Server υποστηρίζει τη χρήση της Ολοκληρωμένης ασφάλειας των Windows NT. Στο πλαίσιο αυτού του σχήματος, οι χρήστες αναγνωρίζονται στη βάση δεδομένων από τους λογαριασμούς χρήστη των Windows NT και δεν απαιτείται να εισάγουν ένα πρόσθετο αναγνωριστικό χρήστη και κωδικό πρόσβασης για πρόσβαση στη βάση δεδομένων. Αυτή η προσέγγιση είναι δημοφιλής στους διαχειριστές βάσεων δεδομένων επειδή μεταφέρει το βάρος της διαχείρισης λογαριασμού στο προσωπικό διαχείρισης του δικτύου και παρέχει την ευκολία μιας μόνο σύνδεσης στον τελικό χρήστη.

Ασφάλεια επιπέδου ρόλου

Εάν βρίσκεστε σε περιβάλλον με μικρό αριθμό χρηστών, πιθανότατα θα διαπιστώσετε ότι η δημιουργία λογαριασμών χρηστών και η εκχώρηση δικαιωμάτων απευθείας σε αυτούς αρκεί για τις ανάγκες σας. Ωστόσο, εάν έχετε μεγάλο αριθμό χρηστών, θα είστε συγκλονισμένοι διατηρώντας λογαριασμούς και κατάλληλα δικαιώματα. Για την ανακούφιση αυτού του φόρτου, οι σχεσιακές βάσεις δεδομένων υποστηρίζουν ρόλοι. Οι ρόλοι της βάσης δεδομένων λειτουργούν παρόμοια με τις ομάδες των Windows NT. Οι λογαριασμοί χρηστών εκχωρούνται σε ρόλους (-ους) και τα δικαιώματα εκχωρούνται στη συνέχεια στο ρόλο ως σύνολο και όχι στους μεμονωμένους λογαριασμούς χρηστών. Για παράδειγμα, θα μπορούσατε να δημιουργήσετε έναν ρόλο DBA και, στη συνέχεια, να προσθέσετε τους λογαριασμούς χρήστη του διοικητικού σας προσωπικού σε αυτόν τον ρόλο. Μετά από αυτό, μπορείτε να εκχωρήσετε μια συγκεκριμένη άδεια σε όλους τους παρόντες (και μελλοντικούς) διαχειριστές, απλώς εκχωρώντας την άδεια στον ρόλο. Για άλλη μια φορά, οι διαδικασίες για τη δημιουργία ρόλων διαφέρουν από πλατφόρμα σε πλατφόρμα. Οι διαχειριστές του MS SQL Server πρέπει να διερευνήσουν το sp_addrole αποθηκευμένη διαδικασία ενώ τα Oracle DBAs θα πρέπει να χρησιμοποιούν το ΔΗΜΙΟΥΡΓΙΑ ΡΟΛΟΥ σύνταξη.

Εκχώρηση αδειών

Τώρα που προσθέσαμε χρήστες στη βάση δεδομένων μας, ήρθε η ώρα να αρχίσουμε να ενισχύουμε την ασφάλεια προσθέτοντας δικαιώματα. Το πρώτο μας βήμα θα είναι η παροχή κατάλληλων δικαιωμάτων βάσης δεδομένων στους χρήστες μας. Θα το επιτύχουμε μέσω της χρήσης της δήλωσης SQL GRANT. Ακολουθεί η σύνταξη της δήλωσης: GRANT

type = «code»>

[ON

type=»code»>

TO

type=»code»>

[WITH GRANT OPTION]

type = «code»> Τώρα, ας ρίξουμε μια ματιά σε αυτήν τη δήλωση κάθε γραμμή. Η πρώτη γραμμή, ΧΟΡΗΓΗΣΗ , μας επιτρέπει να καθορίσουμε τα συγκεκριμένα δικαιώματα πινάκων που εκχωρούμε. Αυτά μπορεί να είναι είτε δικαιώματα επιπέδου πίνακα (όπως SELECT, INSERT, UPDATE και DELETE) ή δικαιώματα βάσης δεδομένων (όπως CREATE TABLE, ALTER DATABASE και GRANT). Μπορούν να εκδοθούν περισσότερες από μία άδειες σε μία δήλωση GRANT, αλλά τα δικαιώματα επιπέδου πίνακα και τα δικαιώματα σε επίπεδο βάσης δεδομένων ενδέχεται να μην συνδυάζονται σε μία μόνο δήλωση. Η δεύτερη γραμμή, ΕΠΙ

Τέλος, η τέταρτη γραμμή, ΜΕ ΕΠΙΛΟΓΗ ΕΠΙΧΟΡΗΓΗΣΗΣ, είναι προαιρετικό. Εάν αυτή η γραμμή περιλαμβάνεται στη δήλωση, ο επηρεαζόμενος χρήστης επιτρέπεται επίσης να παραχωρήσει αυτά τα ίδια δικαιώματα σε άλλους χρήστες. Σημειώστε ότι η επιλογή ΕΠΙΔΟΤΗΣΗ ΜΕ ΔΩΡΕΑΝ δεν μπορεί να καθοριστεί όταν τα δικαιώματα εκχωρούνται σε έναν ρόλο

Παράδειγμα επιχορηγήσεων βάσης δεδομένων

Ας δούμε μερικά παραδείγματα. Στο πρώτο μας σενάριο, προσλάβαμε πρόσφατα μια ομάδα 42 τελεστών εισαγωγής δεδομένων που θα προσθέσουν και θα διατηρήσουν αρχεία πελατών. Πρέπει να έχουν πρόσβαση σε πληροφορίες στον πίνακα Πελάτες, να τροποποιούν αυτές τις πληροφορίες και να προσθέτουν νέες εγγραφές στον πίνακα. Δεν θα πρέπει να μπορούν να διαγράψουν εντελώς μια εγγραφή από τη βάση δεδομένων. Πρώτον, πρέπει να δημιουργήσουμε λογαριασμούς χρηστών για κάθε χειριστή και στη συνέχεια να τους προσθέσουμε σε έναν νέο ρόλο, Εισαγωγή δεδομένων. Στη συνέχεια, πρέπει να χρησιμοποιήσουμε την ακόλουθη δήλωση SQL για να τους παραχωρήσουμε τα κατάλληλα δικαιώματα: ΕΠΙΛΕΞΤΕ ΕΠΙΛΟΓΗ, ΕΙΣΑΓΩΓΗ, ΕΝΗΜΕΡΩΣΗ

type = «code»> ON πελάτες

type = «code»> TO DataEntry

type = «code»> Ας εξετάσουμε τώρα μια περίπτωση όπου εκχωρούμε δικαιώματα σε επίπεδο βάσης δεδομένων. Θέλουμε να επιτρέψουμε στα μέλη του ρόλου DBA να προσθέσουν νέους πίνακες στη βάση δεδομένων μας. Επιπλέον, θέλουμε να μπορούν να παραχωρήσουν σε άλλους χρήστες άδεια να κάνουν το ίδιο. Ακολουθεί η δήλωση SQL: GRANT CREATE TABLE

type = «code»> ΣΤΟ DBA

type = «code»> ΜΕ ΕΠΙΛΟΓΗ ΧΟΡΗΓΗΣΗΣ

type = «code»> Παρατηρήστε ότι συμπεριλάβαμε τη γραμμή ΜΕ ΕΠΙΛΟΓΗ ΕΠΙΔΟΣΗΣ για να διασφαλίσουμε ότι τα DBA μας μπορούν να εκχωρήσουν αυτήν την άδεια σε άλλους χρήστες.

Κατάργηση δικαιωμάτων

Το SQL περιλαμβάνει την εντολή REVOKE για την κατάργηση προηγούμενων δικαιωμάτων. Εδώ είναι η σύνταξη: REVOKE [GRANT OPTION FOR]

type = «code»> ΕΝΕΡΓΟ

type = «code»> ΑΠΟ

type = «code»> Θα παρατηρήσετε ότι η σύνταξη αυτής της εντολής είναι παρόμοια με αυτήν της εντολής GRANT. Η μόνη διαφορά είναι ότι με ΕΠΙΛΟΓΗ ΕΠΙΛΟΓΗΣ καθορίζεται στη γραμμή εντολών REVOKE και όχι στο τέλος της εντολής. Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να ανακαλέσουμε την προηγούμενη άδεια της Mary για την κατάργηση εγγραφών από τη βάση δεδομένων Πελάτες. Θα χρησιμοποιούσαμε την ακόλουθη εντολή: REVOKE DELETE

type = «code»> ON πελάτες

type = «code»> ΑΠΟ Mary

type = «code»> Υπάρχει ένας επιπλέον μηχανισμός που υποστηρίζεται από τον Microsoft SQL Server που αξίζει να αναφερθεί – η εντολή DENY. Αυτή η εντολή μπορεί να χρησιμοποιηθεί για να αρνηθεί ρητά μια άδεια σε έναν χρήστη που διαφορετικά θα είχε μέσω μιας τρέχουσας ή μελλοντικής ιδιότητας μέλους ρόλου. Εδώ είναι η σύνταξη: DENY

type = «code»> ΕΝΕΡΓΟ

type = «code»> TO

type = «code»> Περισσότερα από το kalodiozois

  • Κωδικός SQL σε μια οθόνη υπολογιστή

    Γλώσσα ελέγχου δεδομένων (DCL)

  • Ιδιότητες ανίχνευσης στον Microsoft SQL Server 2012

    Δημιουργία ιχνών με SQL Server 2012

  • Γραφικό κώδικα υπολογιστή

    Ένας οδηγός για τη δημιουργία λογαριασμών χρηστών SQL Server 2012

  • Πώς να δημιουργήσετε χρήστες και να εκχωρήσετε δικαιώματα στο MySQL

  • Το σχήμα ανάπτυξης βάσης δεδομένων περιγράφεται σε χαρτί.

    Δημιουργία λογαριασμού βάσης δεδομένων SQL Server 2008

  • Διαχείριση διαμόρφωσης διακομιστή SQL

    Εκκίνηση του SQL Server Agent: Ρύθμιση παραμέτρων του SQL Server 2012

  • Δωμάτιο διακομιστή με ράφια και εξοπλισμό

    Τι πρέπει να γνωρίζετε για τη γλώσσα δομημένων ερωτημάτων

  • Στιγμιότυπο οθόνης παρακολούθησης προφίλ SQL Server

    Πώς να δημιουργήσετε ένα ίχνος με προφίλer στον SQL Server 2008

  • Προτροπή Sudo στη γραμμή εντολών Linux

    Πώς να χρησιμοποιήσετε το Ubuntu για να προσθέσετε έναν χρήστη στο Sudoers

  • Εννοιολογική απεικόνιση δεδομένων και προσωπικών πληροφοριών σε δακτυλικό αποτύπωμα.

    Επιλογή λειτουργίας ελέγχου ταυτότητας διακομιστή SQL

  • Δωμάτιο διακομιστή με ράφια και εξοπλισμό

    Οι βασικές αρχές της SQL

  • Δωμάτιο διακομιστή, υπολογιστής, τεχνολογία,

    Ξεκινώντας μια καριέρα σε βάσεις δεδομένων

  • Διαχειριστής βάσης δεδομένων που εργάζεται στο γραφείο

    Καθοριστικοί παράγοντες και ο ρόλος τους σε μια βάση δεδομένων

  • Οθόνη υπολογιστή Ubuntu

    Πώς να δημιουργήσετε έναν διακομιστή Web LAMP χρησιμοποιώντας το Ubuntu

  • Προγραμματιστής στην εργασία μπροστά από πολλούς υπολογιστές

    Τα 9 καλύτερα βιβλία SQL του 2021

  • Επιχειρηματίας στον επιτραπέζιο υπολογιστή

    Πώς να αλλάξετε προσωρινά λογαριασμούς και δικαιώματα

Σωσίβιο

Λάβετε τις τελευταίες τεχνολογίες που παραδίδονται καθημερινά





εισαγω

Παρουσιάστηκε σφάλμα. ΠΑΡΑΚΑΛΩ προσπαθησε ξανα. Είσαι μέσα! Ευχαριστούμε που εγγραφήκατε. Παρουσιάστηκε σφάλμα. ΠΑΡΑΚΑΛΩ προσπαθησε ξανα. Σας ευχαριστώ για εγγραφή.

Ακολουθησε μας

  • Facebook

  • Σχετικά με εμάς
  • Διαφημίζω
  • Πολιτική απορρήτου
  • Πολιτική cookie
  • Καριέρα
  • Οδηγίες σύνταξης
  • Επικοινωνία
  • Οροι χρήσης
  • Απόρρητο της ΕΕ
  • Σημείωση απορρήτου της Καλιφόρνια



Τα δικαιώματα απορρήτου σας

Η kalodiozois και οι τρίτοι συνεργάτες μας χρησιμοποιούν cookie και επεξεργάζονται προσωπικά δεδομένα, όπως μοναδικά αναγνωριστικά, βάσει της συγκατάθεσής σας για αποθήκευση ή / και πρόσβαση σε πληροφορίες σε μια συσκευή, εμφάνιση εξατομικευμένων διαφημίσεων και για μέτρηση περιεχομένου, πληροφορίες κοινού και ανάπτυξη προϊόντων. Για να αλλάξετε ή να ανακαλέσετε τις επιλογές συγκατάθεσής σας για το kalodiozois.com, συμπεριλαμβανομένου του δικαιώματός σας να αντιταχθείτε όταν χρησιμοποιείται έννομο συμφέρον, κάντε κλικ παρακάτω. Ανά πάσα στιγμή, μπορείτε να ενημερώσετε τις ρυθμίσεις σας μέσω του συνδέσμου «Απόρρητο ΕΕ» στο κάτω μέρος οποιασδήποτε σελίδας. Αυτές οι επιλογές θα σηματοδοτηθούν παγκοσμίως στους συνεργάτες μας και δεν θα επηρεάσουν τα δεδομένα περιήγησης. Λίστα Συνεργατών (προμηθευτών)

Εμείς και οι συνεργάτες μας επεξεργαζόμαστε δεδομένα για:

Ενεργά σαρώστε τα χαρακτηριστικά της συσκευής για αναγνώριση. Χρησιμοποιήστε ακριβή δεδομένα γεωγραφικής τοποθεσίας. Αποθηκεύστε ή / και αποκτήστε πρόσβαση σε πληροφορίες σε μια συσκευή. Επιλέξτε εξατομικευμένο περιεχόμενο. Δημιουργήστε ένα εξατομικευμένο προφίλ περιεχομένου. Μετρήστε την απόδοση των διαφημίσεων. Επιλέξτε βασικές διαφημίσεις. Δημιουργήστε ένα εξατομικευμένο προφίλ διαφημίσεων. Επιλέξτε εξατομικευμένες διαφημίσεις. Εφαρμόστε έρευνα αγοράς για να δημιουργήσετε πληροφορίες κοινού. Μετρήστε την απόδοση περιεχομένου. Ανάπτυξη και βελτίωση προϊόντων. Λίστα Συνεργατών (προμηθευτών)