Базы данных Oracle - статьи

         

Другие привилегии


Помимо трех указанных привилегий, связанных с запретом LABEL_UPDATE использования меток, имеются и некоторые прочие:

  • READ,
  • FULL,
  • COMPACCESS,
  • PROFILE_ACCESS.
  • Ограничимся здесь анализом первой из них. Остальные окажут эффект только при более сложной организации доступа, здесь не рассматриваемой, например, при наличии структурных меток.

    Привилегия READ дает возможность ее обладателю преодолеть запрет на чтение строк со стороны действующей политики. Продолжим:

    SQL> CONNECT employee/employee Connected. SQL> @phones

    ENAME PNO ---------- -------------------- ALLEN WARD 610-1718 MARTIN 103-1983 BLAKE CLARK KING TURNER 293-1398 JAMES 932-6728 MILLER 865-6706

    9 rows selected.

    SQL> @userprivilege employee 'read'

    Connected.

    PL/SQL procedure successfully completed.

    SQL> @showprivs

    USER_NAME POLICY_NAME USER_PRIVILEGES --------------- ------------------------------ -------------------- EMPLOYEE EMPSEC_POLICY READ

    HEAD EMPSEC_POLICY WRITEACROSS

    SQL> CONNECT employee/employee Connected. SQL> @phones

    ENAME PNO ---------- -------------------- SMITH 665-7282 ALLEN 882-3154 WARD 610-1718 JONES 100-6539 MARTIN 103-1983 BLAKE 193-3112 CLARK 310-2673 SCOTT 680-4853 KING 542-6672 TURNER 293-1398 ADAMS 278-5105 JAMES 932-6728 FORD 485-9127 MILLER 865-6706

    14 rows selected.

    Название привилегии READ не должно вызывать иллюзий: в нашем случае она позволяет не только читать строки, включая поле метки, но и изменять. Для доказательства этого факта продолжим (от имени EMPLOYEE):

    SQL> @updateallen OPEN

    1 row updated.

    SQL> @updateallen LIMITED

    1 row updated.



    Содержание раздела