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 » SQL Anywhere サーバ データベース管理 » ユーザとデータベースのセキュリティ » ユーザのセキュリティ (ロールと権限) » ロールベースのセキュリティへのアップグレード

 

GRANT 文の構文の変更

アプリケーションで、16.0 より前のバージョンの GRANT 文の構文を権限 (authority)、パーミッション、グループに使用している場合は、ロールと権限 (privilege) のための更新済み構文を使用するように変更する必要があります。下の表に、文をどのように変更すべきかを示します。権限、パーミッション、グループのための古い GRANT 構文の使用は、サポートされていますが、廃止される予定です。

以前の権限の継承動作

16.0 以前のデータベースでは、DBA、REMOTE DBA、BACKUP、RESOURCE、VALIDATE 権限は、グループとして活動するユーザに割り当てられている場合、非継承でした。そのグループのメンバーは、権限の機能を継承しませんでした。

16.0 以前のデータベースをアップグレードするとき、同等のロールが自動的に付与され (たとえば、BACKUP 権限の代わりに SYS_AUTH_BACKUP_ROLE が付与されます)、継承動作が以前のリリースと整合性を持つように WITH NO SYSTEM PRIVILEGE INHERITANCE 句が指定されます。グループのメンバーは、そのロールが提供する権限を継承しません。

同様に、廃止予定の付与構文を使用して DBA、REMOTE DBA、BACKUP、RESOURCE、VALIDATE を付与し続けると、非継承の古い動作が維持されます。つまり、同等のロールが付与され、WITH NO SYSTEM PRIVILEGE INHERITANCE 句が指定されます。これは、自動的に行われます。

16.0 より前のバージョンのデータベースでは、DBA 権限と REMOTE DBA 権限を付与されたユーザは自動的に、これらの権限の他のユーザへの付与が可能になっていました。推奨される次の新しい構文の WITH ADMIN OPTION 句を使用すると、管理権限の動作で、以前のリリースとの一貫性が確実に保たれます。

廃止予定の構文 新しい構文
GRANT CONNECT TO username [ IDENTIFIED BY ] pwd
変更ありません。
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

変更ありません。ただし、新しい PUBLIC オプションである db_publisher も設定できます。

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, ... ) ]

変更ありません。

GRANT EXECUTE ON [ owner.]{ proc | user-def-funct }
TO grantee [,...]
変更ありません。
GRANT INTEGRATED LOGIN TO user-profile-name [,...] 
AS USER user
変更ありません。
GRANT KERBEROS LOGIN TO userid [,...] 
AS USER user
変更ありません。
GRANT CREATE ON dbspacename [,...] TO grantee [,...]
変更ありません。
 参照

GRANT 文 (権限とグループ) (廃止予定)