本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Babelfish for Aurora PostgreSQL 中管理許可和存取控制
在 Babelfish for Aurora PostgreSQL 中,您可以管理資料庫、結構描述和物件的許可和存取控制。下表將概述特定 SQL 命令,這些命令適用於在 Babelfish 中授予許可以實現各種存取控制案例。其中涵蓋可實作的支援使用案例,以及目前不支援案例的解決方法。這可讓您在處理 Babelfish 資料庫時設定適當的許可,以符合安全和合規要求。
支援的使用案例
下表說明 Babelfish 中支援的使用案例。對於每個使用案例,資料表會顯示實現該案例所需的動作和範例 SQL 命令。
| 使用案例 | 動作 | SQL 命令 | 說明 | Babelfish 版本相容性 |
|---|---|---|---|---|
|
允許登入在任何資料庫中執行 SELECT/DML/DDL |
將登入新增至 sysadmin 伺服器角色 |
ALTER SERVER ROLE sysadmin ADD MEMBER |
無 |
所有版本 |
|
允許登入在資料庫中執行 SELECT/DML/DDL |
讓登入成為資料庫擁有者 |
ALTER AUTHORIZATION ON DATABASE:: |
資料庫只能有一個擁有者。 |
3.4 版及更新版本 |
|
允許資料庫使用者對結構描述執行 SELECT/DML |
將許可授予結構描述上的資料庫使用者 |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON SCHEMA:: |
無 |
3.6 版及更新版本,4.2 版及更新版本 |
|
允許資料庫使用者對結構描述執行 SELECT/DML |
讓資料庫使用者在結構描述建立時成為結構描述擁有者 |
CREATE SCHEMA |
目前不支援在建立後變更結構描述擁有權。 |
1.2 版及更新版本 |
|
允許資料庫使用者對物件執行 SELECT/DML |
將許可授予物件上的資料庫使用者 |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT:: |
無 |
所有版本 |
|
允許資料庫使用者在資料庫 (包括捨棄資料庫) 中執行 SELECT/DML/DDL |
將使用者新增至 db_owner 固定資料庫角色 |
ALTER ROLE db_owner ADD MEMBER |
只能夠將使用者新增至 db_owner 固定資料庫角色。尚不支援將角色新增至 db_owner 角色。 |
4.5 版及更新版本,5.1 版及更新版本 |
|
允許自訂資料庫角色的使用者或成員只在資料庫中執行 SELECT |
將使用者或角色新增至 db_datareader 固定資料庫角色 |
ALTER ROLE db_datareader ADD MEMBER |
無 |
4.5 版及更新版本,5.1 版及更新版本 |
|
允許自訂資料庫角色的使用者或成員只在資料庫中執行 DML |
將使用者或角色新增至 db_datawriter 固定資料庫角色 |
ALTER ROLE db_datawriter ADD MEMBER |
無 |
4.5 版及更新版本,5.1 版及更新版本 |
|
允許自訂資料庫角色的使用者或成員只在資料庫中執行 DDL |
將使用者或角色新增至 db_accessadmin 固定資料庫角色 |
ALTER ROLE db_accessadmin ADD MEMBER |
無 |
4.5 版及更新版本,5.1 版及更新版本 |
|
允許自訂資料庫角色的使用者或成員僅使用 CREATE/ALTER/DROP 自訂角色、資料庫中物件的 GRANT/REVOKE 許可和/或資料庫中的 CREATE SCHEMA |
將使用者或角色新增至 db_securityadmin 固定資料庫角色 |
ALTER ROLE db_securityadmin ADD MEMBER |
無 |
4.5 版及更新版本,5.1 版及更新版本 |
|
允許自訂資料庫角色的使用者或成員僅對任何使用者進行 CREATE/ALTER/DROP、授予和撤銷資料庫存取權,以及將使用者帳戶對應至登入,和/或在資料庫中進行 CREATE SCHEMA |
將使用者或角色新增至 db_accessadmin 固定資料庫角色 |
ALTER ROLE db_accessadmin ADD MEMBER |
無 |
4.5 版及更新版本,5.1 版及更新版本 |
|
僅允許登入對任何資料庫進行 CREATE/DROP/ALTER |
將登入新增至 dbcreator 固定伺服器角色 |
ALTER SERVER ROLE dbcreator ADD MEMBER |
只能夠變更 dbcreator 登入可以存取的那些資料庫。 |
4.5 版及更新版本,5.1 版及更新版本 |
|
僅允許登入對任何登入進行 CREATE/ALTER/DROP |
將登入新增至 securityadmin 固定伺服器角色 |
ALTER SERVER ROLE securityadmin ADD MEMBER |
無 |
4.5 版及更新版本,5.1 版及更新版本 |
具有解決方法的不支援使用案例
下表說明 Babelfish 中不支援,但可使用解決方法達成的使用案例。
| 使用案例 | 動作 | SQL 命令 | 說明 | Babelfish 版本的解決方法相容性 |
|---|---|---|---|---|
|
允許使用者對物件/結構描述執行 SELECT/DML,以及將這些許可 GRANT 其他使用者的選項 |
直接將許可 GRANT 所有其他使用者 |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT/SCHEMA:: |
GRANT ... 目前不支援 WITH GRANT OPTION。 |
3.6 版及更新版本,4.2 版及更新版本 |
|
允許資料庫使用者在資料庫 (包括捨棄資料庫) 中執行 SELECT/DML/DDL |
將角色成員新增至 db_owner 固定資料庫角色 |
ALTER ROLE db_owner ADD MEMBER |
目前不支援將角色新增至 db_owner 角色。 |
4.5 版及更新版本,5.1 版及更新版本 |
不支援的使用案例
下表說明 Babelfish 中不支援的使用案例。
| 使用案例 | 說明 |
|---|---|
|
拒絕自訂資料庫角色的使用者或成員在資料庫中執行 SELECT |
尚不支援 db_denydatareader 固定資料庫角色 |
|
拒絕自訂資料庫角色的使用者或成員在資料庫中執行 DML |
目前不支援 db_denydatawriter 固定資料庫角色。 |
|
允許登入,以僅對任何資料庫連線進行 KILL |
目前不支援 processadmin 固定伺服器角色。 |
|
允許登入,以僅新增或移除連結的伺服器 |
目前不支援 setupadmin 固定伺服器角色。 |