Security8 EXECUTE AS 模擬許可權

2022-01-10 04:52:00 字數 1903 閱讀 3289

使用者可以模擬其他使用者或登陸的許可權來執行查詢,並且在檢視使用者和登入的許可權時,結果會受到模擬上下文的影響。當執行execute as命令時,原始使用者的安全上下文會進行切換,除了original_login之外,其他函式都會返回模擬上下文的login和user資訊。

預設情況下,乙個會話在使用者登陸時開始,在使用者退出時結束,使用者的許可權決定了使用者的操作。當使用者使用execute as 命令時,當前使用者的許可權切換到制定的使用者或登陸的安全上下文,以模擬物件的許可權來執行操作。execute as 命令用於設定會話的執行上下文:

as  =

'domain\name

'| caller

...revert;

把執行上下文切換到指定的login 或user,引數caller 只用於模組內部,以模組呼叫者的安全上下文來執行。

要結束許可權模擬,可以執行命令 revert,該命令用於恢復當前使用者的原始執行上下文。

當執行execute as 命令之後,使用者的安全上下文會被切換為指定的使用者。original_login() 返回最原始的login名稱,不受上下文切換的影響:

original_login( )

其他返回使用者和login的函式,都是基於當前上下文的。比如,session_user返回當前安全上下文的使用者名稱,如果該函式在execute as 命令之後被呼叫,那麼上下文被切換,session_user返回模擬上下文的使用者名稱:

session_user

在sql server中,可以定義使用者自定義模組(函式(內聯錶值函式除外)、儲存過程、queue和觸發器)的執行上下文,通過指定這些執行模組的上下文,可以控制資料庫引擎使用哪個使用者帳戶來驗證對模組引用的物件的許可權。當需要嚴格限制使用者的許可權時,可以僅僅授予使用者執行模組本身的許可權,而不必授予他們訪問模組內部引用的物件的許可權。這需要通過execute as 子句來實現,預設值是caller,也就是說,使用模組呼叫者的安全上下文來訪問模組和模組內部引用的物件:

with

execute

as

引數注釋

資料庫物件的owner可以通過命令alter authorization來修改,常見的class_type是:object、role、schema :

alter

authorizationon[

:: ]

entity_name

to

通過指定模組的執行上下文,你可以控制資料庫引擎使用哪個使用者的安全上下文來驗證被模組引用的物件的許可權。也就是說,通過使用模組的execute as 子句,可以把執行使用者自定義模組的許可權分為兩部分:執行模組的許可權,以及訪問被模組引用的物件的許可權。乙個使用者可以只授予執行模組的許可權,而不用授予訪問被模組引用的物件的許可權。對於這種情況,模組的execute as 子句必須指定乙個使用者,模組的呼叫者通過模擬該使用者的上下文來訪問被模組引用的物件。

對於模組的execute as 子句,其指定的執行上下文的使用者 id 儲存在元資料中,可以通過 sys.sql_modules 或 sys.service_queues檢視的列 execute_as_principal_id來檢視,該字段有三種型別的值:

模組的呼叫者必須具有呼叫(execute)模組的許可權,授予使用者呼叫(execute)模組的許可權,不代表使用者具有訪問被模組引用的物件的許可權。使用者只有同時具備呼叫模組的許可權和訪問被模組引用物件的許可權,才能成功執行模組。

create

procedure

dbo.usp_demo

with

executeas'

companydomain\sqluser1

'....

execute as clause (transact-sql)

execute as (transact-sql)

高仿Windows UI 偽裝Win8

將win7桌面修改為win8桌面風格 令人矚目的win8正式上市,不少本本也開始搭載win8系統,全新的windows ui 原metro介面 可將應用程式 快捷方式等以動態樣式呈現在螢幕上,這確實是個創新之舉。如果你想體驗全新的windows ui風格,又不想費力將系統公升級到win8平台,不妨用...

仿拉手團購App8 更多模組

1.獲得快取大小和清除快取 應用內資料的所有路徑 data data com.cache 應用內快取 注 對應方法getcachedir data data com.databases 應用內資料庫 data data com.shared prefs 應用內配置檔案 data data com.f...

仿win8磁貼介面以及功能

做移動產品介面佔很大的一部分,同時也是決定一款產品好的的重要因素,最近看見有人放win8的介面效果,搜了兩款,一款是只是仿介面沒有特效,另一款是自定義元件能夠實現反轉效果,今天分析一下這兩類介面。仿win8介面win8磁貼類似九宮格效果,實現這種效果基本上有三種方式實現 linearlayout,使...