在适用于 Aurora PostgreSQL 的 Babelfish 中管理权限和访问控制 - Amazon Aurora

在适用于 Aurora PostgreSQL 的 Babelfish 中管理权限和访问控制

在适用于 Aurora PostgreSQL 的 Babelfish 中,可以管理数据库、架构和对象的权限和访问控制。下表将概述用于在 Babelfish 中授予权限以实现各种访问控制场景的特定 SQL 命令。它将涵盖可以实现的受支持使用案例,以及当前不支持的案例的解决方法。这可让您在使用 Babelfish 数据库时配置适当的权限,来满足安全性和合规性要求。

支持的使用案例

下表说明了 Babelfish 支持的使用案例。对于每个使用案例,该表显示了实现该使用案例所需的操作以及示例 SQL 命令。

应用场景 操作 SQL 命令 注释

支持登录名在任何数据库中执行 SELECT/DML/DDL

将登录名添加到 sysadmin 服务器角色

ALTER SERVER ROLE sysadmin ADD MEMBER login

支持登录名在数据库中执行 SELECT/DML/DDL

使登录名成为数据库的拥有者

ALTER AUTHORIZATION ON DATABASE::database TO login

数据库只能有一个拥有者

支持数据库用户对架构执行 SELECT/DML

向数据库用户授予对于架构的权限

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

支持数据库用户对架构执行 SELECT/DML

在架构创建时将数据库用户设为架构的拥有者

CREATE SCHEMA schema AUTHORIZATION user

当前不支持在创建架构后更改架构所有权

支持数据库用户对于对象执行 SELECT/DML

向数据库用户授予对于对象的权限

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

不支持的使用案例以及解决办法

下表说明了 Babelfish 不支持但可以使用解决方法实现的使用案例。

应用场景 操作 SQL 命令 注释

支持数据库用户在数据库中执行 SELECT/DML/DDL,包括删除数据库

使登录名成为数据库的拥有者

ALTER AUTHORIZATION ON DATABASE database TO login

目前不支持向 db_owner 角色添加数据库用户/角色

支持数据库用户在数据库中仅执行 SELECT

向数据库用户授予对数据库中所有架构的 SELECT 权限

GRANT SELECT ON SCHEMA::schema TO user

目前不支持数据库角色 db_datareader

支持数据库用户对数据库中的所有对象执行 DML

向数据库用户授予对数据库中所有架构的 INSERT、UPDATE、DELETE 权限

GRANT INSERT, UPDATE, DELETE ON SCHEMA::schema TO user

目前不支持数据库角色 db_datawriter

不支持的使用案例

下表说明了 Babelfish 不支持的使用案例。

应用场景 注释

支持数据库用户在数据库中仅执行 DDL

目前不支持数据库角色 db_ddladmin

支持数据库用户仅 CREATE/ALTER/DROP 任何数据库角色

目前不支持数据库角色 db_securityadmin

支持数据库用户对数据库中的对象仅拥有 GRANT/REVOKE 权限

目前不支持数据库角色 db_securityadmin

支持数据库用户仅 CREATE/ALTER/DROP 任何用户

目前不支持数据库角色 db_accessadmin

支持数据库用户仅对登录名授予和撤销数据库访问权限和别名用户账户

目前不支持数据库角色 db_accessadmin

支持登录名仅 CREATE/DROP 任何数据库

目前不支持服务器角色 dbcreator

支持登录名仅 ALTER 任何登录名

目前不支持服务器角色 securityadmin