Amazon RDS 上的 MariaDB 安全性
MariaDB 数据库实例的安全性在三个级别上进行管理:
-
Amazon Identity and Access Management 控制可以对数据库实例执行 Amazon RDS 管理操作的人员。使用 IAM 证书连接到Amazon时,您的 IAM 账户必须具有授予执行 Amazon RDS 管理操作所需的权限的 IAM 策略。有关更多信息,请参阅 Amazon RDS 的 Identity and Access Management。
-
创建数据库实例时,可以使用 VPC 安全组控制哪些设备和 Amazon EC2 实例能够建立到数据库实例的端点和端口的连接。可以使用安全套接字层 (SSL)/传输层安全性协议 (TLS) 建立这些连接。此外,公司的防火墙规则也可以控制公司中运行的哪些设备可以建立到数据库实例的连接。
-
建立到 MariaDB 数据库实例的连接之后,以与独立 MariaDB 实例相同的方式应用登录和权限的身份验证。
CREATE USER
、RENAME USER
、GRANT
、REVOKE
和SET PASSWORD
等命令的作用与它们在独立数据库中的作用相同,就像直接修改数据库架构表。
当您创建 Amazon RDS 数据库实例时,主用户有以下默认权限:
-
alter
-
alter routine
-
create
-
create routine
-
create temporary tables
-
create user
-
create view
-
delete
-
drop
-
event
-
execute
-
grant option
-
index
-
insert
-
lock tables
-
process
-
references
-
reload
该权限仅限在 MariaDB 数据库实例上使用。它不授予对
FLUSH LOGS
或FLUSH TABLES WITH READ LOCK
操作的访问权限。 -
replication client
-
replication slave
-
select
-
show create routine
此权限仅适用于运行 11.4 及更高版本的 MariaDB 数据库实例。
-
show databases
-
show view
-
trigger
-
update
有关这些权限的更多信息,请参阅 MariaDB 文档中的用户账户管理
注意
尽管您可以删除数据库实例上的主用户,但我们不建议这样做。要重新创建主用户,请使用 ModifyDBInstance
API 或 modify-db-instance
Amazon CLI,并用相应参数指定一个新的主用户密码。如果实例中不存在主用户,将使用指定的密码创建主用户。
要为每个数据库实例提供管理服务,需在创建数据库实例时创建 rdsadmin
用户。如果试图删掉、重命名、修改 rdsadmin
账户的密码,或者修改该账户的权限,会导致出错。
若要允许管理数据库实例,需限制标准的 kill
和 kill_query
命令。提供了 Amazon RDS 命令 mysql.rds_kill
、mysql.rds_kill_query
和 mysql.rds_kill_query_id
以便在 MariaDB 和 MySQL 中使用,因此您可以结束数据库实例上的用户会话或查询。