【问题标题】:Shared RDS database共享 RDS 数据库
【发布时间】:2014-06-16 06:09:58
【问题描述】:

我正在将我当前的生产应用程序迁移到 Amazon Web Services Cloud。

我正在将我的 MySQL 数据库迁移到我的生产应用程序的 MySQL RDS DB 服务。为了节省成本,我打算将共享 RDS db 用于一些不太重要的应用程序。

我有一些疑问:

  1. 如果我创建一个 RDS 实例在 4 个应用程序之间共享,那么一个数据库的其他用户可能无法查看其他数据库。

  2. 在执行此操作时需要注意哪些安全问题。

  3. 我能否使用我在创建 RDS DB 时创建的用户/密码来创建和授予其他用户管理员权限(导入/导出/创建)。

高度赞赏任何线索。

【问题讨论】:

    标签: mysql amazon-web-services amazon-rds


    【解决方案1】:
    1. 这完全取决于您授予的权限,并且完全 在您的控制范围内。

    2. 如果您正在寻找应用程序之间的完全分离,您只需确保:

      1. 创建与应用程序一样多的用户。
      2. 创建与应用程序一样多的数据库。
      3. 仅向每个用户授予与该特定应用程序对应的数据库的权限。您可以通过使用您的 root 帐户在控制台中发出命令来执行此操作,如下所示 -

    GRANT ALL PRIVILEGES ON applicationdb1.* TO 'appuser1'@'%' WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON applicationdb2.* TO 'appuser2'@'%' WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON applicationdb3.* TO 'appuser3'@'%' WITH GRANT OPTION;

    GRANT ALL PRIVILEGES ON applicationdb4.* TO 'appuser4'@'%' WITH GRANT OPTION;

    这确保 appuer1 只能访问 applicationdb1 等中的表。

    最后,作为 root 用户,您可以根据需要向您的个人用户授予类似的权限。

    【讨论】:

    • 这意味着这些用户将像管理员用户一样拥有数据库的所有访问权限?
    • 是的,这将授予他们在自己数据库中的所有权限,但会阻止他们对任何其他数据库进行更改。
    猜你喜欢
    • 2011-12-03
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多