postgresql/src/test/modules/dummy_seclabel
Bruce Momjian 29275b1d17 Update copyright for 2024
Reported-by: Michael Paquier

Discussion: https://postgr.es/m/ZZKTDPxBBMt3C0J9@paquier.xyz

Backpatch-through: 12
2024-01-03 20:49:05 -05:00
..
expected Improve several permission-related error messages. 2023-03-17 10:33:09 +01:00
sql Restrict the privileges of CREATEROLE users. 2023-01-10 12:44:30 -05:00
.gitignore dummy_seclabel: add sql/, expected/, and .gitignores 2014-12-02 11:14:56 -03:00
Makefile Remove erroneous EXTRA_CLEAN line from Makefile. 2014-12-05 12:17:56 +02:00
README doc: Fix naming of SELinux 2020-01-10 09:36:55 +09:00
dummy_seclabel--1.0.sql Fix whitespace 2014-12-02 23:45:03 -05:00
dummy_seclabel.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
dummy_seclabel.control Install kludges to fix check-world for src/test/modules 2014-12-02 23:43:53 -03:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00

README

The dummy_seclabel module exists only to support regression testing of
the SECURITY LABEL statement.  It is not intended to be used in production.

Rationale
=========

The SECURITY LABEL statement allows the user to assign security labels to
database objects; however, security labels can only be assigned when
specifically allowed by a loadable module, so this module is provided to
allow proper regression testing.

Security label providers intended to be used in production will typically be
dependent on a platform-specific feature such as SELinux.  This module is
platform-independent, and therefore better-suited to regression testing.

Usage
=====

Here's a simple example of usage:

# 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

The dummy_seclabel module provides only four hardcoded
labels: unclassified, classified,
secret, and top secret.
It does not allow any other strings as security labels.

These labels are not used to enforce access controls.  They are only used
to check whether the SECURITY LABEL statement works as expected,
or not.

Author
======

KaiGai Kohei <kaigai@ak.jp.nec.com>