控制用户是否能够访问当前数据库服务器上所运行的数据库的功能。
任何具有相应系统角色或特权的用户均可访问未受保护的功能。仅被授予使用受保护功能特权(通过指定相应的安全功能密钥)的用户以及具有相应系统角色或特权的用户可以访问受保护的功能。
语法
start_iq -sf ... :
| [,[-] | ] ...
TABLE 语句。write_client_file禁止使用能够写入客户端文件的所有语句。例如,UNLOAD 语句和 WRITE_CLIENT_FILE 函数。remote此功能集禁止用户访问所有允许远程访问或与远程进程通信的功能。此功能集由以下功能组成:remote_data_access禁止使用任何远程数据访问服务,例如代理表。send_email禁止使用电子邮件系统过程,例如 xp_sendmail。send_udp禁止使用 sa_send_udp 系统过程向指定地址发送 UDP 包的功能。web_service_client禁止使用 Web 服务客户端存储过程调用(发出 HTTP 请求的存储过程)。local此功能集禁止用户访问所有本地相关的功能。此功能控制对服务器计算环境的访问。此集合由 local_call、local_db、local_io 和 local_log 功能子集组成。local_call此功能集禁止用户访问所有能够执行不直接属于数据库服务器,且不受该数据库服务器控制的代码的功能。此功能集由以下功能组成:cmdshell禁止使用 xp_cmdshell 过程。external_procedure禁止使用用户定义的外部存储过程。external_procedure_v3请参阅《用户定义函数》指南。inmemory_external_procedureTBD。external_library_full_text禁止使用用户定义的外部术语断开器库。java禁止使用 Java 相关的功能,例如,Java 过程。local_db此功能集禁止用户访问所有与数据库文件相关的功能。此功能集由以下功能组成:backup禁止使用 BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。restore禁止使用 RESTORE DATABASE 语句。database禁止使用 CREATE DATABASE、ALTER DATABASE 和 DROP DATABASE 语句。dbspace禁止使用 CREATE DBSPACE、ALTER DBSPACE 和 DROP DBSPACE 语句。local_env此功能集禁止用户访问所有与环境变量相关的功能。此功能集由以下功能组成:getenv禁止用户读取任何环境变量值。local_io此功能集禁止用户访问所有允许直接访问文件及其内容的功能。此功能集由以下功能组成:create_trace_file禁止使用可创建事件跟踪目标的语句。read_file禁止使用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE...) 的使用。write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。local_log禁止用户访问所有导致创建或直接向磁盘上某个文件写入数据的记录功能。该功能集由以下功能组成:request_log禁止使用更改请求日志文件名的功能,同时禁止使用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在数据库服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。console_log禁止使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。保护此功能同时将禁止使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加数据库服务器消息日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。webclient_log禁止使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。
TABLE 语句。write_client_file禁止使用能够写入客户端文件的所有语句。例如,UNLOAD 语句和 WRITE_CLIENT_FILE 函数。
TABLE 语句。
BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。restore禁止使用 RESTORE DATABASE 语句。database禁止使用 CREATE DATABASE、ALTER DATABASE 和 DROP DATABASE 语句。dbspace禁止使用 CREATE DBSPACE、ALTER DBSPACE 和 DROP DBSPACE 语句。local_env此功能集禁止用户访问所有与环境变量相关的功能。此功能集由以下功能组成:getenv禁止用户读取任何环境变量值。local_io此功能集禁止用户访问所有允许直接访问文件及其内容的功能。此功能集由以下功能组成:create_trace_file禁止使用可创建事件跟踪目标的语句。read_file禁止使用能够读取本地文件的语句。例如,xp_read_file 系统过程、LOAD TABLE 语句以及 OPENSTRING( FILE...) 的使用。write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。local_log禁止用户访问所有导致创建或直接向磁盘上某个文件写入数据的记录功能。该功能集由以下功能组成:request_log禁止使用更改请求日志文件名的功能,同时禁止使用增加请求日志文件大小或文件数量限制的功能。可在启动数据库服务器的命令中指定请求日志文件以及对此文件的限制;但在数据库服务器启动之后将无法进行更改。禁用请求日志功能时,仍可打开和关闭请求记录功能,并可减少请求记录文件的最大文件大小和数量。console_log禁止使用 sa_server_option 系统过程的 ConsoleLogFile 选项更改数据库服务器消息日志文件名的功能。保护此功能同时将禁止使用 sa_server_option 系统过程的 ConsoleLogMaxSize 选项增加数据库服务器消息日志文件最大大小的功能。可在启动数据库服务器时指定服务器日志文件及其大小。webclient_log禁止使用 sa_server_option 系统过程的 WebClientLogFile 选项更改 Web 服务客户端日志文件名的功能。可在启动数据库服务器时指定 Web 服务客户端日志文件。
BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。restore禁止使用 RESTORE DATABASE 语句。database禁止使用 CREATE DATABASE、ALTER DATABASE 和 DROP DATABASE 语句。dbspace禁止使用 CREATE DBSPACE、ALTER DBSPACE 和 DROP DBSPACE 语句。
BACKUP DATABASE 语句,从而禁止使用执行服务器端备份的功能。您仍可使用 dbbackup 实用程序执行客户端备份。
RESTORE DATABASE 语句。
CREATE DATABASE、ALTER DATABASE 和 DROP DATABASE 语句。
CREATE DBSPACE、ALTER DBSPACE 和 DROP DBSPACE 语句。
TABLE 语句以及 OPENSTRING( FILE...) 的使用。write_file禁止使用能够写入本地文件的所有语句。例如,UNLOAD 语句和 xp_write_file 系统过程。delete_file禁止使用能够删除本地文件的所有语句。例如,如果指定 -x 或 -xo 选项,则保护此功能将导致 dbbackup 实用程序运行失败。directory禁止使用目录类代理表。该功能在禁用 remote_data_access 时将被禁用。file_directory_functions此功能集禁止用户访问以下所有功能:sp_list_directory禁止使用 sp_list_directory 系统过程。sp_create_directory禁止使用 sp_create_directory 系统过程。sp_copy_directory禁止使用 sp_copy_directory 系统过程。sp_move_directory禁止使用 sp_move_directory 系统过程。sp_delete_directory禁止使用 sp_delete_directory 系统过程。sp_copy_file禁止使用 sp_copy_file 系统过程。sp_move_file禁止使用 sp_move_file 系统过程。sp_delete_file禁止使用 sp_delete_file 系统过程。sp_disk_info禁止使用 sp_create_directory 系统过程。
TABLE 语句以及 OPENSTRING( FILE...) 的使用。
无
所有操作系统。
此选项允许数据库服务器所有者控制用户是否能够访问数据库服务器上所运行数据库的功能。-sk 数据库服务器选项允许数据库服务器的所有者创建一个 SYSTEM 安全功能密钥,此密钥允许用户访问由 -sf 数据库服务器选项保护的功能。
如果在启动数据库服务器时没有指定 -sk 数据库服务器选项,则在数据库服务器运行时由 -sf 数据库服务器选项指定的功能及一些缺省功能均受保护且无法更改受保护的功能。不可以使用系统存储过程在之后创建 SYSTEM 安全功能密钥。您必须关闭数据库服务器,并在重新启动时指定 -sk 数据库服务器选项。
使用 - 指示功能应受到保护(无法访问),使用 -dbspace 功能可供所有用户访问:
注意在缺省情况下受到保护的功能集中,其子功能所受的保护无法通过命令行取消。也就是说,以下命令无效:-sf manage_security,-manage_keys要使用缺省情况下受保护的功能集的子功能,请调用 sp_use_secure_feature_key 系统过程指定 SYSTEM 安全功能密钥,其中包含 MANAGE_KEYS 和 -sk 选项指定的口令:CALL sp_use_secure_feature_key( 'system' , 'letmeinweyou' );
以下命令使用所有受保护的本地数据访问功能(除 dbspace 功能之外)启动名为 secure_server 的数据库服务器。
start_iq -n secure_server -sf all,-dbspace以下命令使用所有受保护的远程数据访问功能(除 web_service_client 功能之外)启动名为 secure_server 的数据库服务器。由 -sk 选项指定的密钥稍后可与 sp_use_secure_feature_key 系统过程一起使用,从而使这些功能可供当前连接上的所有用户访问。
start_iq -n secure_server -sf remote,-web_service_client -sk j978kls12如果连接到 secure_server 数据库服务器上所运行的数据库的用户使用 sp_use_secure_feature_key 系统过程,并将 authorization_key 参数设置为由 -sk 指定的值,则该连接能够访问远程数据访问功能:
CALL sp_use_secure_feature_key ( 'MyKey' , 'j978kls12' );以下命令将保护所有功能,但本地数据库功能除外:
start_iq -n secure_server -sf all,-local_db