Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Datenbank vor einer Kopie schützen

  1. #1
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard Datenbank vor einer Kopie schützen

    Hallo Leute,

    und zwar beschäftigt mich das Thema, meine Datenbank vor einer Kopier zu schützen.

    Es gibt bei einige User, die Lese zugriff auf meine Datenbank haben. Nur will ich nicht, dass sie diese kopieren können, sondern nur ein paar Datenauslesen können.

    Ich hab mich gerade mal ein wenig mit Funktionen/Trigger beschäftigt, nur sehe ich dort keine Möglichkeit - evt. kann mich hier jemand korrigieren??

    Eine Möglichkeit sehe ich darin, dass ich die Anfrage modifiziere, indem ich einem SELECT Anfrage ein Limit setze.

    Aus .. wird
    SELECT * FROM tb => SELECT * FROM tb LIMIT 0,100

    NUr mit was kann ich das realisieren, bzw. ist das Möglich?

    Für Ideen oder sonstiges wäre ich sehr dankbar

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Nicht möglich.

    Wenn jemand lesenden Zugriff auf deine Daten hat, kann er über kurz oder lang alle Daten auslesen und bei sich ablegen.

    Was ist so wichtig, das du es schützen möchtest, aber trotzdem lesenden Zugriff vergibst?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von CenText Beitrag anzeigen
    Hallo Leute,

    und zwar beschäftigt mich das Thema, meine Datenbank vor einer Kopier zu schützen.

    Es gibt bei einige User, die Lese zugriff auf meine Datenbank haben. Nur will ich nicht, dass sie diese kopieren können, sondern nur ein paar Datenauslesen können.
    Vermutlich willst Du doch eher, daß die User nur die Daten zu sehen bekommen und auch verändern können, die ihnen gehören. Ob der User dann mit einem Schlag alle 100 Datensätze auslesen kann oder dazu 50 selects mit je 2 Sätzen macht ist doch in Zeiten, wo man sowas programmieren kann, völlig egal.

    Die User haben eigene Logins? Du kannst mit den Usern und auch Gruppen hantieren. Z.B. pro Tablerecord ein extra Feld mit dem Usernamen. Dann den Zugriff auf die Tabelle selbst den Usern verbieten und statt dessen ein VIEW erzeugen, der nur das anzeigt, wo oben genannte Extra-Spalte gleich dem CURRENT_USER ist.

    Ich hab mich gerade mal ein wenig mit Funktionen/Trigger beschäftigt, nur sehe ich dort keine Möglichkeit - evt. kann mich hier jemand korrigieren??
    Nicht wirklich falsch die Idee. Mit den Trigger beim INSERT die extra Spalte mit dem Usernamen befüllen. Eine Funktion, security auf definer stellen, die Daten einfügen darf. Details dazu hier:
    PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: CREATE FUNCTION

    Eine Möglichkeit sehe ich darin, dass ich die Anfrage modifiziere, indem ich einem SELECT Anfrage ein Limit setze.

    Aus .. wird
    SELECT * FROM tb => SELECT * FROM tb LIMIT 0,100
    Ich muß Dir jetzt nicht erklären, daß das Bullshit ist, oder?


    Andreas
    Welcome Tamara!
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard

    Ich habe Eine datenbank, die aus 1.000.0000 Daten von objekte bestehen. Ein Query sieht dann so aus:

    SELECT * FROM table WHERE name="bla" or "blaa"

    Ich will nur solche Anfragen zulassen, selects ohne where klausel sind zum kopiren sehr gut
    und ich könnte so den kopiervorgang verkompliziertern.

    Zitat Zitat von akretschmer Beitrag anzeigen
    Nicht wirklich falsch die Idee. Mit den Trigger beim INSERT die extra Spalte mit dem Usernamen befüllen. Eine Funktion, security auf definer stellen, die Daten einfügen darf. Details dazu hier:
    PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: CREATE FUNCTION



    Ich muß Dir jetzt nicht erklären, daß das Bullshit ist, oder?


    Andreas
    Welcome Tamara!
    Interessant

  5. #5
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Zitat Zitat von CenText Beitrag anzeigen
    Ich will nur solche Anfragen zulassen, selects ohne where klausel sind zum kopiren sehr gut
    und ich könnte so den kopiervorgang verkompliziertern.
    Bullshit, sorry.

    Das hält mich ungefähr eine foreach Schleife länger in meinem Programm auf.


    Noch mal im Klartext: wenn jemand Zugriff auf alle Daten hat, kann er auch alle Daten kopieren.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  6. #6
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Bullshit, sorry.

    Das hält mich ungefähr eine foreach Schleife länger in meinem Programm auf.


    Noch mal im Klartext: wenn jemand Zugriff auf alle Daten hat, kann er auch alle Daten kopieren.

    Also wenn ich nur where klauseln zulasse mit name="bla" und nur zugriff auf eine view (ohne id) habe, bin ich der Meinung, dass es fast nicht möglich ist diese zu kopieren.
    Darüber hinaus ein Query limit ....

  7. #7
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Nur: wie möchtest du verhindern, das jemand andere Anfragen an deine Datenbank stellt?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  8. #8
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Nur: wie möchtest du verhindern, das jemand andere Anfragen an deine Datenbank stellt?
    Das ist die Frage die sich stellt. Kann man nicht ein Funktion schreiben, die nur 5 Queries erlaubt, und dies dann in der Funktion abändern?

  9. #9
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    *seufz* und wie rufst du diese Funktion auf, ohne die "ganzen anderen" normalen Möglichkeiten wie SELECT, INSERT, UPDATE?

    Langsam habe ich genug von dieser Diskussion, dein Ansatz bringt imho nichts. Wenn du Daten sicher aufbewahren möchtest, darfst du keinen allgemeinen Zugriff darauf gewähren.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  10. #10
    CenText ist offline Erfahrener Benutzer
    Registriert seit
    29.07.2007
    Beiträge
    220

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    *seufz* und wie rufst du diese Funktion auf, ohne die "ganzen anderen" normalen Möglichkeiten wie SELECT, INSERT, UPDATE?

    Langsam habe ich genug von dieser Diskussion, dein Ansatz bringt imho nichts. Wenn du Daten sicher aufbewahren möchtest, darfst du keinen allgemeinen Zugriff darauf gewähren.
    Ok evt. hab ich mich nicht richtig ausgedrückt. Ich will im Prinzip nur eine Select Anfrage erlauben.

    Darüber hinaus, sind mir alle Querys bekannt, die angefragt werden (sind ca. 5-7 verschiedene).
    Kann ich diese Querys, dessen definition ich genau kenne nicht abfangen?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Neue Tabelle (Struktur) erstellen als Kopie der Referenztabelle
    Von Sergius im Forum Trigger und Funktionen
    Antworten: 8
    Letzter Beitrag: 20.06.2011, 08:28
  2. Sinnvolles Design einer Datenbank
    Von araxes im Forum Verschiedenes
    Antworten: 5
    Letzter Beitrag: 18.01.2011, 20:26
  3. Datenbank-Kopie - Fehler beim Import
    Von murphy im Forum SQL
    Antworten: 14
    Letzter Beitrag: 30.04.2010, 11:41
  4. Frage Tabellen Suchen in einer Datenbank
    Von Wolf im Forum SQL
    Antworten: 2
    Letzter Beitrag: 23.09.2008, 12:23
  5. Daten in DB schützen
    Von kA im Forum Programmierung
    Antworten: 8
    Letzter Beitrag: 27.01.2007, 14:03

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum