GreenPlum教程FG023-GreenPlum权限安全与访问控制实战
本文档风哥主要介绍GreenPlum权限安全与访问控制,包括权限安全概念、访问控制机制、安全最佳实践、用户管理、权限管理、安全配置案例等内容,风哥教程参考GreenPlum官方文档Administrator Guide、Managing Roles and Privileges等内容编写,适合DBA人员在学习和测试中使用。
Part01-基础概念与理论知识
1.1 GreenPlum权限安全概念
权限安全是数据库管理的重要组成部分,合理的权限管理可以保护数据安全。更多视频教程www.fgedu.net.cn
1.1.1 权限类型
1. 数据库权限
– CONNECT:连接数据库
– CREATE:创建Schema
– TEMPORARY:创建临时表
– ALL:所有权限
2. Schema权限
– CREATE:创建对象
– USAGE:使用Schema
– ALL:所有权限
3. 表权限
– SELECT:查询数据
– INSERT:插入数据
– UPDATE:更新数据
– DELETE:删除数据
– TRUNCATE:清空表
– REFERENCES:引用外键
– TRIGGER:创建触发器
– ALL:所有权限
4. 列权限
– SELECT:查询列
– INSERT:插入列
– UPDATE:更新列
– REFERENCES:引用列
1.2 GreenPlum访问控制机制
GreenPlum提供了多层访问控制机制,保护数据库安全。学习交流加群风哥微信: itpux-com
1.2.1 访问控制层级
1. 网络层
– pg_hba.conf配置
– IP地址限制
– 连接方式控制
– 加密传输
2. 数据库层
– 数据库权限
– 连接数限制
– 超级用户控制
– 数据库隔离
3. Schema层
– Schema权限
– 对象命名空间
– 访问路径控制
– Schema隔离
4. 对象层
– 表权限
– 视图权限
– 函数权限
– 序列权限
5. 数据层
– 行级安全
– 列级权限
– 数据脱敏
– 审计日志
Part02-生产环境规划与建议
2.1 GreenPlum安全最佳实践
- 遵循最小权限原则
- 定期审计用户权限
- 使用角色管理权限
- 启用SSL加密连接
- 定期更新密码
Part03-生产环境项目实施方案
3.1 GreenPlum用户管理实战
3.1.1 创建用户和角色
$ psql -d fgedudb -U fgedu
psql (9.4.26)
Type “help” for help.
fgedudb=>
# 创建角色
fgedudb=> CREATE ROLE fgedu_readonly;
CREATE ROLE
fgedudb=> CREATE ROLE fgedu_readwrite;
CREATE ROLE
fgedudb=> CREATE ROLE fgedu_admin;
CREATE ROLE
# 创建用户
fgedudb=> CREATE USER fgedu01 WITH PASSWORD ‘Fgedu@123’ IN ROLE fgedu_readonly;
CREATE ROLE
fgedudb=> CREATE USER fgedu02 WITH PASSWORD ‘Fgedu@123’ IN ROLE fgedu_readwrite;
CREATE ROLE
fgedudb=> CREATE USER fgedu03 WITH PASSWORD ‘Fgedu@123’ IN ROLE fgedu_admin;
CREATE ROLE
# 查看用户
fgedudb=> SELECT usename, valuntil FROM pg_user WHERE usename LIKE ‘fgedu%’;
usename | valuntil
———+————————-
fgedu01 |
fgedu02 |
fgedu03 |
(3 rows)
学习交流加群风哥QQ113257174
3.2 GreenPlum权限管理实战
3.2.1 授予权限
fgedudb=> GRANT USAGE ON SCHEMA fgedu TO fgedu_readonly;
GRANT
fgedudb=> GRANT USAGE ON SCHEMA fgedu TO fgedu_readwrite;
GRANT
# 授予表权限
fgedudb=> GRANT SELECT ON ALL TABLES IN SCHEMA fgedu TO fgedu_readonly;
GRANT
fgedudb=> GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA fgedu TO fgedu_readwrite;
GRANT
# 授予序列权限
fgedudb=> GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA fgedu TO fgedu_readwrite;
GRANT
# 设置默认权限
fgedudb=> ALTER DEFAULT PRIVILEGES IN SCHEMA fgedu
fgedudb-> GRANT SELECT ON TABLES TO fgedu_readonly;
ALTER DEFAULT PRIVILEGES
更多学习教程公众号风哥教程itpux_com
3.2.2 撤销权限
fgedudb=> REVOKE DELETE ON ALL TABLES IN SCHEMA fgedu FROM fgedu_readwrite;
REVOKE
# 撤销用户权限
fgedudb=> REVOKE fgedu_readwrite FROM fgedu02;
REVOKE
# 查看权限
fgedudb=> SELECT
fgedudb-> grantee,
fgedudb-> table_schema,
fgedudb-> table_name,
fgedudb-> privilege_type
fgedudb-> FROM information_schema.table_privileges
fgedudb-> WHERE grantee LIKE ‘fgedu%’
fgedudb-> LIMIT 10;
grantee | table_schema | table_name | privilege_type
———+————–+—————+—————-
fgedu01 | fgedu | fgedu_product | SELECT
fgedu02 | fgedu | fgedu_product | SELECT
fgedu02 | fgedu | fgedu_product | INSERT
(3 rows)
from GreenPlum视频:www.itpux.com
Part04-生产案例与实战讲解
4.1 GreenPlum安全配置案例
4.1.1 配置pg_hba.conf
$ vi /GreenPlum/fgdata/pg_hba.conf
# 添加以下配置
# TYPE DATABASE USER ADDRESS METHOD
# 本地连接
local all all trust
# IPv4本地连接
host all all 127.0.0.1/32 trust
# IPv4远程连接(密码认证)
host all all 192.168.1.0/24 md5
# IPv4远程连接(SSL加密)
hostssl all all 192.168.2.0/24 md5
# 拒绝其他连接
host all all 0.0.0.0/0 reject
# 重载配置
$ gpstop -u
20260408:10:00:15:012345 gpstop:mdw:gpadmin-[INFO]:-Reloading pg_hba.conf
20260408:10:00:15:012345 gpstop:mdw:gpadmin-[INFO]:-pg_hba.conf reloaded successfully
Part05-风哥经验总结与分享
5.1 GreenPlum安全管理技巧
1. 用户管理
– 遵循最小权限原则
– 使用角色管理权限
– 定期审计用户
– 及时清理无用用户
2. 权限管理
– 合理分配权限
– 使用默认权限
– 定期审查权限
– 记录权限变更
3. 访问控制
– 配置pg_hba.conf
– 启用SSL加密
– 限制连接来源
– 监控异常访问
4. 审计与监控
– 启用审计日志
– 监控用户活动
– 分析异常行为
– 定期安全审计
本文档介绍了GreenPlum权限安全与访问控制的核心内容,包括用户管理、权限管理、安全配置等,希望对大家有所帮助。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
