jxq
作者jxq·2018-06-10 11:12
其它·gbase

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

字数 3675阅读 1522评论 0赞 3

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

(十八)将 TREE 安全标签授予用户

假定在系统中存在 db301 数据库,在数据库中存在带有 TREE 安全标签的 table303 数据表。持有 DBSECADM 角色的 dbsecadm301 用户创建了 policy303.Americas、policy303.USA 和 policy303.Canada 安全标签。(详请参阅“GBase 8t 安全特性之 LBAC 体验(十七)创建带有 TREE 安全标签的数据表”

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

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

1、通过 dbsecadm301 用户登录。
运行 dbaccess 实用程序来打开数据库,执行
database db301;
打开成功,系统提示:
Database selected.
2、将 policy303.Americas 安全标签授予用户user305,执行
grant security label policy303.Americas to 'user305' for all access;
安全标签授予成功,系统提示:
Security label granted.
3、将 policy303.USA 安全标签授予用户user306,执行
grant security label policy303.USA to 'user306' for all access;
安全标签授予成功,系统提示:
Security label granted.
4、将 policy303.Canada 安全标签授予用户user307,执行
grant security label policy303.Canada to 'user307' for all access;
安全标签授予成功,系统提示:
Security label granted.

user305 用户持有的 Americas 安全标签是 TREE 安全标签组件中的洲级元素;user306 用户持有的 USA 安全标签是 TREE 安全标签组件中的国家级元素;user307 用户持有的 Canada 安全标签是 TREE 安全标签组件中的国家级元素。

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

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

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

此时,在 table303 数据表中,既有 idssecuritylabel 列为 Americas 的行,也有 idssecuritylabel 列为 USA 的行,还有 idssecuritylabel 列为 Canada 的行。

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

因为 user305 用户持有 policy303.Americas 安全标签,因此,可以查询到 table303 数据表中 idssecuritylabel 列为 Americas、USA 和 Canada 的行。

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

因为 user306 用户持有 policy303.USA 安全标签,因此,只能查询到 table303 数据表中 idssecuritylabel 列为 USA 的行。

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

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

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

3

添加新评论0 条评论

wuwenpinwuwenpin软件开发工程师南京
2018-06-10 21:20
感谢分享!

jxq@wuwenpin 晚间读贴,辛苦 :-)

2018-06-10 21:38
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广