Πώς φτιάχνουμε Logon Trigger για να ελέγχουμε τους χρήστες που επιτρέπουμε να συνδεθούν σε Oracle Database

Τελευταίες δημοσιεύσεις από Stratos Matzouranis (Προβολή όλων)
- Πώς φτιάχνουμε Logon Trigger για να ελέγχουμε τους χρήστες που επιτρέπουμε να συνδεθούν σε Oracle Database - 13 Ιανουάριος 2025
- Πώς συλλέγουμε to actual execution plan από τα queries με χρήση Extended Event και πως διαβάζουμε τα δεδομένα του - 2 Δεκέμβριος 2024
- Πώς βρίσκουμε τι δικαιώματα έχει ένας χρήστης σε Oracle Database - 1 Νοέμβριος 2024
Πολλές φορές μπορεί για λόγους ασφαλείας να θέλουμε να συνδέονται συγκεκριμένοι χρήστες μόνο από συγκεκριμένα μηχανήματα – servers και σε περίπτωση που έρθει μία σύνδεση απο διαφορετικό μηχάνημα να μην επιτρέπει την πρόσβαση αλλά να εμφανίσει ένα μήνυμα απόρριψης.
Αυτό μπορούμε να το κάνουμε πολύ εύκολα σε βάση δεδομένων της Oracle με την δημιουργία ενός Logon Trigger τρέχωντας τον παρακάτω κώδικα. Το μόνο που χρειάζεται να αλλαχτεί ειναι το όνομα του χρήστη και των host που θέλουμε να επιτρέψουμε να συνδέονται:
CREATE OR REPLACE TRIGGER logon_trigger AFTER LOGON ON DATABASE BEGIN IF USER = 'STRATOS' AND SYS_CONTEXT('USERENV', 'HOST') not in ('oracledev1','oracledev2') THEN RAISE_APPLICATION_ERROR(-20001, 'You are not allowed to login from this host.'); END IF; END; /
Όταν πάει πλέον να συνδεθεί κάποιος απο κάποιο host εκτός απο τα δύο αυτά που εξαιρέσαμε θα τους εμφανίσει το παρακάτω μήνυμα:

Για να το απενεργοποιήσουμε τρέχουμε το παρακάτω:
alter trigger logon_trigger disable;