开发指南—权限管理—三权分立下的权限管理

简介: 本文介绍了三权分立下的三类管理员相关权限。PolarDB-X在开启三权分立模式后,默认的高权限账号将划分为系统管理员账号、安全管理员账号和审计管理员账号,具体功能介绍与使用方法可参考三权分立。

下面将以上述三个类型管理员的身份来演示不同类型的SQL操作,其中三类管理员的用户名分别如下所示:

  • 系统管理员:admin_dba
  • 安全管理员:admin_security
  • 审计管理员:admin_audit

系统管理员

只有系统管理员具备DDL相关权限:


mysql> SELECT USER();
+--------------------------+
| USER()                   |
+--------------------------+
| admin_dba@10.159.164.179 |
+--------------------------+
mysql> create database priv_test;
Query OK, 1 row affected (0.09 sec)
mysql> use priv_test;
Database changed
mysql> create table test (id int primary key, value int);
Query OK, 0 rows affected (1.23 sec)

但系统管理员不具备DML/DQL/DAL以及权限管理功能:


mysql> select * from test;
ERROR 5108 (HY000): [130b87654f001000][10.2.57.181:3028][priv_test]ERR-CODE: [TDDL-5108][ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE] User admin_dba@'10.159.164.179' does not have 'SELECT' privilege on table 'TEST'. Database is PRIV_TEST.
mysql> insert into test values (1, 123);
ERROR 5108 (HY000): [130b877647c01000][10.2.57.181:3028][priv_test]ERR-CODE: [TDDL-5108][ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE] User admin_dba@'10.159.164.179' does not have 'INSERT' privilege on table 'TEST'. Database is PRIV_TEST.
mysql> CREATE USER 'user1'@'%' IDENTIFIED BY '123456';
ERROR 5110 (HY000): [130b877e6f001000][10.2.57.181:3028][priv_test]ERR-CODE: [TDDL-5110][ERR_CHECK_PRIVILEGE_FAILED] User admin_dba@'%' does not have 'CREATE ACCOUNT' privilege.

安全管理员

安全管理员同样不具备DML/DQL/DAL权限,但支持账户或角色的权限管理以及将DML/DQL/DAL权限授予给普通账号:


mysql> SELECT USER();
+-------------------------------+
| USER()                        |
+-------------------------------+
| admin_security@10.159.164.119 |
+-------------------------------+
mysql> use priv_test;
Database changed
mysql> select * from test;
ERROR 5108 (HY000): [130b8a31af401000][10.57.23.233:3028][priv_test]ERR-CODE: [TDDL-5108][ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE] User admin_security@'10.159.164.119' does not have 'SELECT' privilege on table 'TEST'. Database is PRIV_TEST.
mysql> CREATE USER 'user1'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.08 sec)
mysql> GRANT SELECT,INSERT,UPDATE ON priv_test.* TO 'user1'@'%';
Query OK, 0 rows affected (0.06 sec)
-- 使用user1账户登录
mysql> SELECT USER();
+---------------------+
| USER()              |
+---------------------+
| user1@10.159.164.29 |
+---------------------+
mysql> show grants;
+------------------------------------------------------------+
| GRANTS FOR 'USER1'@'%'                                     |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user1'@'%'                          |
| GRANT SELECT, INSERT, UPDATE ON priv_test.* TO 'user1'@'%' |
+------------------------------------------------------------+
mysql> insert into test values (1, 123);
Query OK, 1 row affected (0.02 sec)
mysql> select * from test;
+------+-------+
| id   | value |
+------+-------+
|    1 |   123 |
+------+-------+

安全管理员不具备DDL相关权限:


mysql> drop table test;
ERROR 5108 (HY000): [130b8a1b9dc01000][10.2.57.181:3028][priv_test]ERR-CODE: [TDDL-5108][ERR_CHECK_PRIVILEGE_FAILED_ON_TABLE] User admin_security@'10.159.164.59' does not have 'DROP' privilege on table 'TEST'. Database is PRIV_TEST.

审计管理员

审计管理员只具备查看审计日志的权限:


