LOAD TABLE | YES | NO | NO | NO | YES | YES |
READ DATABASE TABLE DATA | YES | NO | NO | NO | YES | NO |
5.2 授予/撤消实例级权限
建立实例级权限的办法是,将在外部安全设施中定义的用户组赋给相关的实例级权限参数(SYSADM_GROUP、SYSCTRL_GROUP、SYSMAINT_GROUP、SYSMON_GROUP)。例如,如果希望用户帐号
KATE
具有 SYSMAINT 权限,那么可以将
KATE
放进
MAINT
组,然后将实例参数 SYSMAINT_GROUP 更新为
MAINT。这样,MAINT
组中的任何用户都将具有 SYSMAINT 权限。要从
KATE
那里撤消 SYSMAINT 特权,只需从
MAINT
组中删除她,或者将 SYSMAINT_GROUP 参数的值改为另一个不包含她的组。在后一种情况下,如果
MAINT
组的其他成员不是新组的成员,那么他们的 SYSMAINT 权限也会被撤消。
清单 1
中给出了前面的命令及其结果。还可以以相似的方式更新任何其他实例级权限参数。
|
5.3 权限与特权的层次架构
图 5
显示 DB2 UDB 中不同的权限和特权级别。范围从表上的特权到模式和存储过程上的特权。图 5 的上部显示前一节描述的实例权限级别。注意 SYSADM 和 DBADM 权限自动获得虚线下面对于某个数据库的所有权限和特权。
5.4 各类权限说明
表 3
总结了对于用户或用户组可以授予和撤消的数据库权限类型。只有具有 SYSADM 或 DBADM 权限的用户可以授予和撤消这些权限。
数据库权限 | |
CONNECT | 允许用户连接数据库 |
BINDADD | 允许用户在数据库中创建新的包 |
CREATETAB | 允许用户在数据库中创建新的表 |
CREATE_NOT_FENCED | 允许用户注册定义为 NOT FENCED 的用户定义函数(UDF)或存储过程 |
IMPLICIT SCHEMA | 允许用户在尚不存在的模式中创建对象(它自动地创建模式)* |
QUIESCE_CONNECT | 允许用户连接处于 quiesced 状态的数据库 |
CREATE_EXTERNAL_ROUTINE | 允许用户注册外部例程(用 C 和 Java 等外部语言编写的例程) |
*SYSIBM 成为隐式创建的模式的所有者,PUBLIC 组被授予在这个模式中创建对象的特权。
表 4
总结了对于用户或用户组可以授予和撤消的惟一一种表空间特权(USE)。USE 特权不能对 SYSCATSPACE 或任何系统临时表空间使用。
表空间特权 | |
USE | 允许用户在指定的表空间中创建表 |
表 5
总结了对于用户或用户组可以授予和撤消的模式特权类型。
模式特权 | |
CREATEIN | 允许用户在模式中创建对象 |
ALTERIN | 允许用户在模式中修改对象 |
DROPIN | 允许用户从模式中删除对象 |
表 6
总结了对于用户或用户组可以授予和撤消的表/视图特权。
表/视图特权 | |
CONTROL | 授予用户在表和视图上的所有特权,以及将这些特权(除了 CONTROL)授予别人 |
ALTER | 允许用户在表中添加列、在表和它的列上添加或修改注释、添加主键或惟一约束以及创建或删除表检查约束 |
DELETE | 允许用户从表或视图中删除行 |
INDEX | 允许用户在表上创建索引 |
INSERT | 允许用户在表或视图中插入数据 |
REFERENCES | 允许用户创建和删除外键,这需要指定关系中的父表 |
SELECT | 允许用户从表或视图中检索行、在表上创建视图以及运行 EXPORT 实用程序 |
UPDATE | 允许用户修改表、视图或者表或视图中某些列中的数据;用户可以只在特定列上具有这种特权 |
表 7
总结了对于用户或用户组可以授予和撤消的惟一一种索引特权(CONTROL)。
索引特权 | |
CONTROL | 允许用户删除索引 |
表 8
总结了对于用户或用户组可以授予和撤消的包特权类型。“静态和动态 SQL 考虑因素” 一节更详细地讨论包概念。
包特权 | |
CONTROL | 允许用户重新绑定、删除或执行包,以及将这些特权(除了 CONTROL)授予别人 |
BIND | 允许用户重新绑定现有的包 |
EXECUTE | 允许用户执行包 |
表 9
总结了对于用户或用户组可以授予和撤消的惟一一种例程特权(EXECUTE)。
例程特权 | |
EXECUTE | 允许用户调用例程,从例程创建函数(只应用于函数),以及在任何 DDL 语句(比如 CREATE VIEW、CREATE TRIGGER 或定义约束时)中引用例程 |
表 10
总结了对于用户或用户组可以授予和撤消的序列特权类型。
序列特权 | |
USAGE | 允许用户对序列使用 NEXTVAL 和 PREVVAL 表达式 |
ALTER | 允许用户使用 ALTER SEQUENCE 语句修改序列属性 |
5.5 授予/撤消权限
与实例级权限相似,可以使用命令语法或 Control Center 授予和撤消特权。要想授予或撤消特权,必须有数据库连接。图 6 显示表和视图特权的 GRANT 语句的语法图。其他数据库对象的 GRANT 语句语法是相似的,请参考
DB2 UDB 文档。
例如,要使用 GRANT 语句向用户
JEFF
授予
ACCOUNT
表的 INSERT 特权,那么发出以下语句:
GRANT INSERT ON TABLE account TO USER jeff
要向
SALESREPS
组授予
CUSTOMER
表的 SELECT 特权,那么发出以下语句:
GRANT SELECT ON TABLE customer TO GROUP salesreps
以下文章点击率最高
Loading…