GaussDB安全功能如何配置【玩转华为云】
GaussDB 提供了一套完整的企业级安全防护体系,涵盖数据加密、动态脱敏、细粒度权限控制等核心功能。
一、数据全生命周期加密
1. 传输层加密(TLS/SSL)
- 作用:防止数据在传输过程中被窃听或篡改。
- 配置步骤:
- 生成证书:
openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key
-
- 修改 postgresql.conf:
- ssl = on
- ssl_cert_file = '/path/server.crt'
- ssl_key_file = '/path/server.key'
ssl_ca_file = '/path/ca.crt'
2. 存储透明加密(TDE)
- 作用:静态数据(表数据、WAL日志)自动加密存储。
- 配置步骤:
- 开启加密功能:
- ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY 'StrongPassword123!';
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY 'StrongPassword123!';
-
- 创建加密表:
CREATE TABLE t1 (c1 INT, c2 TEXT) WITH (enable_tde = on, encrypt_algo = 'AES_256_CTR');
-
-
- 支持算法:AES_128_CTR(默认)、SM4_CTR(国密)。
- 密钥轮转(定期增强安全性):
-
ALTER TABLE t1 ENCRYPTION KEY ROTATION;
3. 全密态计算
- 作用:数据在传输、存储、计算全程保持密文,支持密文直接查询(如等值比较)。
- 配置步骤:
- 创建列加密密钥:
- CREATE COLUMN ENCRYPTION KEY cek1
WITH VALUES (CLIENT_MASTER_KEY = cmk1, ALGORITHM = AEAD_AES_256_CBC_HMAC_SHA256);
-
- 加密敏感列:
CREATE TABLE users (id INT, phone TEXT ENCRYPTED WITH (COLUMN_ENCRYPTION_KEY = cek1));
-
-
- 支持算法:AEAD_AES_256_CTR_HMAC_SHA256(低膨胀率)或国密SM4_SM3。
-
二、动态数据脱敏
1. 作用:根据用户身份实时脱敏敏感数据(如身份证、银行卡号),无需修改原始数据。
2. 配置步骤:
- 开启动态脱敏功能:
gs_guc reload -Z datanode -N all -I all -c "enable_security_policy=on"
- 标记敏感列:
CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(customer_table.credit_card);
- 定义脱敏策略:
- 内置脱敏函数(如掩码、哈希):
CREATE MASKING POLICY maskpol1 MASKALL ON LABEL(mask_lb1);
-
- 自定义脱敏函数:
- CREATE FUNCTION custom_mask(text) RETURNS TEXT AS $$ ... $$;
CREATE MASKING POLICY maskpol2 custom_mask ON LABEL(mask_lb1);
- 验证效果:
SELECT credit_card FROM customer_table; -- 返回脱敏后数据(如 "1234-xxxx-xxxx-5678")
三、细粒度权限控制
1. RBAC与最小权限原则
- 配置步骤:
- 创建角色并分配权限:
- CREATE ROLE analyst WITH LOGIN;
GRANT SELECT ON sales_data TO analyst;
-
- 限制高危操作:
REVOKE DELETE, TRUNCATE ON customer_table FROM public;
2. 行级访问控制(RLS)
- 作用:按用户属性过滤数据(如仅查看本部门数据)。
- 配置步骤:
- CREATE POLICY dept_policy ON employee_table
USING (dept_id = CURRENT_USER);
3. 安全组与网络隔离
- 配置步骤:
- 安全组规则:限制访问IP范围(如仅允许VPC内网访问):
- CREATE FIREWALL RULE allow_internal
ALLOW FROM IP 192.168.1.0/24 TO PORT 5432;
-
- VPC隔离:将数据库部署在私有子网,通过安全组控制入站流量。
四、审计与监控
- 细粒度审计日志:
- CREATE AUDIT POLICY login_audit
FOR LOGIN FAILURES;
-
- 记录登录失败、敏感操作(如DELETE)。
- 实时告警集成:
- 通过ELK Stack(Elasticsearch + Kibana)分析审计日志,触发阈值告警。
- 云审计服务(CTS):跟踪所有管理操作(如实例创建、配置变更)。
五、灾备与高可用
- 同城多AZ部署:
- deployment:
- replicas: 3
zones: [cn-north-4-a, cn-north-4-b, cn-north-4-c]
-
- 实现AZ级故障切换,RPO=0(零数据丢失)。
- 备份加密:
- 自动备份至OBS(对象存储)并启用服务端加密。
一些小点注意事项
- 密钥管理:
- 使用华为云KMS(密钥管理服务)托管主密钥,避免本地存储风险。
- 定期渗透测试:
- 结合OWASP ZAP扫描漏洞,遵循PDCA循环优化策略。
- 敏感操作保护:
- 开启控制台二次认证(如MFA),防止误删实例。
- 算法选择:
- 优先选用AEAD_AES_256_CTR_HMAC_SHA256(低膨胀率)或国密算法以满足合规要求。
总结
GaussDB通过 加密(传输/存储/计算) → 脱敏(动态掩码) → 权限(RBAC/RLS) → 审计(操作追踪) 的四层防护体系,结合同城多AZ灾备,为企业提供全栈安全能力。配置时需注意密钥保管、安全组端口范围(如分布式版需开放40000-60480端口),并定期轮转加密密钥以降低风险。
- 点赞
- 收藏
- 关注作者
评论(0)