mysql> SELECT USER();
+----------------------------+
| USER()                     |
+----------------------------+
| admin_audit@10.159.164.209 |
+----------------------------+
mysql> select USER_NAME,HOST,PORT,AUDIT_INFO,ACTION,TRACE_ID from polardbx_audit_log where SCHEMA = 'priv_test';
+----------------+----------------+-------+----------------------------------------------------+-------------+------------------+
| USER_NAME      | HOST           | PORT  | AUDIT_INFO                                         | ACTION      | TRACE_ID         |
+----------------+----------------+-------+----------------------------------------------------+-------------+------------------+
| admin_dba      | 10.159.164.239 | 26245 | create table test (id int primary key, value int)  | CREATE      | 130b83120e003000 |
| admin_security | 10.159.164.239 | 37537 | create table test2 (id int primary key, value int) | CREATE      | 130b839700402000 |
| admin_audit    | 10.159.164.89  | 51128 | create table test2 (id int primary key, value int) | CREATE      | 130b83ea42404000 |
| admin_dba      | 10.159.164.119 | 15923 | CREATE USER 'user1'@'%' IDENTIFIED BY '123456'     | CREATE      | 130b8658c9c03000 |
| admin_dba      | 10.159.164.119 | 15923 | CREATE USER 'user1'@'%' IDENTIFIED BY '123456'     | CREATE      | 130b866b49c03000 |
| admin_dba      | 10.159.164.179 | 24559 | CREATE USER 'user1'@'%' IDENTIFIED BY '123456'     | CREATE      | 130b877e6f001000 |
| admin_security | 10.159.164.119 | 44965 | create table test2 (id int primary key, value int) | CREATE      | 130b87c6f6002000 |
| admin_security | 10.159.164.119 | 44965 | CREATE USER 'user1'@'%' IDENTIFIED BY '123456'     | CREATE_USER | 130b87ee65402000 |
| admin_security | 10.159.164.119 | 44965 | CREATE USER 'user1'@'%' IDENTIFIED BY '123456'     | CREATE      | 130b87ee65402000 |
| admin_security | 10.159.164.119 | 44965 | GRANT SELECT,UPDATE ON priv_test.* TO 'user1'@'%'  | GRANT       | 130b88a7b0402000 |
| admin_security | 10.159.164.59  | 21156 | drop table test                                    | DROP        | 130b8a1b9dc01000 |
+----------------+----------------+-------+----------------------------------------------------+-------------+------
相关文章
|
安全 Linux 数据安全/隐私保护
openssh有rpm包吗?
【4月更文挑战第14天】openssh有rpm包吗?
1560 0
|
运维 安全 Linux
linux麒麟系统二级等保【三权分立策略】
linux麒麟系统二级等保【三权分立策略】
2736 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
AgentCPM-Explore开源,4B 参数突破端侧智能体模型性能壁垒
清华、人大、面壁智能与OpenBMB联合推出4B参数智能体模型AgentCPM-Explore,在8大长程任务上实现同尺寸SOTA,性能比肩30B+大模型。支持百轮稳定交互、全流程开源,重塑端侧AI潜能。
757 7
AgentCPM-Explore开源,4B 参数突破端侧智能体模型性能壁垒
|
监控 Linux
Linux系统监控报告CPU软锁定问题(soft lockup)诊断方法
以上方法结合起来使用将大大提高解决此类问题效率与成功率。实际操作过程需谨慎考虑当前环境与场景特点选择合适方法,并且要注意数据备份与恢复计划防止误操作造成不可挽回损失。
1643 13
|
安全 网络安全 定位技术
信息安全:访问控制技术原理与应用.
信息安全:访问控制技术原理与应用.
1404 4
|
前端开发 Java 应用服务中间件
【超详细】RuoYi 前后端分离版部署流程
部署前端(前端访问域名,跳转域名修改)、后端配置(配置文件),Nginx 配置文件详解,上传后部署需要的脚本。
6590 1
|
供应链 前端开发 安全
外贸电商代购系统的开发、运用与收益
外贸电商代购系统作为一种新兴商业模式,正改变消费者的购物习惯。它通过简化海外购物流程,帮助消费者轻松购买心仪商品,同时为代购者提供高效订单处理和库存管理工具。本文深入探讨其开发背景、技术架构(包括前端、后端、数据库和支付接口)、功能实现(如商品展示、库存管理和用户管理)及应用前景(跨境电商、个人和企业代购),并介绍收益模式(商品差价、服务费、佣金等),附带代码示例,全面解析这一创新系统的运作机制。
478 3
|
IDE 搜索推荐 网络安全
Python编程:编写被动信息搜集之网址的IP及Whois查询
Python编程:编写被动信息搜集之网址的IP及Whois查询
672 0
|
Java 网络安全
zookeeper的环境搭建和配置
本文介绍了如何在多台节点上搭建和配置Zookeeper环境。内容包括Zookeeper的下载、解压、环境变量配置、配置文件修改、zkdata目录创建、myid文件设置,以及将Zookeeper及其配置文件复制到其他节点。还提供了运行测试的命令,包括启动、状态检查和停止Zookeeper服务。
zookeeper的环境搭建和配置
|
分布式计算 Ubuntu Hadoop
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(一)
Hadoop入门基础(二):Hadoop集群安装与部署详解(超详细教程)(一)

热门文章

最新文章