Oracle: регулирование доступа к отдельным строкам таблиц
Страница 4. Проверяем, как работает


Проверяем, как работает

SQL> CONNECT employee/employee
Connected.
SQL> SELECT ename, pno
2 FROM scott.emp LEFT OUTER JOIN scott.phone
3 USING (empno);

ENAME PNO
---------- --------------------
SMITH 409-2351
ALLEN 625-1171
WARD 506-9715
MARTIN 108-8113
SCOTT 187-3972
TURNER 609-2430
ADAMS 421-3324
JAMES 550-4204
FORD 713-9878
MILLER 924-5401
KING
CLARK
BLAKE
JONES

14 rows selected.

SQL> SAVE phones REPLACE
Wrote file phones.sql
SQL> CONNECT head/head
Connected.
SQL> /

ENAME PNO
---------- --------------------
SMITH 409-2351
ALLEN 625-1171
WARD 506-9715
JONES 600-1573
MARTIN 108-8113
BLAKE 738-6815
CLARK 650-1728
SCOTT 187-3972
KING 393-8155
TURNER 609-2430
ADAMS 421-3324
JAMES 550-4204
FORD 713-9878
MILLER 924-5401

14 rows selected.

Упражнение. Выдать вслед за предыдущим:

CONNECT scott/tiger
/
CONNECT lbacsys/lbacsys
/

Объяснить результаты.

Пусть теперь в рамках той же политики EMPSEC_POLICY часть сотрудников также секретны, например сотрудники отдела разработок RESEARCH:

BEGIN
SA_POLICY_ADMIN.APPLY_TABLE_POLICY
(POLICY_NAME => 'EMPSEC_POLICY'
, SCHEMA_NAME => 'SCOTT'
, TABLE_NAME => 'EMP'
, TABLE_OPTIONS => 'LABEL_DEFAULT, READ_CONTROL');
END;
/

UPDATE scott.emp
SET EMPSEC_LABEL = CHAR_TO_LABEL('EMPSEC_POLICY',
'OPEN');

UPDATE scott.emp
SET EMPSEC_LABEL = CHAR_TO_LABEL('EMPSEC_POLICY',
'LIMITED')
WHERE deptno
IN (SELECT deptno FROM scott.dept
WHERE dname = 'RESEARCH');

Новая проверка:

SQL> CONNECT employee/employee
SQL> @phones

ENAME PNO
---------- --------------------
ALLEN 625-1171
WARD 506-9715
MARTIN 108-8113
TURNER 609-2430
JAMES 550-4204
MILLER 924-5401
BLAKE
KING
CLARK

9 rows selected.

SQL> CONNECT head/head
SQL> /

ENAME PNO
---------- --------------------
SMITH 409-2351
ALLEN 625-1171
WARD 506-9715
JONES 600-1573
MARTIN 108-8113
BLAKE 738-6815
CLARK 650-1728
SCOTT 187-3972
KING 393-8155
TURNER 609-2430
ADAMS 421-3324
JAMES 550-4204
FORD 713-9878
MILLER 924-5401

14 rows selected.
 
« Предыдущая статья   Следующая статья »