Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Benutzer- und Datenbanksicherheit » Benutzersicherheit (Rollen und Privilegien) » Upgrade auf rollenbasierte Sicherheit

 

Änderungen der GRANT-Anweisungssyntax

Wenn Sie Anwendungen haben, die die GRANT-Anweisungssyntax aus Datenbanken vor Version 16.0 für Berechtigungen und Gruppen verwenden, sollten Sie diese auf die aktualisierte Syntax für Rollen und Privilegien umstellen. Die folgende Tabelle zeigt, wie die Anweisungen geändert werden müssen. Die Verwendung der alten GRANT-Syntax für Berechtigungen und Gruppen wird zwar noch unterstützt, aber nicht mehr empfohlen.

Vererbungsverhalten für frühere Berechtigungen auf Datenbankebene

In Datenbanken vor Version 16.0 waren die Berechtigungen DBA, REMOTE DBA, BACKUP und RESOURCE und VALIDATE nicht vererbbar, wenn sie einem als Gruppe fungierenden Benutzer zugeordnet waren. Mitglieder dieser Gruppe konnten nicht die Funktionen der Berechtigung erben.

Beim Upgrade einer Datenbank vor Version 16.0 wird automatisch die äquivalente Rolle erteilt (z.B. SYS_AUTH_BACKUP_ROLE statt der BACKUP-Berechtigung) und die WITH NO SYSTEM PRIVILEGE INHERITANCE-Klausel wird angegeben, um sicherzustellen, dass das Vererbungsverhalten mit früheren Versionen übereinstimmt. Mitglieder der Gruppe erben nicht die Privilegien, die die Rolle bereitstellt.

Ebenso gilt: Wenn Sie weiterhin die nicht mehr empfohlene GRANT-Syntax verwenden, um DBA, REMOTE DBA, BACKUP, RESOURCE und VALIDATE zu erteilen, wird das alte Verhalten der Nichtvererbung beibehalten. Das bedeutet, die äquivalente Rolle wird erteilt und die WITH NO SYSTEM PRIVILEGE INHERITANCE-Klausel wird angegeben. Dies geschieht automatisch.

In Datenbanken vor Version 16.0 konnten Benutzer, denen die Berechtigung DBA oder REMOTE DBA erteilt wurde, diese automatisch anderen erteilen. Die WITH ADMIN OPTION-Klausel in der unten empfohlenen neuen Syntax gewährleistet, dass das Verhalten der Administrationsrechte mit früheren Versionen übereinstimmt.

Nicht mehr empfohlene Syntax Neue Syntax
GRANT CONNECT TO username [ IDENTIFIED BY ] pwd
Keine Änderung.
GRANT GROUP TO user
CREATE OR REPLACE ROLE groupname
FOR USER userid
GRANT MEMBERSHIP IN GROUP groupname [,...] 
TO grantee [,...]
GRANT ROLE groupname [,...] 
TO grantee [,...]
GRANT DBA TO grantee [,...]
GRANT ROLE SYS_AUTH_DBA_ROLE TO grantee [,...] 
WITH ADMIN OPTION
WITH NO SYSTEM PRIVILEGE INHERITANCE
GRANT REMOTE DBA TO grantee [,...]
GRANT ROLE SYS_RUN_REPLICATION_ROLE TO grantee [,...]
WITH ADMIN OPTION
WITH NO SYSTEM PRIVILEGE INHERITANCE
GRANT BACKUP TO grantee [,...]
GRANT ROLE SYS_AUTH_BACKUP_ROLE TO grantee [,...]
WITH NO SYSTEM PRIVILEGE INHERITANCE
GRANT RESOURCE TO grantee [,...]
GRANT ROLE SYS_AUTH_RESOURCE_ROLE TO grantee [,...]
WITH NO SYSTEM PRIVILEGE INHERITANCE
GRANT VALIDATE TO grantee [,...]
GRANT ROLE SYS_AUTH_VALIDATE_ROLE TO grantee  [,...]
WITH NO SYSTEM PRIVILEGE INHERITANCE
GRANT PROFILE TO grantee [,...]
GRANT ROLE SYS_AUTH_PROFILE_ROLE TO TO grantee [,...]
GRANT READCLIENTFILE TO grantee [,...]
GRANT ROLE SYS_AUTH_READCLIENTFILE_ROLE TO TO grantee [,...]
GRANT READFILE TO grantee [,...]
GRANT ROLE SYS_AUTH_READFILE_ROLE TO TO grantee [,...]
GRANT WRITECLIENTFILE TO grantee [,...]
GRANT ROLE SYS_AUTH_WRITECLIENTFILE_ROLE TO TO grantee [,...]
GRANT PUBLISH TO grantee

Keine Änderung. Sie können jedoch auch die neue PUBLIC-Option db_publisher setzen:

SET OPTION PUBLIC.db_publisher=grantee
GRANT permission [,...] ON [ owner.]object-name
TO  grantee [,...]
permission : 
ALL [ PRIVILEGES ] 
| ALTER 
| DELETE 
| INSERT 
| REFERENCES [ ( column-name, ...) ] 
| SELECT [ ( column-name, ... ) ] 
| UPDATE [ ( column-name, ... ) ]

Keine Änderung.

GRANT EXECUTE ON [ owner.]{ proc | user-def-funct }
TO grantee [,...]
Keine Änderung.
GRANT INTEGRATED LOGIN TO user-profile-name [,...] 
AS USER user
Keine Änderung.
GRANT KERBEROS LOGIN TO userid [,...] 
AS USER user
Keine Änderung.
GRANT CREATE ON dbspacename [,...] TO grantee [,...]
Keine Änderung.
 Siehe auch

GRANT-Anweisung (Berechtigungen und Gruppen) (nicht mehr empfohlen)