用户权限管理及密码策略
GaussDB(for MySQL)权限
- 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作;
- GaussDB(for MySQL)部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问GaussDB(for MySQL)时,需要先切换至授权区域;
- 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对云数据库GaussDB(for MySQL),管理员能够控制IAM用户仅能对某一类数据库资源进行指定的管理操作。
GaussDB(for MySQL)系统权限
| 策略名称 | 描述 | 类别 |
|---|---|---|
| GaussDB FullAccess | 云数据库GaussDB服务的所有执行权限 | 系统策略 |
| GaussDB ReadOnlyAccess | 云数据库GaussDB服务的只读访问权限 | 系统策略 |
常用操作与系统权限的关系
| 操作 | GaussDB FullAccess | GaussDB ReadOnlyAccess |
|---|---|---|
| 创建GaussDB(for MySQL)实例 | YES | NO |
| 删除GaussDB(for MySQL)实例 | YES | NO |
| 查询GaussDB(for MySQL)实例列表 | YES | NO |
常用操作与对应授权项
| 操作名称 | 授权项 | 备注 |
|---|---|---|
| 创建数据库实例 | gaussdb:instance:create gaussdb:param:list |
界面选择VPC、子网、安全组需要配置: vpc:vpcs:list vpc:vpcs:get vpc:subnets:get vpc:securityGroups:get 创建加密实例需要在项目上配置KMS Administrator权限。 |
| 变更数据库实例的规格 | gaussdb:instance:modifySpec | 无 |
| 重启数据库实例 | gaussdb:instance:restart | 无 |
| 删除数据库实例 | gaussdb:instance:delete | 无 |
| 查询数据库实例列表 | gaussdb:instance:list | 元 |
| 实例详情 | gaussdb:instance:list | 实例详情界面展示VPC、子网、安全组,需要对应配置vpc:*:get和vpc:*:list |
| 修改数据库实例密码 | gaussdb:instance:modify | 无 |
| 修改端口 | gaussdb:instance:modify | 无 |
| 修改运维时间窗 | gaussdb:instance:modify | 无 |
| 修改实例安全组 | gaussdb:instance:modify | 无 |
| 绑定/解绑公网IP | gaussdb:instance:modify | 界面列出公网IP需要配置: vpc:publiclps:get vpc:publicelps:list |
| 创建参数模板 | gaussdb:param:create | 无 |
| 修改参数模板 | gaussdb:param:modify | 无 |
| 获取参数模板列表 | gaussdb:param:list | 无 |
| 应用参数模板 | gaussdb:param:apply | 无 |
| 删除参数模板 | gaussdb:param:delete | 无 |
| 创建手动备份 | gaussdb:backup:create | 无 |
| 删除手动备份 | gaussdb:backup:delete | 无 |
| 获取备份列表 | gaussdb:backup:list | 无 |
| 修改备份策略 | gaussdb:instance:modifyBackupPolicy | 无 |
| 查询可恢复时间段 | gaussdb:instance:list | 无 |
| 恢复到新实例 | gaussdb:instance:create | 界面选择VPC、子网、安全组需要配置: vpc:vpcs:list vpc:vpcs:get vpc:subnets:get vpc:securityGroups:get |
| 查询错误日志 | gaussdb:log:list | 无 |
| 查询项目标签 | gaussdb:tag:list | 无 |
| 批量添加删除项目标签 | gaussdb:instance:dealTag | 无 |
| 修改配额 | gaussdb:quota:modify | 无 |
| 添加只读节点 | gaussdb:instance:create | 无 |
| 删除只读节点 | gaussdb:instance:delete | 无 |
| 按需转包周期 | gaussdb:instance:modify | 无 |
| 只读升主 | gaussdb:instance:modify | 无 |
| 设置倒换优先级 | gaussdb:instance:modify | 无 |
数据库安全设置
- 账户密码等级设置
- GaussDB(for MySQL)对在客户端新创建的数据库用户,设置了密码安全策略
- 口令长度至少8个字符
- 口令至少包含大写字母、小写字母、数字和特殊字符各一个
- 创建实例时,为用户提供了密码复杂度检验,由于root用户可以修改密码复杂度,安全起见,建议修改后的密码复杂度不低于GaussDB(for MySQL)数据库的初始化设置;
- 账户说明
- 在创建GaussDB(for MySQL)实例时,系统会自动为实例创建如下系统账户(用户不可使用),用于给数据库实例提供完善的后台运维管理服务。
- rdsAdmin:管理账户,拥有最高的superuser权限,用于查询和修改实例信息、故障排查、迁移、恢复等操作;
- rdsRepl:复制账户,用于只读节点在主实例上同步数据;
- rdsBackup:备份账户,用于后台的备份;
- rdsMetric:指标监控账户,用于watchdog采集数据库状态数据;
- 在创建GaussDB(for MySQL)实例时,系统会自动为实例创建如下系统账户(用户不可使用),用于给数据库实例提供完善的后台运维管理服务。
- 删除、重命名、修改这些帐户的密码和权限信息,会导致实例运行异常,请谨慎操作。
- GaussDB(for MySQL)对在客户端新创建的数据库用户,设置了密码安全策略
管理员密码重置
- GaussDB(for MySQL)仅支持通过主实例重置管理员密码;
- 在使用GaussDB(for MySQL)过程中,如果忘记数据库账号密码,可以重新设置密码;
- 如果root账号自身出现问题,比如丢失或者删除,可以通过重置密码的方法恢复root账号权限;
- 以下情况不可重置密码
- 租户被冻结;
- 数据库端口变更中;
- 主实例状态为创建中、恢复中、重启中、端口修改中、规格变更中、只读升主中、异常;
- 注意事项
- 当修改数据库实例的密码时,如果该实例中存在只读节点,则会被同步修改;
- 重置密码生效时间取决于该主实例当前执行的业务数据量;
- 请定期(如三个月或六个月)修改用户密码,以提高系统安全性,防止出现密码被暴力破解等安全风险;
- 密码规则
- 所设置的密码,最小长度为8个字符,最大长度为32个字符,至少包含大写字母、小写字母、数字、特殊字符中的3种,其中,可输入~!@#%^*-_=+?,特殊字符。输入高强度密码并定期修改,以提高安全性,防止出现密码被暴力破解等安全风险;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




