對Oracle安全標記的探討

來源:互聯網
上載者:User

Oracle提供了安全標記的功能,即OLS,也就是常說的強制存取控制。其模型是建立在BLP安全模型之上,並進行了擴充。

BLP模型的元素是安全層級和範圍,即可以對主客體進行安全層級和範圍的設定,從而達到控制資料流動的目的,即向下讀、向上寫的規則。即使用者可以讀低於使用者安全層級的資料,寫高於使用者安全層級的資料(當然還有範圍的約定,這裡不介紹了)。

ORACLE擴充了BLP模型,使用者可以設定多個安全層級,通過如下介面:

SA_USER_ADMIN.SET_LEVELS

Syntax:

PROCEDURE SET_LEVELS (policy_name IN VARCHAR2,

user_name

IN VARCHAR2,

max_level

IN VARCHAR2,

min_level

IN VARCHAR2 DEFAULT NULL,

def_level

IN VARCHAR2 DEFAULT NULL,

row_level

IN VARCHAR2 DEFAULT NULL);

Parameter         Meaning

policy_name        Specifies the policy

user_name         Specifies the user name

max_level         The highest level for read and write access

min_level         The lowest level for write access 

def_level         Specifies the default level

row_level         Specifies the row level

可以看出,使用者標記可以指定最大、最小、預設和行級四種安全層級。這些安全層級之間是有約束關係的

min_level<=max_levelmin_level<=def_level<=max_levelmin_level<=row_level<=def_level

如果違法這種規則的話,執行此函數就會失敗。瞭解了這麼多之後,我們進行實踐,以LBACSYS進行登入,執行如下語句

--建立策略P1,並為策略添加安全層級,數值越大代表安全層級越高。

--L1<L2<L3<L4

EXEC sa_sysdba.create_policy('P1','LABEL_COL');

EXEC sa_components.create_level('P1', 10, 'L1', 'L1');

EXEC sa_components.create_level('P1', 20, 'L2', 'L2');

EXEC sa_components.create_level('P1', 30, 'L3', 'L3');

EXEC sa_components.create_level('P1', 40, 'L4', 'L4');

--給使用者SYSMAN設定使用者標記

EXEC sa_user_admin.set_levels('P1','SYSMAN','L2', 'L1', 'L2', 'L2');

根據上面的介紹,這裡設定的四種安全層級符合要求。我們通過DBA_SA_USER_LABELS視圖可以查看使用者的標記。

SQL> SELECT USER_NAME, LABELS FROM DBA_SA_USER_LABELS;

USER_NAME

--------------------------------------------------------------------------------

LABELS

--------------------------------------------------------------------------------

SYSMAN

MAX READ LABEL='L2',MAX WRITE LABEL='L2',MIN WRITE LABEL='L1',DEFAULT READ LABEL

='L2',DEFAULT WRITE LABEL='L2',DEFAULT ROW LABEL='L2'

可以看到MIN WRITE LABEL = L1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.