一、GaussDB权限体系基础架构
1.1 GaussDB权限模型概述
GaussDB数据库采用基于角色的访问控制(RBAC)模型,结合自主访问控制(DAC)机制,构建了一个多层次的权限管理体系。在这个体系中,权限控制可以精确到数据库对象的不同层级,包括实例级、数据库级、模式级、表级、列级和行级。作为华为云自主研发的企业级分布式数据库,GaussDB在兼容传统关系型数据库权限管理的同时,还针对云环境特点进行了深度优化,提供了IAM集成、行级安全等高级特性。
权限控制的本质是解决"谁(主体)可以对什么(客体)做什么(操作)"的问题。在GaussDB中,主体主要包括用户(User)和角色(Role),客体则是各类数据库对象(如表、视图、函数等),操作则对应SQL语句的执行权限(如SELECT、INSERT等)。这种三元组(主体,客体,操作)构成了权限管理的基本单元。
GaussDB权限体系的核心特点包括:
- 权限继承性:角色可以继承其他角色的权限,用户通过被授予角色获得权限
- 权限叠加性:用户可通过多种途径获得权限(直接授权、角色继承、PUBLIC权限)
- 权限最小化原则:建议遵循"最小特权"原则,仅授予必要权限
- 显式授权机制:默认情况下,新建对象仅所有者有权限,需显式授权其他用户