主體 (Database Engine)
主體是可要求 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 使用者的權限。 無法卸載 來賓 使用者,但可以撤銷其 CONNECT
許可權來停用。 CONNECT
許可權可以藉由在 master 或 tempdb 以外的任何資料庫中執行 REVOKE CONNECT FROM GUEST
來撤銷。
用戶端和資料庫伺服器
根據定義,用戶端和資料庫伺服器都是安全性主體,而且可以維護其安全。 建立安全的網路連接之前,這些實體可以進行相互驗證。 SQL Server支援Kerberos驗證通訊協定,其定義用戶端如何與網路驗證服務互動。
相關工作
下列主題包含在《SQL Server 線上叢書》的這個章節中:
另請參閱
保護 SQL Server 的安全
sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL)
伺服器層級角色
資料庫層級角色