自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 KingbaseES-手动加密数据

KingbaseES 提供了典型的加密算法,用户可以使用加密算法存储关键敏感数据。OpenSSL 支持的任何摘要算法都是自动选取的。这对于使用密码来说是不可能的,因为需要被显式地支持。KingbaseES支持用户使用加密函数保护敏感数据,并提供了多种加密算法。SHA2算法是在版本 0.9.8 时被加入到 OpenSSL 的。AES从版本0.9.7 就开始被包括在 OpenSSL中。

2024-01-03 10:11:58 557

原创 KingbaseES-管理上下文

在KingbaseES中,通过使用dbms_session系统包中的过程来管理上下文。使用 CREATE CONTEXT 语句为context创建namespace标签,将namespace与用来设置context的包相关联。可以使用 DBMS_SESSION.SET_CONTEXT 程序在关联包中设置context的属性值key-value。namespace中的key-value只允许会话级访问,即只有设置其属性值的会话才可以访问该值, 其他会话访问该属性值都为空。

2024-01-03 10:09:58 416

原创 KingbaseES-用户权限和角色的系统视图和字典

【代码】KingbaseES-用户权限和角色的系统视图和字典。

2024-01-03 10:05:12 569

原创 KingbaseES-SET ROLE的使用

仅当当前用户会话使用SET ROLE语句后,重新启用角色时,或者在授予或撤消后创建新的用户会话时,向任何用户、其他角色授予和撤销角色的所有授权和撤销才会生效。在用户会话期间,用户或应用程序可以使用SET ROLE语句任意次数来更改当前为会话启用的角色。必须已向用户授予在语句中命名的角色。您可以通过查询 SESSION_USER和CURRENT_USER查看当前启用的角色。向任何内容用户和角色的系统特权、对象特权授予和撤销将立即生效。

2024-01-03 10:01:57 433

原创 KingbaseES-管理public角色

对public权限的继承完全不受noinherit的控制,一旦创建了一个拥有login权限的角色,它会立即继承拥有上述权限,此时如果想通过revoke(比如revoke connect on database)来回收的话不会成功,因为这是通过组-组成员来继承的,这种继承权限无法通过单纯的对角色成员revoke掉,只能对组进行revoke,通过继承来实现回收。任何特定角色拥有的特权包括直接授予给它的特权、从它作为其成员的角色中得到的特权以及授予给public 的特权。授予和撤销public角色权限。

2024-01-03 09:59:38 491

原创 KingbaseES-撤销用户和角色权限

例如,如果用户A 已经把一个带有授予选项的特权授予给了用户B,并且用户B 接着把它授予给了用户C,那么用户A 无法直接从C 收回该特权。但如果是撤销对象被过程依赖则会有影响,例如,如果撤销用户的 SELECT ANY TABLE 权限,则在重新授权该权限之前,用户模式中包含的依赖此权限的所有过程都无法成功执行。如果授予权限的用户的对象权限被撤销,那么使用 WITH GRANT OPTION 传播的对象权限授予也被撤销。另外,在回收一个表上的特权时,也会在该表的每一个列上自动回收对应的列特权(如果有)。

2024-01-03 09:54:07 1055

原创 KingbaseES- 授予用户和角色权限

如果指定了WITH ADMIN OPTION,成员接着可以把该角色中的成员关系授予给其他用户,也可以撤回该角色中的成员关系。例如,如果表t1 被角色g1 拥有,u1 是它的一个成员,那么u1 可以把t1 上的特权授予给u2,但是那些特权将好像是直接由g1 授予的。系统加载 sysprivilege 插件后,可以使用grant语句向用户授予any管理特权,需要使用超级用户授予any权限。系统特权不能进行转授,需要有系统特权的用户进行授予。您可以向用户和角色授予对象权限,并使被授权者能够向其他用户授予权限。

2024-01-03 09:41:09 649

原创 KingbaseES- 管理过程权限

