KaiGai Kohei wrote:
I understood objections for "enable/disable something on compile-time"
approach. The following items are my revised proposal.
It does not conflicts to the policy Peter said before in this thread.

Items to be revised:

- It allows to compile multiple security mechanis within a single binary.

- It provides "--enable-selinux" configure option to build SELinux support,
  but the Row-level ACLs is always built because it does not require any
  platform specific libraries and so on.

- User choose one (or no) security mechanism on initdb and postmaster
  starting up via $PGDATA/postgresql.conf. The current available options
  are selinux, rowacl and nothing.
  (*) What should be the default? rowacl? or, nothing?

  The modified initdb interface is as follows:
    $ initdb --pgace-security=(selinux|rowacl|nothing)

- It add a new system column for security purpose. It enables to store
  a security attribute of tuple, so working security mechanism has to
  handle it properly. For example, SE-PostgreSQL handles a tuple without
  valid security context as a "unlabeled_t" tuple.

In addition,

- The new security conlumn has common name for each security mechanisms.
  Candidates are "security_attr", "security_attribute", "sec_attr" or
  "security". At first, I start it with "security_attr".

- The security mechanism can control whether the new tuple has its
  security field, or not. If no security field is necessary, t_infomask
  is not set HEAP_HASSECURITY bit, and it does not consume any additional
  storage space.

Thanks,


--
OSS Platform Development Division, NEC
KaiGai Kohei <kai...@ak.jp.nec.com>

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to