Updates of SE-PostgreSQL 8.4devel patches (r1324)

Поиск
Список
Период
Сортировка
От KaiGai Kohei
Тема Updates of SE-PostgreSQL 8.4devel patches (r1324)
Дата
Msg-id 4948B6BD.1050402@ak.jp.nec.com
обсуждение исходный текст
Ответ на Updates of SE-PostgreSQL 8.4devel patches (r1280)  (KaiGai Kohei <kaigai@ak.jp.nec.com>)
Ответы Re: Updates of SE-PostgreSQL 8.4devel patches (r1324)  (Bruce Momjian <bruce@momjian.us>)
Re: Updates of SE-PostgreSQL 8.4devel patches (r1324)  (KaiGai Kohei <kaigai@kaigai.gr.jp>)
Updates of SE-PostgreSQL 8.4devel patches (r1348)  (KaiGai Kohei <kaigai@ak.jp.nec.com>)
Список pgsql-hackers
I updated the patch set of SE-PostgreSQL and related ones (r1324).

[1/5] http://sepgsql.googlecode.com/files/sepostgresql-sepgsql-8.4devel-3-r1324.patch
[2/5] http://sepgsql.googlecode.com/files/sepostgresql-utils-8.4devel-3-r1324.patch
[3/5] http://sepgsql.googlecode.com/files/sepostgresql-policy-8.4devel-3-r1324.patch
[4/5] http://sepgsql.googlecode.com/files/sepostgresql-docs-8.4devel-3-r1324.patch
[5/5] http://sepgsql.googlecode.com/files/sepostgresql-tests-8.4devel-3-r1324.patch

Draft of the SE-PostgreSQL documentation is here: http://wiki.postgresql.org/wiki/SEPostgreSQL

List of updates:
- The patches are rebased to the latest CVS HEAD.

- Now the "sepostgresql-sepgsql-8.4devel-3-r1324.patch" contains PGACE security framework, SE-PostgreSQL and Row-level
ACLs.So, the 6th patch has gone.
 

- It enables to compile multiple security features within a single binary. The Row-level ACLs feature is always
available,and SE-PostgreSQL is available when we build it with "--enable-selinux" option.
 

- Two new system columns ("security_acl" and "security_label") are added. The first one is for the Row-level ACLs, and
theother is for the guest of PGACE security framework which is chosen by user.
 

- Some of interfaces are changed: * initdb got a new option "--pgace-feature" which enables to specify   one or no MAC
featureon initialization of $PGDATA.   e.g)     $ initdb --pgace-feature=selinux * pg_dump got two new options
(--security-acland --security-label)   to dump row-level ACLs and security contexts. * $PGDATA/postgresql.conf has a
newparameter of "pgace_feature".   It enables users to choose an enhanced security mechanism from   candidates.
Currently,SE-PostgreSQL is the only candidate.
 

- Todo item * Documentation updates.   The "sepostgresql-docs-8.4devel-3-r1324.patch" is not uptodate,   because higher
priorityshould be given to provide the patch   set for reviewers. So, I'll update the src/doc/* from now.
 

Thanks,

===[ Example ]========================================================
postgres=# CREATE TABLE t1 (a int, b text) WITH (row_level_acl=on);
CREATE TABLE
postgres=# INSERT INTO t1 VALUES (1, 'aaa'), (2, 'bbb'), (3, 'ccc');
INSERT 0 3
postgres=# SELECT security_label, security_acl, * FROM t1;             security_label              |  security_acl  | a
| b
 
------------------------------------------+----------------+---+-----unconfined_u:object_r:sepgsql_table_t:s0 |
{=rwdx/kaigai}| 1 | aaaunconfined_u:object_r:sepgsql_table_t:s0 | {=rwdx/kaigai} | 2 |
bbbunconfined_u:object_r:sepgsql_table_t:s0| {=rwdx/kaigai} | 3 | ccc
 
(3 rows)

postgres=# INSERT INTO t1 (security_acl, a, b) VALUES ('{kaigai=rw/kaigai}', 4, 'ddd');
INSERT 0 1
postgres=# INSERT INTO t1 (security_label, security_acl, a, b)       VALUES ('system_u:object_r:sepgsql_ro_table_t:s0',
'{kaigai=rx/kaigai}',5, 'eee');
 
INSERT 0 1
postgres=# SELECT security_label, security_acl, * FROM t1;             security_label              |    security_acl
|a |  b
 
------------------------------------------+--------------------+---+-----unconfined_u:object_r:sepgsql_table_t:s0 |
{=rwdx/kaigai}    | 1 | aaaunconfined_u:object_r:sepgsql_table_t:s0 | {=rwdx/kaigai}     | 2 |
bbbunconfined_u:object_r:sepgsql_table_t:s0| {=rwdx/kaigai}     | 3 | cccunconfined_u:object_r:sepgsql_table_t:s0 |
{kaigai=rw/kaigai}| 4 | dddsystem_u:object_r:sepgsql_ro_table_t:s0  | {kaigai=rx/kaigai} | 5 | eee
 
(5 rows)

postgres=# UPDATE t1 SET security_label = sepgsql_set_user(security_label, 'system_u'), security_acl =
'{kaigai=r/kaigai}';
UPDATE 5
postgres=# SELECT security_label, security_acl, * FROM t1;            security_label              |   security_acl    |
a|  b
 
-----------------------------------------+-------------------+---+-----system_u:object_r:sepgsql_table_t:s0    |
{kaigai=r/kaigai}| 1 | aaasystem_u:object_r:sepgsql_table_t:s0    | {kaigai=r/kaigai} | 2 |
bbbsystem_u:object_r:sepgsql_table_t:s0   | {kaigai=r/kaigai} | 3 | cccsystem_u:object_r:sepgsql_table_t:s0    |
{kaigai=r/kaigai}| 4 | dddsystem_u:object_r:sepgsql_ro_table_t:s0 | {kaigai=r/kaigai} | 5 | eee
 
(5 rows)

postgres=#

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


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: WIP: pre-upgrade page reservation
Следующее
От: ITAGAKI Takahiro
Дата:
Сообщение: Re: parallel restore vs. windows