调用方的权限过程以调用方的所有特权执行。KingbaseES数据库使通过调用者的任何已启用角色授予调用者的特权生效,除非定义者的权限过程直接或间接调用调用者的权限过程。调用程序权限过程的用户需要对过程通过调用程序架构中解析的外部引用访问的对象具有特权(直接或通过角色授予用户)。或者,调用程序权限过程的开发人员必须仅授予对过程本身的权限,而不是对调用者权限过程直接引用的所有对象授予特权。如果过程所有者向其他用户授予使用该过程的权限,则过程所有者的权限(对过程引用的对象)适用于被授权用户对该过程的执行。

2024-01-03 09:39:19 376

原创 KingbaseES- 管理视图权限

视图的对象特权允许各种 DML 操作,如前所述,这些操作会影响从中派生视图的基表。此外,在向其他用户授予您查看的权限之前,您必须对具有子句的基本对象具有对象特权,或者对子句具有适当的系统特权。如果您没有这些权限,则无法向其他用户授予访问您的视图的权限。要使用视图,用户必须具有适当的权限,但仅限于视图本身,而不是其基础对象。因此,即使已向用户授予了对视图的访问权限,如果撤销用户对视图基表的特权,则该用户也可能无法使用该视图。在此视图中,只能访问与视图的当前用户匹配的行,体现了视图访问的安全性。

2024-01-03 09:38:15 359

原创 KingbaseES-管理表权限

与 INSERT 和 UPDATE 权限一样,您可以授予对表的特定列的 REFERENCES 权限。此操作由特殊权限控制,因为外键的存在限制了可以对父键进行的数据操作和表更改。使用选择性 INSERT 权限,特权用户可以插入一行,其中包含选定列的值,所有其他列为null。例如,如果您不希望数据输入用户更改订单表的运费列,则可以选择性授予INSERT 或UPDATE 权限来排除运费列。表的对象权限可分为 DML(数据操作语言)或 DDL(数据定义语言)类型的两种权限级别,以及列级权限。

2024-01-03 09:37:41 428

原创 KingbaseES-角色授权类型

一个带有 CREATEROLE权限的角色也可以修改和删除其他角色,还可以授予或回收角色中的成员关系。然而,要创建、修改、删除或修改一个超级用户角色的成员关系,需要以超级用户的身份操作。这是一个危险的权限并且应该小心使用,最好用一个不是超级用户的角色来完成大部分工作,您必须作为一个超级用户来完成这些。一个角色必须被显式给予权限才能创建数据库(除了超级用户,因为它们会绕开所有权限检查)。一个角色必须被显式给予权限才能创建更多角色(除了超级用户,因为它们会绕开所有权限检查)。要创建这样一个角色,使用。

2024-01-03 09:35:45 485

原创 KingbaseES-角色定义

角色是一组权限的集合,使用角色让权限管理的工作更加简单有效。数据库管理员可以将角色授予用户或者其他角色,有创建角色(CREATE ROLE)的系统权限的用户可以将自己创建的角色授予给用户和其他角色。每一个到数据库服务器的连接都是使用某个特定角色名建立的,并且这个角色决定发起连接的命令的初始访问权限。一个给定客户端连接能够用来连接的数据库角色的集合由该客户端的认证设置决定,详见 用户的客户端认证 (因此,一个客户端不止限于以匹配其操作系统用户的角色连接,就像一个人的登录名不需要匹配他的真实名字一样)。

2024-01-03 09:34:06 368

原创 KingbaseES -关于创建用户

普通用户可以修改自己的密码,但不能修改其他用户的密码,除非有CREATEROLE权限。用户建立连接后即具有默认角色的所有权限,新建用户没有设置默认角色时,其默认角色为空。用户可通过 SET ROLE 语句改变当前生效的角色,通过 ALTER ROLE 语句修改用户的默认角色。在大多数情况下,您可以使用 SQL 语句修改用户,例如,用户可以修改自己的密码。创建指定用户名的用户时,请注意命名名称是否唯一等限制,而且用户名的长度不可以大于63字节。创建新用户帐户时,默认此用户有连接(LOGIN)数据库的权限。

