Amazon RDS 上的 MariaDB 安全性 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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 USERRENAME USERGRANTREVOKESET 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 databases

  • show view

  • trigger

  • update

有关这些权限的更多信息,请参阅 MariaDB 文档中的用户账户管理

注意

尽管您可以删除数据库实例上的主用户,但我们不建议这样做。要重新创建主用户,请使用 ModifyDBInstance API 或 modify-db-instance Amazon CLI,并用相应参数指定一个新的主用户密码。如果实例中不存在主用户,将使用指定的密码创建主用户。

要为每个数据库实例提供管理服务,需在创建数据库实例时创建 rdsadmin 用户。如果试图删掉、重命名、修改 rdsadmin 账户的密码,或者修改该账户的权限,会导致出错。

若要允许管理数据库实例,需限制标准的 killkill_query 命令。提供了 Amazon RDS 命令 mysql.rds_killmysql.rds_kill_querymysql.rds_kill_query_id 以便在 MariaDB 和 MySQL 中使用,因此您可以结束数据库实例上的用户会话或查询。