A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  Sonderzeichen  sybase-tech-blog


Kategorie: ASE: Benutzer, Rollen und Berechtigungen

Rollen, Roles

Rollen, oder engl. Roles sind eine Technik des ASE, um eine Anzahl von Berechtigungen, oder Privilegien, einem oder mehreren Logins serverweit zuzuweisen. Jedes Login kann dabei eine oder mehrere Rollen zugewiesen bekommen. Rollen können zusätzlich auch anderen Rollen zugewiesen werden, wodurch eine Rollenhierarchie entsteht. Das bedeutet, dass ein Login, dem eine Rolle zugewiesen wurde, auch alle Berechtigungen der Rollen erbt, die in der Hierarchie unter der zugewiesen Rolle stehen. Zum Beispiel könnte es in einem Unternehmen eine Rolle geben, die einen Manager berechtigt, Gehälter von Angestellten in der Zweigstelle Sidney einzusehen. Eine weitere Rolle beinhaltet ähnliche Privilegien auf Informationen für die Angestellten in New York. Einer dritten Rolle, die der "Chief Financial Officer" des Unternehmens inne hat, sind diese beiden Rollen zugewiesen. Somit hat er vollen Zugriff auf die Gehaltsinformationen der Angestellten in beiden Lokationen. Rollen können entweder aktiv oder inaktiv sein, das bedeutet, inaktive Rollen müssen durch den Nutzer explizit angeschaltet werden, damit die damit verbunden Privilegien wirksam werden. Standardmäßig sind System Rollen aktiv. Im ASE nennt man diese Zweiteilung default on für "Aktiv" und default off für "Inaktiv".

Im ASE gibt es zwei Sorten von Rollen, die "System Rollen", die bei der Installation des ASE angelegt werden, und die " Nutzer definierten Rollen", die von administrativen Datenbanknutzern, nach der Installation angelegt werden. Zu den System Rollen gehören - versionsabhängig - 12 Rollen, wobei die ersten drei Rollen die am häufigsten gebrauchten sind:

  • sa_role - umgeht die meisten Sicherheitsüberprüfungen und beinhaltet Datenbankowner (dbo) -Rechte für jede Datenbank
  • sso_role - benötigt für fast alle Sicherheitsrelevanten Aufgaben
  • oper_role - ermöglicht Zugriff auf dump und load Operationen für Datenbanken und Transaktionslogs.
  • sybase_ts_role - wird für die meisten dbcc Kommandos benötigt.
  • replication_role - für Aufgaben den Replication Server betreffend.
  • mon_role - notwendig für Aufgaben die Serverüberwachung betreffend, wie z.B. den Monitor Server oder MDA Tabellen.
  • dtm_tm_role - benötigt für Aufgaben das "Distributed Transaction Management" betreffend.
  • ha_role - für die Konfiguration des "High Availability" Features
  • js_admin_role, js_client_role, js_user_role - ab ASE Version 12.5.1 benötigt für den "Job Scheduler"
  • messaging_role - ab Version 12.5.2 benötigt für Aufgaben im Bereich "Real Time Data Services"
  • webservices_role - ab Version 15.0 benötigt für "Webservices"-Aufgaben
  • navigator_role - bis Version 11.0, nunmehr nicht mehr benötigt. Wurde genutzt für Sybase MPP ("Massive Parallel Processing"), einer Datenwarenhausvariante.
Standardmäßig besitzt das Login "sa" die Rollen sa_role, sso_role und oper_role. Nutzerdefinierte Rollen werden angelegt mit dem Kommando create role.

Wo werden Rolleninformationen gespeichert?

Alle definierten Rollen werden in der Datenbank master in der System Tabelle syssrvroles gespeichert. Zuweisungen der Rollen zu individuellen Logins findet man in der Tabelle sysloginroles, die sich ebenfalls in der master-Datenbank befindet.

Informationen über eigene Rollen

Weitere Informationen über Rollen, die dem eigenen Login zugeweisen wurden, liefern die Stored Procedures:

  • sp_displayroles - listet alle Rollen, die dem Login zugewiesen wurden, unabhängig davon, ob sie gerade aktiv oder inaktiv sind.
  • sp_activeroles - listet alle aktivierten Rollen.