2024-01-03 09:31:53 965

原创 KingbaseES-受限dba

修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库,创建插件并切换用户为安全管理员sso打开受限DBA开关。KingbaseES通过插件的方式来进行受限DBA。这种方式更为灵活,当数据库的实用场景需要进行受限DBA管理时,加载插件即可。受限DBA可以对当前DBA的权限进行一定限制。restricted_dba.restricted_enable 受限DBA开关,默认为关闭状态。KingbaseES通过 1 个全局级参数配合插件来实现受限DBA管理。

2024-01-03 09:28:42 371

原创 KingbaseES-空闲自动断开连接

数据库管理员system设置全局连接空闲时间为30min。–普通用户设置当前连接空闲时间为5min。所有连接均关闭空闲自动断开连接功能。本进程关闭空闲自动断开连接功能。

2024-01-03 09:21:26 504

原创 KingbaseES-口令历史管理

KingbaseES通过插件的方式来进行口令历史管理。这种方式更为灵活,当数据库的实用场景需要进行口令历史管理时,加载插件即可。KingbaseES中通过 2 个全局级参数配合插件来实现用户口令历史管理。口令的历史检查是由数据库管理员对初次设定的口令或更改过的口令使用天数进行设置后,在修改用户口令时,自动对口令已使用天数进行相关方面的检查。修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库,创建插件并打开口令历史开关。

2024-01-02 16:57:42 322

原创 KingbaseES-账户登录信息显示

sys_audlog.user_logonlog_level 数据库对用户登录信息记录的级别,控制是否要记录用户登录信息的开关,通过该参数来控制是否要记录用户登录的信息,以及记录用户的哪些登录信息。取值范围为[0,2],缺省为 0。账户登录信息显示则会在用户登录数据库时给出用户一些提示信息,如此次登录信息、最后一次成功登录信息、此次登录与上次登录之间登录失败的次数、最近一次尝试登录的信息等。修改 kingbase.conf 文件中shared_preload_libraries 参数。

2024-01-02 16:54:28 474

原创 KingbaseES-帐户异常登录锁定

KingbaseES通过插件的方式来进行帐户异常登录锁定以及账户登录信息显示。sys_audlog.max_error_user_connect_times 用户登录失败次数的最大值界限,error_user_connect_times的最大取值,取值范围为 [0,INT_MAX],缺省为2147483647。sys_audlog.error_user_connect_times 允许用户连续登录失败的最大次数,用户登录失败的次数大于超过该值,用户自动锁定,取值范围为[0,INT_MAX],缺省为 0。

2024-01-02 16:50:15 367

原创 KingbaseES-口令有效期设置

KingbaseES通过插件的方式来进行用户密码过期检查。若在创建用户或修改用户密码时未显示的通过 valid until 选项指定该用户的密码有效期,那么系统会根据 identity_pwdexp.password_change_interval 参数设定的值自动为其计算密码有效期。指定密码创建用户时,可通过 valid until 选项指定该用户的密码有效期,指定的密码有效期必须晚于当前时间且早于更换周期 identity_pwdexp.password_change_interval 指定的时间。

2024-01-02 16:47:11 452

原创 KingbaseES-密码复杂度参数

passwordcheck.password_condition_punct 口令至少包含几个特殊字符,取值范围为 [0,59],缺 省为 0。passwordcheck.password_condition_letter 口令至少包含几个字母,取值范围为[2,61],缺省为2。passwordcheck.password_condition_digit 口令至少包含几个数字,取值范围为 [2,61],缺省为2。passwordcheck.enable 密码复杂度开关,默认为关闭状态。

2024-01-02 16:43:37 565

原创 KingbaseES-口令复杂度插件

KingbaseES通过插件的方式来进行口令的复杂度管理。这种方式更为灵活,当数据库的实用场景需要进行口令的复杂度管理时,加载插件即可。而不需要该功能时,卸载插件即可。口令的复杂度检查是由数据库安全员对口令的最小长度,所包含的数字、英文字母、特殊符号的数目进行设置后,在创建和修改用户时,自动对口令进行相关方面的检查。如果口令不满足指定的条件,那么创建用户将不成功。修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库,创建插件并打开密码复杂度 开关。

