高斯数据库给用户授权

GaussDB常用操作与系统权限的授权关系

如果您需要对购买的GaussDB资源,为企业中的员工设置不同的访问权限,为达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。

如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用GaussDB服务的其它功能。

通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望开发人员拥有GaussDB的使用权限,但是不希望他们拥有删除GaussDB等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用GaussDB,但是不允许删除GaussDB的权限,控制他们对GaussDB资源的使用范围。

IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见IAM产品介绍

GaussDB权限

默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。

GaussDB部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问GaussDB时,需要先切换至授权区域。

根据授权精细程度分为角色和策略。

角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。

策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对GaussDB服务,管理员能够控制IAM用户仅能对某一类数据库资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分。

如表1所示,包括了GaussDB的所有系统权限。

策略名称
描述
类别

GaussDB FullAccess

云数据库GaussDB服务的所有执行权限。

系统策略

GaussDB ReadOnlyAccess

云数据库GaussDB服务的只读访问权限。

系统策略

表2列出了GaussDB常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。

表2 常用操作与系统权限的关系

操作
GaussDB FullAccess
GaussDB ReadOnlyAccess

创建GaussDB实例

x

删除GaussDB实例

x

查询GaussDB实例列表

GaussDB数据库给用户授权

创建用户并授权使用GaussDB

如果您需要对您所拥有的GaussDB进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:

  1. 根据企业的业务组织,在您的华为云帐号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用GaussDB资源。
  2. 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。
  3. 将GaussDB资源委托给更专业、高效的其他华为云帐号或者云服务,这些帐号或者云服务可以根据权限进行代运维。

如果华为云帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用GaussDB服务的其它功能。

本章节为您介绍对用户授权的方法,操作流程如图1所示。

前提条件

给用户组授权之前,请您了解用户组可以添加的GaussDB系统策略,并结合实际需求进行选择。GaussDB支持的系统权限。若您需要对除GaussDB之外的其它服务授权,IAM支持服务的所有策略请参见权限策略

示例流程

1、创建用户组并授权

在IAM控制台创建用户组,并授予关系型数据库只读权限“GaussDB ReadOnlyAccess”。

2、创建用户并加入用户组

在IAM控制台创建用户,并将其加入1中创建的用户组。

3、用户登录并验证权限

新创建的用户登录控制台,切换至授权区域,验证权限:

在“服务列表”中选择云数据库 GaussDB,进入GaussDB主界面,在左侧导航栏选择GaussDB > 实例管理。单击右上角“购买数据库实例”,尝试购买数据库实例,如果无法购买(假设当前权限仅包含GaussDB ReadOnlyAccess),表示“GaussDB ReadOnlyAccess”已生效。

在“服务列表”中选择除云数据库 GaussDB外(假设当前策略仅包含GaussDB ReadOnlyAccess)的任一服务,若提示权限不足,表示“GaussDB ReadOnlyAccess”已生效。

高斯数据库基于什么

快速入门-实例连接方式介绍

  • DAS连接

    无需使用IP地址,通过华为云数据管理服务(Data Admin Service,简称DAS)这款可视化的专业数据库管理工具,可获得执行SQL、高级数据库管理、智能化运维等功能,做到易用、安全、智能地管理数据库。GaussDB默认开通DAS连接权限。

  • 内网连接

    系统默认提供内网IP地址。当应用部署在弹性云服务器上,且该弹性云服务器与GaussDB实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云服务器与GaussDB实例。

  • 公网连接

    弹性公网IP,不能通过内网IP地址访问GaussDB实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与GaussDB实例。

高斯数据库给用户授权常见问题

高斯数据库给用户授权常见问题

  • GaussDB是否支持磁盘缩容

    GaussDB暂时不支持磁盘缩容。

  • 数据库实例被锁怎么处理?

    1、在“实例管理”页面,选择指定的实例,单击实例名称,进入实例基本信息页面。

    2、在左侧导航栏单击“参数修改”,进入参数修改页面。

    3、修改password_lock_time=0、failed_login_attempts=0,解除数据库锁定。

    为了数据库安全,密码重置完成后,请将参数修改为默认值。

    4、在“基本信息”页签,在“数据库信息”模块的“管理员帐户名”处,单击“重置密码”。

    5、在“重置密码”弹框,输入新密码及确认密码

    6、修改完成后password_lock_time和failed_login_attempts修改为默认值。

  • GaussDB如何赋予用户SUPER权限?

    GaussDB不能赋予用户SUPER权限。

    如果无法导入存储过程,是因为存储过程语句中有部分需要super权限的语句,去掉这些语句后,即可正常导入存储过程。

  • 当业务压力过大时,备机的回放速度跟不上主机的速度如何处理?

    问题描述

    当业务压力过大时,备机的回放速度跟不上主机的速度。在系统长时间的运行后,备机上会出现日志累积。当主机故障后,数据恢复需要很长时间,数据库不可用,严重影响系统可用性。

    解决方案

    GaussDB提供极致RTO能力,开启极致RTO(Recovery Time Object,恢复时间目标),可以减少主机故障后数据的恢复时间,提高了可用性。

    如需使用极致RTO能力,您可以在管理控制台右上角,选择工单 > 新建工单,提交开通申请。

    注意事项

    极致RTO只关注同步备机的RTO是否满足需求。

    开启极致RTO会消耗备机更多CPU和内存。

    1.4及之前版本开启极致RTO会有流控效果。

    极致RTO不支持备机读。如果查询备机可能导致备机无法提供服务。

高斯数据库基于什么 高斯数据库基于什么

GaussDB基于JDBC开发

JDBC(Java Database Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB库提供了对JDBC 4.0特性的支持,需要使用JDK1.8版本编译程序代码,不支持JDBC桥接ODBC方式。

GaussDB基于ODBC开发

单击此处获取GaussDB提供的驱动包。Linux环境下,开发应用程序要用到unixODBC提供的头文件(sql.h、sqlext.h等)和库libodbc.so。这些头文件和库可从unixODBC-2.3.0的安装包中获得。

GaussDB基于libpq开发

libpq是GaussDBC应用程序接口。libpq是一套允许客户程序向GaussDB服务器服务进程发送查询并且获得查询返回的库函数。同时也是其他几个GaussDB应用接口下面的引擎,如ODBC等依赖的库文件。本章给出了两个示例显示如何利用libpq编写代码。

GaussDB基于Psycopg开发

Psycopg是一种用于执行SQL语句的PythonAPI,可以为PostgreSQL、GaussDB数据库提供统一访问接口,应用程序可基于它进行数据操作。Psycopg2是对libpq的封装,主要使用C语言实现,既高效又安全。