了解超级用户访问权限

已完成

创建 Azure Database for MySQL 服务器时创建的第一位用户是服务管理员。 该用户帐户对订阅中的所有资源具有超级用户访问权限,包括创建新用户、监视服务器等。

由于管理员帐户对所有资源具有完全访问权限,因此应限制并监视管理员帐户。 具体而言:

  • 保留所有分配的管理员帐户的清单。
  • 分配一名共同管理员,以便在第一位管理员没空时提供访问权限。
  • 将管理员帐户限制为合适的最少数量。 如果管理员帐户遭到入侵,黑客就对服务器具有完全访问权限。
  • 监视行为并跟进任何异常帐户行为。
  • 仅在完成任务所需的时段内分配其他管理员帐户。

注意

管理员是在订阅级别而不是在服务器级别添加的。 在 Azure 门户中,导航到正确的订阅。 在左侧菜单中,选择“访问控制(IAM)”。 依次选择“+添加”和“添加共同管理员”

有关如何控制和监视管理帐户的指导,请参阅 Azure 安全中心的管理访问和权限

注意

本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。

此服务器管理员用户具有以下权限:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, 
INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, 
REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, 
ALTER ROUTINE, CREATE USER, EVENT, TRIGGER

你可以使用第一个服务器管理员帐户创建更多用户并为其授予管理员访问权限。 你还可以使用服务器管理员帐户来创建只能访问各个数据库架构的权限较低的用户。

Azure Database for MySQL 是一项服务,但并非所有角色都受支持,具体来说:

  • DBA 角色受到限制。 使用通过服务器创建的管理员用户帐户。 这样就可以执行大多数 DDL 和 DML 语句。
  • 超级权限受到限制。 使用通过服务器创建的管理员用户帐户。
  • Azure Database for MySQL 中没有根用户。 而是使用管理员用户角色或所有者

注意

DEFINER 需要超级权限才能创建并且受到限制。 如果要使用备份导入数据,请手动移除 CREATE DEFINER 命令或在执行 mysqlpump 时使用 -skip-definer 命令。