2024-01-02 16:39:37 322

原创 KingbaseES-用户的数据字典视图

KingbaseES数据库提供了一组数据字典视图,这些视图提供有关用于创建用户和配置用户的信息。

2024-01-02 16:37:37 465

原创 KingbaseES-用户的只读状态

在KingbaseES数据库中,除了对用户授予特定的对象的select权限方法外,还可以将事务设置成只读状态。在该状态下,用户不能执行数据库操作种类的操作,极大的限制了用户除了select权限以外操作,从而表现为只读用户的特征。当用户处于只读事务状态,其本身对于数据库对象的权限没有改变。当改变用户的只读状态后,即可恢复用户的各种权限。KingbaseES提供系统存储过程alteruserreadonly来设置用户的只读状态。database 数据库名称,为空时表示全部数据库。Username 用户名。

2024-01-02 16:35:05 600

原创 KingbaseES-用户访问控制

当GUC参数connections_limit_per_user设置为true时,普通用户默认连接数限制为5,超级用户默认连接数限制为8。connections_limit_per_user设置为false时,所有用户默认的最大连接限制均为-1,并且超级用户不受连接数限制。限制的是每天的时间段,例如 ‘09:00:00 TO 12:00:00’ 代表限制用户在每天的9点到12点之间,才被允许登录数据库。在KingbaseES 中,可以配置用户连接数限制,以及限制账号的使用期限。

2024-01-02 16:33:15 526

原创 KingbaseES-删除用户

因为DROP OWNED 只影响当前数据库中的对象,通常需要在包含将被删除用户所拥有的对象的每一个数据库中都执行这个命令。REASSIGN OWNED 命令是另一种选择,它可以把一个或多个用户所拥有的所有数据库对象重新授予给其他用户。如果一个用户的对象在任何数据库中被引用,它就不能被删除,如果尝试删除将会抛出一个错误。当数据库中还有用户连接的会话时,则无法删除此用户。必须先终止用户会话或者用户可以退出会话,然后才能删除用户。如果用户的对象还存在引用关系,被其他对象依赖,需要删除依赖对象后才能删除用户。

2024-01-02 16:31:53 677

原创 KingbaseES-授权与角色

一类是以用户或角色的属性存在的系统权限,这些权限包括:CREATE DATABASE、CREATE USER、CREATE ROLE 的权限,具体分为SUPERUSER、SSO、SAO、CREATEDB 和CREATEROLE 五个系统权限;此外,还可以把一个角色中的成员资格授予给另一个角色,这样允许成员角色使用被赋予给另一个角色的权限。对象权限:是对给定的用户授予在给定对象(例如表)上执行的操作集。权限是执行一种特殊类型的SQL 语句或存取某一用户的对象的权力,包括系统权限、对象权限和列级权限。

2024-01-02 16:28:48 376

原创 KingbaseES用户身份验证

通过强化身份鉴别与SSL 安全传输相结合,KingbaseES 建立了服务器与客户端的可信路径安全通道,实现了双向可信认证,杜绝假冒用户身份或者假冒数据库服务器的恶意行为,并进一步防范这些恶意行为可能引发 的重放攻击。KingbaseES 还支持基于Kerberos、Radius、LDAP 认证协议和CA等技术在内的与第三方身份认证产品相结合的外部统一身份鉴别或集中化身份认证方式。您可以通过将传输层安全性与第三方服务结合使用,通过网络对用户进行身份验证。支持强化身份鉴别与SSL安全传输相结合。

2024-01-02 16:27:48 326

原创 KES-数据库身份验证

KingbaseES数据库口令独立于操作系统用户口令。每个数据库用户的口令被存储在sys_authid系统目录中。口令在创建用户时使用CREATE USER PASSWORD语句指定,也可以使用ALTER USER PASSWORD语句来修改用户口令。如果没有为一个用户设置口令,那么存储的口令为空并且对该用户的口令认证总会失败。KingbaseES数据库可以使用存储在数据库本身中的信息来验证尝试连接到数据库的用户。要将数据库配置为使用数据库身份验证,您必须为每个用户创建一个关联的密码口令。

