GRANT 對稱金鑰權限 (Transact-SQL)
授與對稱金鑰的權限。
語法
GRANT permission [ ,...n ]
ON SYMMETRIC KEY :: symmetric_key_name
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
引數
permission
指定可以授與的對稱金鑰權限。 如需權限清單,請參閱這個主題稍後的「備註」一節。ON SYMMETRIC KEY ::asymmetric_key_name
指定要授與其權限的對稱金鑰。 需要範圍限定詞 (::)。TO <database_principal>
指定要對其授與權限的主體。WITH GRANT OPTION
指出主體也有權授與指定權限給其他主體。AS <database_principal>
指定主體,執行這項查詢的主體就是從這個主體衍生權限來授與權限。Database_user
指定資料庫使用者。Database_role
指定資料庫角色。Application_role
指定應用程式角色。Database_user_mapped_to_Windows_User
指定對應至 Windows 使用者的資料庫使用者。Database_user_mapped_to_Windows_Group
指定對應至 Windows 群組的資料庫使用者。Database_user_mapped_to_certificate
指定對應至憑證的資料庫使用者。Database_user_mapped_to_asymmetric_key
指定對應至非對稱金鑰的資料庫使用者。Database_user_with_no_login
指定不含對應伺服器層級主體的資料庫使用者。
備註
您可以在 sys.symmetric_keys 目錄檢視中,看到有關對稱金鑰的資訊。
對稱金鑰是一個由資料庫所包含的資料庫層級安全性實體,在權限階層中,此資料庫為該安全性實體的父系。 下表所列的可以授與之最特定和最有限的對稱金鑰權限,並列出利用隱含方式來併入這些權限的較通用權限。
對稱金鑰權限 |
對稱金鑰權限所隱含 |
資料庫權限所隱含 |
---|---|---|
ALTER |
CONTROL |
ALTER ANY SYMMETRIC KEY |
CONTROL |
CONTROL |
CONTROL |
REFERENCES |
CONTROL |
REFERENCES |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
VIEW DEFINITION |
CONTROL |
VIEW DEFINITION |
權限
同意授權者 (或是指定了 AS 選項的主體) 必須具有指定了 GRANT OPTION 的權限本身,或是具有隱含目前正在授與權限的更高權限。
如果是使用 AS 選項,就必須套用下列其他需求。
AS granting_principal |
其他必要的權限 |
---|---|
資料庫使用者 |
使用者的 IMPERSONATE 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
對應至 Windows 登入的資料庫使用者 |
使用者的 IMPERSONATE 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
對應至 Windows 群組的資料庫使用者 |
Windows 群組中的成員資格、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
對應至憑證的資料庫使用者 |
db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
對應至非對稱金鑰的資料庫使用者 |
db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
未對應至任何伺服器主體的資料庫使用者 |
使用者的 IMPERSONATE 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
資料庫角色 |
角色中的 ALTER 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
應用程式角色 |
角色中的 ALTER 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin (系統管理員) 固定伺服器角色中的成員資格。 |
具有安全性實體之 CONTROL 權限的主體可以授與該安全性實體的權限。
CONTROL SERVER 權限的被授與者 (例如 sysadmin (系統管理員) 固定伺服器角色的成員),可以授與伺服器中任何安全性實體的任何權限。 資料庫之 CONTROL 權限的被授與者 (例如 db_owner 固定資料庫角色的成員) 可以授與資料庫中任何安全性實體的任何權限。
範例
下列範例會將對稱金鑰 SamInventory42 的 ALTER 權限授與資料庫使用者 HamidS。
USE AdventureWorks2012;
GRANT ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;
GO
請參閱
參考
sys.symmetric_keys (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)