安全配置
enable_security_policy
- 统一审计:统一审计机制是一种通过定制化制定审计策略而实现高效安全审计管理的一种技术。当管理员定义审计对象和审计行为后,用户执行的任务如果关联到对应的审计策略,则生成对应的审计行为,并记录审计日志。详情请参见《特性描述》文档中的“数据库安全 > 统一审计机制”。
- 动态数据脱敏:动态数据脱敏机制是一种通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效地在保留原始数据的前提下解决非授权用户对敏感信息的访问问题。详情请参见《特性描述》文档中的“数据库安全 > 动态数据脱敏机制”。
参数类型:布尔型
参数单位:无
取值范围:
- on:安全策略开关打开。
- off:安全策略开关关闭。
默认值:off
设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:需要使用安全策略时设置为on,会占用系统资源,对系统性能产生影响。
use_elastic_search
参数说明:统一审计发送日志至Elastic Search系统,enable_security_policy打开且本参数打开后,统一审计日志会通过http(https)传递至Elastic Search系统(默认使用https安全协议)。
参数类型:布尔型
参数单位:无
取值范围:
- on:开启统一审计日志发送至Elastic Search。
- off:关闭统一审计日志发送至Elastic Search。
默认值:off
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值,需要将统一审计日志发送至Elastic Search系统时开启。
设置不当的风险与影响:此参数打开后需要保证elastic_search_ip_addr对应的es服务可正常连通,否则进程启动失败。
elastic_search_ip_addr
参数说明:Elastic Search系统IP地址,使用https协议格式为:https://ip:port:username;使用http协议格式为:http://ip:port。其中,ip为Elastic Search服务器的IP,port为Elastic Search HTTP通信的侦听端口,范围为9200 - 9299,username为用户在Elastic Search注册账号所使用的用户名,初始用户为elastic。使用https协议需要配置相关证书,详见《安全加固指南》中“统一审计“章节。
参数类型:字符串
参数单位:无
取值范围:合法IP字符串或空字符串。
默认值:""
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值,需要将统一审计日志发送至Elastic Search系统时且use_elastic_search为on时设置。
设置不当的风险与影响:需要保证该参数取值对应的es服务可正常连通,否则进程启动会失败。
is_sysadmin
参数说明:表示当前用户是否是初始用户。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示是初始用户。
- off:表示不是初始用户。
默认值:off
设置方式:该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。
设置建议:该参数不允许用户进行设置,只能查看。
设置不当的风险与影响:无
enable_tde
参数说明:透明数据加密功能开关。请参考《特性描述》的“数据库安全 > 透明数据加密”章节获取透明加密特性的介绍。创建加密表前需要将此参数置为on,并且通过tde_key_info参数配置密钥信息。
参数类型:布尔型。
参数单位:无
取值范围:
- on:开启透明数据加密功能。
- off:关闭透明数据加密功能。
默认值:off
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:设置此参数为on,需要保证tde_key_info参数中密钥信息配置正确,并且密钥服务可以正常访问,否则透明加密功能无法使用。
设置不当的风险与影响:设置此参数为on并且创建了加密表后,如果再将此参数设置为off,在重启数据库时,数据库故障恢复阶段,如果处理到加密表的数据,会导致恢复失败,数据库重启失败。如果故障恢复阶段未处理到加密表的数据,数据库可重启成功,重启后无法读写加密表。
tde_index_default_encrypt
参数说明:创建索引时,如果开启本参数,并且索引的基表是加密表,则数据库会自动将索引设置为加密索引,并自动为索引复制基表的加密算法、密钥等加密参数,对索引中的数据先加密再存储。
参数类型:布尔型
参数单位:无
取值范围:
- on:自动对加密表的索引设置加密参数。
- off:不自动对加密表的索引设置加密参数。
默认值:off
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:如果所有加密表的索引都需要被加密,可开启该参数,无需手动将索引设置为加密索引。
设置不当的风险与影响:如果将参数设置为on,在加密表上创建的索引将被自动加密,影响查询索引的性能。
tde_encrypt_config
参数说明:用于设置透明加密支持xlog和undo-log相关功能的参数。
参数类型:字符串
参数单位:无
取值范围:该参数配置格式为“key=value, key=value, ...”,合法的key和value如下:
key取值 |
value取值 |
缺省值 |
功能 |
---|---|---|---|
log_encrypt |
on或off |
on |
控制是否对xlog和undo-log加密。 |
log_algorithm |
aes_128_ctr或sm4_ctr |
aes_128_ctr |
对xlog和undo-log加密的算法。 |
table_algorithm |
aes_128_ctr或sm4_ctr |
aes_128_ctr |
在该种语法中:CREATE .. SET (enable_tde=on, encrypt_algo=aes_128_ctr),如果不主动设置encrypt_algo参数,默认使用table_algorithm中设置的参数。 |
默认值:""
设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值,可以根据实际业务需要进行调整。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
block_encryption_mode
参数说明:aes_encrypt和aes_decrypt函数进行加解密时使用的块加密模式。
参数类型:枚举类型
参数单位:无
取值范围:有效值有aes-128-cbc、aes-192-cbc、aes-256-cbc、aes-128-cfb1、aes-192-cfb1、aes-256-cfb1、aes-128-cfb8、aes-192-cfb8、aes-256-cfb8、aes-128-cfb128、aes-192-cfb128、aes-256-cfb128、aes-128-ofb、aes-192-ofb、aes-256-ofb。其中aes表示加/解密算法,128/192/256表示密钥长度(单位:bit),cbc/cfb1/cfb8/cfb128/ofb表示块加/解密模式。
默认值:aes-128-cbc
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值,可以根据实际业务需要进行调整。
设置不当的风险与影响:影响aes_encrypt和aes_decrypt函数的使用。
enable_mac_check
参数说明:表示基于标签的强制访问控制是否生效。
参数类型:布尔型
参数单位:无
取值范围:
- on:表示基于标签的强制访问控制生效。
- off:表示基于标签的强制访问控制不生效。
默认值:off
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值,可以根据实际业务需要进行调整。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
enable_rls_match_index
参数说明:控制是否支持在行级访问控制特性使用场景中,基于目标谓词条件对基表执行索引扫描。目标场景为:基表设置并开启了RLS(Row Level Security)策略,查询谓词中包含unleakproof类型系统函数或like操作符。
参数类型:布尔型
参数单位:无
取值范围:
- on:支持目标场景下的基表索引扫描。
- off:不支持目标场景下的基表索引扫描。
默认值:off
设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。
设置建议:推荐使用默认值。若业务热点查询语句为目标场景,且基表行级访问策略数量较少,可打开该开关以显著提升查询性能。
设置不当的风险与影响:此参数设置为on,在位图扫描算子切换为lossy模式且RLS策略数目较多时,会导致过滤谓词重复执行,影响性能。
- 该参数的修改,会影响目标场景下执行计划的生成,可通过重连、创建操作符等方式手动使缓存计划失效。
- 该参数开启后,会影响到位图扫描算子的生成,RLS策略谓词将被插入到Recheck过滤条件中;因此,在该算子切换为lossy模式且RLS策略数目较多时,会对性能产生一定影响。
restrict_nonsystem_relation_kind
参数说明:控制是否能访问用户创建的关系对象类型。
- 空表示不进行任何限制。
- view表示禁用对用户创建的视图进行访问。
- foreign-table表示禁用对用户创建的外表进行访问。
默认值:空。
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:设置为默认值。
在gs_dump执行导出的过程中,为防止恶意攻击,需要禁用访问用户创建的视图和外表,工具会将此参数的值会话级设置为'view, foreign-table',无需用户手动配置。