在 Babelfish for Aurora PostgreSQL 中管理許可和存取控制 - Amazon Aurora

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

在 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 login

所有版本

允許登入在資料庫中執行 SELECT/DML/DDL

讓登入成為資料庫擁有者

ALTER AUTHORIZATION ON DATABASE::database TO login

資料庫只能有一個擁有者。

3.4 版及更新版本

允許資料庫使用者對結構描述執行 SELECT/DML

將許可授予結構描述上的資料庫使用者

GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON SCHEMA::schema TO user

3.6 版及更新版本,4.2 版及更新版本

允許資料庫使用者對結構描述執行 SELECT/DML

讓資料庫使用者在結構描述建立時成為結構描述擁有者

CREATE SCHEMA schema AUTHORIZATION user

目前不支援在建立後變更結構描述擁有權。

1.2 版及更新版本

允許資料庫使用者對物件執行 SELECT/DML

將許可授予物件上的資料庫使用者

GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT::object TO user

所有版本

允許資料庫使用者在資料庫 (包括捨棄資料庫) 中執行 SELECT/DML/DDL

將使用者新增至 db_owner 固定資料庫角色

ALTER ROLE db_owner ADD MEMBER user

只能夠將使用者新增至 db_owner 固定資料庫角色。尚不支援將角色新增至 db_owner 角色。

4.5 版及更新版本,5.1 版及更新版本

允許自訂資料庫角色的使用者或成員只在資料庫中執行 SELECT

將使用者或角色新增至 db_datareader 固定資料庫角色

ALTER ROLE db_datareader ADD MEMBER user / role

4.5 版及更新版本,5.1 版及更新版本

允許自訂資料庫角色的使用者或成員只在資料庫中執行 DML

將使用者或角色新增至 db_datawriter 固定資料庫角色

ALTER ROLE db_datawriter ADD MEMBER user / role

4.5 版及更新版本,5.1 版及更新版本

允許自訂資料庫角色的使用者或成員只在資料庫中執行 DDL

將使用者或角色新增至 db_accessadmin 固定資料庫角色

ALTER ROLE db_accessadmin ADD MEMBER user / role

4.5 版及更新版本,5.1 版及更新版本

允許自訂資料庫角色的使用者或成員僅使用 CREATE/ALTER/DROP 自訂角色、資料庫中物件的 GRANT/REVOKE 許可和/或資料庫中的 CREATE SCHEMA

將使用者或角色新增至 db_securityadmin 固定資料庫角色

ALTER ROLE db_securityadmin ADD MEMBER user / role

4.5 版及更新版本,5.1 版及更新版本

允許自訂資料庫角色的使用者或成員僅對任何使用者進行 CREATE/ALTER/DROP、授予和撤銷資料庫存取權,以及將使用者帳戶對應至登入,和/或在資料庫中進行 CREATE SCHEMA

將使用者或角色新增至 db_accessadmin 固定資料庫角色

ALTER ROLE db_accessadmin ADD MEMBER user / role

4.5 版及更新版本,5.1 版及更新版本

僅允許登入對任何資料庫進行 CREATE/DROP/ALTER

將登入新增至 dbcreator 固定伺服器角色

ALTER SERVER ROLE dbcreator ADD MEMBER login

只能夠變更 dbcreator 登入可以存取的那些資料庫。

4.5 版及更新版本,5.1 版及更新版本

僅允許登入對任何登入進行 CREATE/ALTER/DROP

將登入新增至 securityadmin 固定伺服器角色

ALTER SERVER ROLE securityadmin ADD MEMBER login

4.5 版及更新版本,5.1 版及更新版本

具有解決方法的不支援使用案例

下表說明 Babelfish 中不支援,但可使用解決方法達成的使用案例。

使用案例 動作 SQL 命令 說明 Babelfish 版本的解決方法相容性

允許使用者對物件/結構描述執行 SELECT/DML,以及將這些許可 GRANT 其他使用者的選項

直接將許可 GRANT 所有其他使用者

GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT/SCHEMA::object/schema TO user

GRANT ... 目前不支援 WITH GRANT OPTION。

3.6 版及更新版本,4.2 版及更新版本

允許資料庫使用者在資料庫 (包括捨棄資料庫) 中執行 SELECT/DML/DDL

將角色成員新增至 db_owner 固定資料庫角色

ALTER ROLE db_owner ADD MEMBER user

目前不支援將角色新增至 db_owner 角色。

4.5 版及更新版本,5.1 版及更新版本

不支援的使用案例

下表說明 Babelfish 中不支援的使用案例。

使用案例 說明

拒絕自訂資料庫角色的使用者或成員在資料庫中執行 SELECT

尚不支援 db_denydatareader 固定資料庫角色

拒絕自訂資料庫角色的使用者或成員在資料庫中執行 DML

目前不支援 db_denydatawriter 固定資料庫角色。

允許登入,以僅對任何資料庫連線進行 KILL

目前不支援 processadmin 固定伺服器角色。

允許登入,以僅新增或移除連結的伺服器

目前不支援 setupadmin 固定伺服器角色。