2024-01-02 16:23:15 326

原创 KES-口令加密

要把现有的安装从 md5 升级到 scram-sha-256 ,可以在确保所有在用的客户端已经足以支持SCRAM之后,在 kingbase.conf 中设置 password_encryption = ‘scram-sha-256’ ,然后让所有用户设置新口令并且在 sys_hba.conf 中将认证方法说明改为 scram-sha-256。它使用的是一种挑战-响应的方案,可以防止在不可信连接上对口令的嗅探并且支持在服务器上以一种加密哈希的方式存放口令,因此被认为是安全的。有几种基于口令的认证方法。

2024-01-02 16:20:11 472

原创 KES-Activiti

配置时根据实际情况修改 “jdbcDriver” 、“jdbcUrl” 、"databaseType"即可。Activiti的配置信息可以通过配置文件配置,也可以直接在代码中进行配置,以下是两种方式的举例。Activiti使用配置文件配置连接信息,创建工作流需要的表。Activiti使用代码配置连接信息,创建工作流需要的表。(KingbaseES形态)(Postgre形态)

2024-01-02 16:18:31 354

原创 KingbaseES替换视图

如果视图的 SELECT 定义必须修改,可以优先考虑使用带有 OR REPLACE 子句的 CREATE VIEW 语句执行视图替换,其他拥有关系、权限和非 SELECT 规则在内的视图属性不会被更改;例如,在前面小节所示创建的 student_age_view 视图,如果需要重新定义视图 WHERE 子句指定的年龄和性别以及新增查询结果。可以通过删除并重新创建视图,或者通过执行带有 OR REPLACE 子句的 CREATE VIEW 语句实现替换现有视图的定义。定义的视图,并保留当前授权。

2023-09-18 14:53:27 129

原创 KingbaseES约束管理

