View a markdown version of this page

AD 安全群組成員資格的使用權限 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AD 安全群組成員資格的使用權限

繼承伺服器層級權限

屬於指定 AD 安全群組成員的 AD 使用者會繼承伺服器層級權限,這些權限會授予至對應的 Windows 群組登入。例如,請考慮 accounts-group AD 安全群組,此群組會在 Babelfish 中獲授予 sysadmin 伺服器角色成員資格。您可以使用下列命令繼承伺服器層級權限:

1> ALTER SERVER ROLE sysadmin ADD MEMBER [corp\accounts-group];

因此,身為 accounts-group AD 安全群組成員的任何 Active Directory 使用者,都會繼承與該 sysadmin 角色相關聯的伺服器層級權限。這表示像 corp\user1 這樣的使用者 (身為 accounts-group 的成員) 現在將能夠在 Babelfish 中執行伺服器層級操作。

注意

若要執行伺服器層級 DDL,個別 AD 使用者的 Windows 登入必須存在。如需詳細資訊,請參閱限制

繼承資料庫層級權限

若要授予資料庫層級權限,必須使用 Windows 群組登入來建立和對應資料庫使用者。屬於指定 AD 安全群組成員的 AD 使用者會繼承資料庫層級權限,這些權限會授予至該資料庫使用者。在下列範例中,您可以查看如何指派 Windows 群組 [corp\accounts-group] 的資料庫層級權限。

1> CREATE DATABASE db1; 2> GO 1> USE db1; 2> GO Changed database context to 'db1'. 1> CREATE TABLE dbo.t1(a int); 2> GO

為 Windows 群組登入 [corp\accounts-group] 建立資料庫使用者 [corp\sales-group]。若要執行此步驟,請使用身為 sysadmin 成員的登入透過 TDS 端點進行連線。

1> CREATE USER [corp\accounts-group] FOR LOGIN [corp\accounts-group]; 2> GO

現在,請以 AD 使用者 user1 身分進行連線,以檢查資料表 t1 的存取權。我們尚未授予資料庫層級權限,因此會導致許可遭拒錯誤。

1> SELECT * FROM dbo.t1; 2> GO Msg 33557097, Level 16, State 1, Server db-inst, Line 1 permission denied for table t1

將資料表 t1 的 SELECT 授予資料庫使用者 [corp\accounts-group]。若要執行此步驟,請使用身為 sysadmin 成員的登入透過 TDS 端點進行連線。

1> GRANT SELECT ON dbo.t1 TO [corp\accounts-group]; 2> GO

以 AD 使用者 user1 身分進行連線以驗證存取權。

1> SELECT * FROM dbo.t1; 2> GO a ----------- (0 rows affected)