Ich möchte verschiedenen Benutzern auf der Grundlage ihrer Abteilung unterschiedliche Zugriffsrechte auf Tabellen geben. Soll ich zu diesem Zweck Schema oder Rollen verwenden?Soll ich Rollen oder Schemas verwenden, um Benutzern Zugriff auf ihre Abteilung zu gewähren?
Antwort
Rollen wäre der Weg, hier zu gehen. Rollen sollten immer dann verwendet werden, wenn Sie Gruppen haben (d. H. Depts. In Ihrem Fall), die bestimmte Benutzerrechte für Tabellen benötigen, unabhängig davon, in welchem Schema sie sich befinden. Dadurch werden Fehler vermieden und die Arbeit des DB-Administrators erleichtert.
Stellen Sie sich Rollen als Gruppierungen für Benutzer und die zugehörigen Rechte für diese Benutzergruppe vor, während Schemas zum logischen Gruppieren von Datensätzen dienen.
bearbeitet basierend auf Benutzerkommentar:
Sie können, aber der Zugang zu einer bestimmten Tabelle zu begrenzen Schema verwendet, ist vielleicht nicht der beste Weg, um darüber nachzudenken. Schemas werden zum Gruppieren von Daten verwendet. Sie können also ein "Verkaufsschema" mit Tabellen, Prozeduren usw. haben, die vom Verkaufsteam benötigt werden. Sie können dann GRANT SELECT ON SCHEMA::sales TO salesRole;
sagen, wo Sie ein Schema als Verknüpfung verwenden, um einer Gruppe von Benutzern Berechtigungen zu erteilen, bei denen jeder Vertriebsmitarbeiter die Rolle salesRole erteilt hat. Jede Tabelle, die später im Verkaufsschema erstellt wird, kann auch von den Benutzern mit dieser Rolle ausgewählt werden. Wenn das Verkaufsteam nur diese Rolle verwendet und keine anderen Berechtigungen besitzt, kann eine in einem anderen Schema erstellte Tabelle von diesen Benutzern nicht verwendet werden. Wenn Sie das unter "Einschränkung des Zugriffs mithilfe von Schema" verstehen, dann ja, aber ich ziehe es vor, es als Benutzer zu betrachten, dem keine Rechte durch eine Rolle oder eine explizite Zuteilung gewährt werden. Hoffe, dass dies zur Klärung beiträgt.
Sie können eine Kombination aus beidem verwenden. Verwendet ein Schema, um Objekte zu trennen, die logisch gruppiert sein können. Verwendet Rollen, um unterschiedliche Zugriffskonfigurationen zu erstellen und den Schemas Zugriff auf die Rollen zu gewähren, die Sie bereits erstellt haben (gemäß Ihrer Geschäftslogik).
- 1. Wie kann ich Cancan verwenden, um Benutzern Privilegien mit Ausnahme zu gewähren?
- 2. Soll ich HL7 RIM verwenden oder mein eigenes Datenmodell rollen?
- 3. LDAP beste Möglichkeit, um Benutzern Rollen zuzuweisen
- 4. Gewähren freigegebene Hosts Zugriff auf INFORMATION_SCHEMAs?
- 5. Beste Authentifizierungsmethode, um API-Zugriff auf Rails-App zu gewähren
- 6. Zugriff gewähren zu Master db
- 7. SQL Server: Gewähren Sie allen Benutzern Lesezugriff auf eine Datenbank
- 8. Verwenden Sie Ihre eigene API, um Ihre Website zu erstellen
- 9. Gewähren von Zugriff auf IIS 7.5 Application
- 10. Soll ich die Position von XML-Elementen verwenden, um ihre Reihenfolge zu bestimmen?
- 11. Zugriff auf einen neuen Host gewähren?
- 12. Zugriff auf Hunderte von SPs gewähren?
- 13. Zugriff auf Aktion an Rolle gewähren
- 14. Befehl zum Gewähren von Zugriff auf MySQL
- 15. Anonymen Benutzern den Zugriff auf Sonar verweigern
- 16. Soll ich Pylons Paste verwenden, um meine Pylons-Website zu hosten? Oder kann ich Apache verwenden?
- 17. Soll ich System.out.println() oder etwas anderes verwenden?
- 18. Zugriff auf NAB programmatisch auf iOS 7.0 Simulator gewähren
- 19. Oracle-Datenbank-Links zum Gewähren/Widerrufen von Rollen
- 20. Soll ich JSON oder XML oder etwas verwenden, um den Seiteninhalt alle X Zeit zu holen?
- 21. GRANTs für Rollen in Schemas neu generieren
- 22. Soll ich Dockerfiles oder Image-Commits verwenden?
- 23. Java: Soll ich Float oder Float verwenden?
- 24. Gewähren des Zugriffs auf Firebase-Standorte für eine Gruppe von Benutzern
- 25. Soll ich TreeSet oder HashSet verwenden?
- 26. Soll ich Umbraco dafür verwenden?
- 27. Was soll ich verwenden, um mehrere Bilder zu speichern?
- 28. Soll ich Vererbung oder Zusammensetzung verwenden?
- 29. Soll ich CouchDB oder SimpleDB verwenden?
- 30. Wie erschwere ich es Benutzern, MP3-Dateien von meiner Website auf ihre Festplatten zu speichern?
Haben Sie Ihren Punkt, Danke. Kann ich einigen Benutzern den Zugriff auf eine bestimmte Tabelle nur mithilfe von Schema einschränken? –