jxq
作者jxq2018-06-04 09:49
其它, gbase

GBase 8t 安全特性之 LBAC 体验(十二)将 SET 安全标签授予用户

字数 2664阅读 1169评论 0赞 4

(一)创建数据库安全管理员
(二)创建 ARRAY 安全标签组件
(三)创建 ARRAY 安全策略
(四)创建 ARRAY 安全标签
(五)创建带有 ARRAY 安全标签的数据表
(六)将 ARRAY 安全标签授予用户
(七)取消用户持有的 ARRAY 安全标签
(八)创建 SET 安全标签组件
(九)创建 SET 安全策略
(十)创建 SET 安全标签
(十一)创建带有 SET 安全标签的数据表

(十二)将 SET 安全标签授予用户

假定在系统中存在 db301 数据库,在数据库中存在带有 SET 安全标签的 table302 数据表。持有 DBSECADM 角色的 dbsecadm301 用户创建了 policy302.high 和 policy302.lower 安全标签。(详请参阅“GBase 8t 安全特性之 LBAC 体验(十一)创建带有 SET 安全标签的数据表”

1、通过root用户登录。
2、创建 user303 用户和 user304 用户,用户口令都与用户名相同。

1、通过 informix 用户登录。
2、运行 dbaccess 实用程序来打开数据库,执行
*dbaccess - -
database db301;*
系统提示:
Database selected.
3、将数据库权限授予 user303 用户,在 dbaccess 的提示符下执行
grant connect to user303;
系统提示:
Permission granted.
4、将 table302 表上的 all 权限授予 user303 用户,执行
grant all on table302 to user303;
授权成功,系统提示:
Permission granted.
5、将数据库权限授予 user304 用户,执行
grant connect to user304;
系统提示:
Permission granted.
6、将 table302 表上的 all 权限授予 user304 用户,执行
grant all on table302 to user304;
授权成功,系统提示:
Permission granted.

1、通过 dbsecadm301 用户登录。
2、运行 dbaccess 实用程序来打开数据库,执行
*dbaccess - -
database db301;*
打开成功,系统提示:
Database selected.
3、将 policy302.high 安全标签授予用户user303,在 dbaccess 的提示符下执行
grant security label policy302.high to 'user303' for all access;
安全标签授予成功,系统提示:
Security label granted.
4、将 policy302.lower 安全标签授予用户user304,执行
grant security label policy302.lower to 'user304' for all access;
安全标签授予成功,系统提示:
Security label granted.

user303 用户持有的 high 安全标签包含 SET 安全标签组件中的两个元素('product development','quality assurance');user304 用户持有的 lower 安全标签包含 SET 安全标签组件中的一个元素('quality assurance')。(详情参阅“GBase 8t 安全特性之 LBAC 体验(十)创建 SET 安全标签”

1、通过 user303 用户登录。
2、运行 dbaccess 实用程序来打开数据库,执行
*dbaccess - -
database db301;*
打开成功,系统提示:
Database selected.
3、执行数据插入操作,在 dbaccess 的提示符下执行
insert into table302(id,name) values(1,'zhangsan');
插入操作成功,系统提示:
1 row(s) inserted.

1、通过 user304 用户登录。
2、运行 dbaccess 实用程序来打开数据库,执行
*dbaccess - -
database db301;*
打开成功,系统提示:
Database selected.
3、执行数据插入操作,在 dbaccess 的提示符下执行
insert into table302(id,name) values(2,'lisi');
插入操作成功,系统提示:
1 row(s) inserted.

此时,在 table302 数据表中,既有 idssecuritylabel 列为 high 的行,也有 idssecuritylabel 列为 lower 的行。

1、通过 user303 用户登录。
2、运行 dbaccess 实用程序来打开数据库,执行
*dbaccess - -
database db301;*
打开成功,系统提示:
Database selected.
3、执行数据查询操作,在 dbaccess 的提示符下执行
select from table302;*
系统提示:
*id 1
name zhangsan
lbl 0000000000000003
id 2
name lisi
lbl 0000000000000002
2 row(s) retrieved.*

因为 user303 用户持有 policy302.high 安全标签,因此,可以查询到 table302 数据表中的所有行。

1、通过 user304 用户登录。
2、运行 dbaccess 实用程序来打开数据库,执行
*dbaccess - -
database db301;*
打开成功,系统提示:
Database selected.
3、执行数据查询操作,在 dbaccess 的提示符下执行
select from table302;*
系统提示:
*id 2
name lisi
lbl 0000000000000002
1 row(s) retrieved.*

因为 user304 用户持有 policy302.lower 安全标签,因此,只能查询到 table302 数据表中 idssecuritylabel 列为 lower 的行。(详请参阅“GBase 8t 安全特性之 LBAC(五)对比安全标签”

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广