F.12. dummy_seclabel

dummy_seclabel模块的存在只是为了支持SECURITY LABEL语句的回归测试。它不是为了在生产环境中使用而生。

F.12.1. 基本原理

SECURITY LABEL语句用户给数据库对象分配安全标签,不过只有被一个可载入模块特别允许时安全标签才能被分配,因此这个模块被提供来允许正确的回归测试。

意图用在生产中的安全标签提供者通常将依赖于一个平台相关的特性,例如SE-Linux。这个模块是平台无关的,并且因此更适合于回归测试。

F.12.2. 用法

这里是一个用法的简单例子:

# postgresql.conf
shared_preload_libraries = 'dummy_seclabel'
postgres=# CREATE TABLE t (a int, b text);
CREATE TABLE
postgres=# SECURITY LABEL ON TABLE t IS 'classified';
SECURITY LABEL

dummy_seclabel模块只提供四种硬编码的标签:unclassifiedclassifiedsecret以及top secret。它不允许任何其他字符串作为安全标签。

这些标签不是被用来强制访问控制的。它们只被用于检查SECURITY LABEL语句是否按照预期的方式工作。

F.12.3. 作者

KaiGai Kohei