Re: 8.4 release planning

From: KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>
To: Joshua Brindle <method(at)manicmethod(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Josh Berkus <josh(at)agliodbs(dot)com>, Gregory Stark <stark(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Simon Riggs <simon(at)2ndQuadrant(dot)com>, Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Merlin Moncure <mmoncure(at)gmail(dot)com>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Bernd Helmle <mailings(at)oopsware(dot)de>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 8.4 release planning
Date: 2009-01-28 03:11:42
Message-ID: 497FCCEE.2000803@ak.jp.nec.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Joshua Brindle wrote:
> Stephen Frost wrote:
>> * Joshua Brindle (method(at)manicmethod(dot)com) wrote:
>>> They are separate. If you look at the patches you'll see a pgace
>>> part, this is where the core interfaces to the security backends, and
>>> you'll see a rowacl backend and an sepgsql backend.
>>
>> Right, guess it wasn't clear to me that the PGACE bits for row-level
>> access control could be used independently of SELinux (and maybe even on
>> systems that don't have SELinux..?).
>>
>
> Sure, if you look at pgaceHooks.c you'll see:

It is basically possible to implement something like "PostgreSQL
Label Security" on PGACE framework.
But I don't want to discuss it now, because it surely burst
SE-PostgreSQL until v8.4 beta.

If desired, I'll queue it my todo list next to SE-PostgreSQL...

> bool
> pgaceExecScan(Scan *scan, Relation rel, TupleTableSlot *slot)
> {
> /* Hardwired DAC checks */
> if (!rowaclExecScan(scan, rel, slot))
> return false;
>
> switch (pgace_feature)
> {
> #ifdef HAVE_SELINUX
> case PGACE_FEATURE_SELINUX:
> if (sepgsqlIsEnabled())
> return sepgsqlExecScan(scan, rel, slot);
> break;
> #endif
> default:
> break;
> }
> return true;
> }
>
> Notice the rowacl call outside of the HAVE_SELINUX ifdefs

FYI:
In the earlier version, these are mutually exclusive, so we could
not apply SE-PostgreSQL, when a binary is built with RowAcl feature.

However, Bruce Momjian suggested it is not proper manner in
PostgreSQL, because it intend to wrap all available features
into a single binary due to packaging benefit, and all the
available options should be configured by runtime.

In addition, IIRC, Peter E suggested it is not symmetrical
that we cannot apply both of DAC and MAC on tuples simultaneously,
although SE-PostgreSQL applies MAC on tables/columns which
PostgreSQL has DAC features on.
So, I add a support simultaneous DAC&MAC.

Thanks,
--
OSS Platform Development Division, NEC
KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2009-01-28 03:12:42 Re: pg_upgrade project status
Previous Message Tom Lane 2009-01-28 02:59:20 Re: 8.4 release planning