![](/img/trans.png)
[英]Azure SQL Active Directory interactive authentication from SSIS package
[英]Azure SQL with Azure Active Directory authentication - use in security function for row-level security
我們有一個使用 Azure AD 身份驗證的 Azure SQL 數據庫。 這對會員和來賓 AD 用戶以及 AD 組都適用。
我們需要對某些表應用行級安全性,基於:
我們創建了一個表值 function 以用於適當的安全策略。 問題:
with schemabinding
定義)? 使用sys.fn_my_permissions
查找權限被拒絕,因為sys
函數不能with schemabinding
一起使用。或者我們是否需要維護數據庫內的關系表(伴隨多重維護 - AD + 幾個數據庫)?
系統 function is_member is_member('<AD Group>')
可用於驗證當前用戶是否是 AD 組的成員,只要該 AD 組已作為主體添加到數據庫中。 這個 function 也適用於數據庫角色。
所以像這樣的安全 function 是有效的:
CREATE FUNCTION [fUserCanAccess](@Group varchar(50))
RETURNS TABLE
WITH SCHEMABINDING
AS RETURN (
SELECT 1 as canAccess WHERE
is_member('db_owner') = 1
or
is_member(@Group) = 1
;
第一個is_member
測試允許訪問所有行的數據庫角色。 第二個is_member
測試用戶是否在同一 (AD) 組中。
is_member(<AD Group>)
返回:
組名稱不區分大小寫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.