否则约束的名称由系统生成,我们必须先找出这个名称。ksql 的命令 d 表名将会对此有所帮助,其他接口也会提供方法来查看表的细节。和移除一个列相似,如果需要移除一个被某些对象依赖的约束,也需要加上 CASCADE。一个典型的例子是一个外键约束依赖于被引用列上的一个唯一主键约束。(如果处理的是自动生成的约束名称,如 $2,别忘了用双引号使它变成一个合法的标识符。该约束会立即被检查,所以表中的数据必须在约束被增加之前就已经符合约束。(回忆一下,非空约束是没有名称的,所以不能用第一种方式。

2023-09-18 10:28:29 145

原创 KingbaseES逻辑备份还原加密

数据库的备份文件通常是明文的或是二进制的形式存储,这样也是有数据泄露风险的,所以对备份文件加密也是维护数据库安全手段的一种。备份文件时需要用户指定备份的密钥,该密钥不会存储到备份文件中,这样就确保了密钥的安全,没有密钥,即使文件被盗取也没有办法获取到备份出来的真实数据。与此同时,数据库服务器会对备份文件的完整性进行校验,如果备份文件被人恶意破坏,那么还原数据的时候是会先检查备份文件的完整性,完整性校验不通过则无法还原数据到数据库中,防止了恶意篡改数据的操作。

2023-09-15 16:48:20 127

原创 kes加载表

例如,当在表之间拷贝值时,这个 OVERRIDING USER VALUE 子句就能派上用场,下面这个例子将从 tbl1 中 拷贝所有在 tbl2 中不是标识列的列,而 tbl2 中标识列的值将由与 tbl2 关联的序列产生。通过 MERGE 语句,根据一张表(或视图)的连接条件对另外一张表(或视图)进行查询,连接条件匹配上的执行 UPDATE(可能含有 DELETE),无法匹配的执行 INSERT。用一个预备语句创建一个新的临时表 films_new,它仅由表 films 中最近的项组成。

2023-09-08 15:17:08 49

原创 KES使用 FLASHBACK 删除和恢复表

数据库重命名表,并将其和任何关联的对象放在回收站中,万一表被错误地删除,可以在稍后恢复。当回收站被启用时,被删除的表及其相关对象将被放入回收站。当回收站被禁用时,被删除的表及其相关对象不会被放入回收站;,且未指定 PURGE 选项,则删除的表及其关联的索引、规则、触发器、约束等将被放到 SYS_RECYCLEBIN 系统表中。回收站实际上是一个数据字典表,包含关于被删除对象的信息。被删除的表和任何关联的对象 (如索引、约束、嵌套表等) 没有被删除,仍然会占用空间。• 约束 (不包括外键约束)

2023-09-04 17:02:48 46

原创 kes-sys_bulkload 工具快速加载数据

sys_bulkload 是 KingbaseES 提供的快速加载数据的命令行工具,该工具能够把一定格式的文本数据简单、快速的加载到 KingbaseES 数据库中。1,以 BUFFERED 方式导入 TEXT 文件配置文件示例(以 test.ctl 为名保存到服务器所在目录,也可自行指定其他目录。数据文件示例:将下列数据以 test.csv 为文件名保存到 KingbaseES 服务器所在目录。2,使用配置文件导入命令示例。3,使用配置文件导入结果。

2023-09-04 14:45:40 68

原创 KingbaseES临时表

简单来看全局临时表定义是持久的,而表数据是临时的,而本地临时表的表定义和表数据都是临时的,会在会话退出后被删除。• 当同一个用户的不同会话必须对一个临时表使用相同的名称时使用 CREATE LOCAL TEMPORARY TABLE 语句创建一个局部临时表。全局临时表的定义对所有会话都是可见的,但是全局临时表中的数据只对向表中插入数据的会话可见。但是删除全局临时表时,所有会话都不能持有全部临时表的数据。• 4. 全局临时表不支持外键约束也不支持其他表引用全局临时表作为外键约束,而本地临时表没有这个要求。

2023-09-04 14:40:11 157

原创 KingbaseES启用和禁用触发器

上述用于启动特定的触发器,如果要启用特定表的所有触发器,请使用带有 ENABLE ALL TRIGGERS 选项的ALTER TABLE 语句。要使用 ALTER TABLE 语句启用或禁用触发器,您必须是这个表的拥有者或者对该表具有 ALTER 权限。可以使用带有 DISABLE ALL TRIGGERS 选项的 ALTER TABLE 语句同时禁用与表关联的所有触发器。您可以使用带有 ENABLE 选项的 ALTER TRIGGER 语句启用禁用状态的触发器。• 您正在将数据加载到触发器应用的表中。

2023-09-04 14:13:36 170

原创 KingbaseES索引说明

但是将表及其索引放在不同的表空间时,如果一个表上某索引所在的表空间脱机了,则涉及这张表的 SQL 语句可能由于执行计划仍旧需要使用被脱机的索引而不能成功执行。那是因为,索引是建立在某个列或者几个列上 (即索引列),创建索引时,数据库服务器将根据索引列进行排序,并将排序的结果存储在索引指定的存储空间中。在执行查询时,数据库服务器首先在索引中查询,然后再到表中查询,因为索引中的数据进行了排序,因此只需要很少的查询次数就可以找到指定的数据。要删除索引,您应该具有删除权限,或者该索引在您的模式中。

2023-09-04 14:00:40 239

原创 C语言

文章目录程序设计和C语言例1.1 要求在屏幕上输出以下一行信息例1.2 求两个整数之和第2章 算法——程序的灵魂例2.1 求12345例2.2 判定2000-2015年中的每一年是否为闰年,并将结果输出第3章 最简单的C程序设计——顺序程序设计例3.1 要求把华氏发表示的温度转化为以摄氏法表示的温度例3.2 计算存款利息。例3.3 给定一个大写字母,要求用小写字母输出例3.4 给出三角形的三边长,...

2019-02-01 19:29:39 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除