主體 (Database Engine)
「主體」(Principal) 是可要求 SQL Server 資源的實體。 主體就像其他 SQL Server 授權模型的元件一樣,可以階層方式安排。 主體的影響範圍視主體的定義範圍 (Windows、伺服器、資料庫),以及主體是否可分割或者是一個集合而定。 「Windows 登入」是不可分割主體的一個範例,而「Windows 群組」則是主體為集合的範例。 每個主體都有一個安全性識別碼 (SID)。
Windows 層級主體
Windows 網域登入
Windows 本機登入
SQL Server 層級主體
SQL Server 登入
伺服器角色
資料庫層級主體
資料庫使用者
資料庫角色
應用程式角色
SQL Server sa 登入
SQL Server sa 登入為伺服器層級的主體。 根據預設,安裝執行個體時會建立它。 從 SQL Server 2005 開始,sa 的預設資料庫是 master。 這是和舊版 SQL Server 不同的一項行為變更。
public 資料庫角色
每個資料庫使用者都屬於 public 資料庫角色。 當使用者未被授與或拒絕安全性實體的特定權限時,該使用者會繼承授與給該安全性實體之 public 的權限。
INFORMATION_SCHEMA 與 sys
每個資料庫都包含兩個在目錄檢視中顯示為使用者的實體:INFORMATION_SCHEMA 和 sys。 SQL Server 需要這些實體。 它們並非主體,也不能被修改或卸除。
以憑證為基礎的 SQL Server 登入
以兩個 ## 符號括住的伺服器主體名稱僅供內部系統使用。 在安裝 SQL Server 時,將會從憑證建立下列主體,而且不應該刪除它們。
##MS_SQLResourceSigningCertificate##
##MS_SQLReplicationSigningCertificate##
##MS_SQLAuthenticatorCertificate##
##MS_AgentSigningCertificate##
##MS_PolicyEventProcessingLogin##
##MS_PolicySigningCertificate##
##MS_PolicyTsqlExecutionLogin##
guest 使用者
每個資料庫都包括 guest。 具有資料庫存取權但在資料庫中沒有使用者帳戶的使用者,將繼承授與 guest 使用者的權限。 無法卸除 guest 使用者,但可透過撤銷其 CONNECT 權限予以停用。 在任何資料庫 (不含 master 或 tempdb) 內執行 REVOKE CONNECT FROM GUEST,即可撤銷 CONNECT 權限。
用戶端和資料庫伺服器
根據定義,用戶端和資料庫伺服器都是安全性主體,而且可以維護其安全。 建立安全的網路連接之前,這些實體可以進行相互驗證。 SQL Server 支援 Kerberos 驗證通訊協定,該通訊協定可定義用戶端與網路驗證服務的互動方式。
相關工作
《SQL Server 線上叢書》的本節中包括下列主題:
請參閱
參考
sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)