Greeplum 系列(七) 权限管理

一、角色管理

Role 分为用户(User)和组(Group),用户有 login 权限,组用来管理用户,一般不会有 login 权限。初始化 gp 时创建了一个 SUPERUSER ROLE:gpadmin。

表 1 :ALTER ROLE 属性

属性 说明
SUPERUSER/NOSUPERUSER 超级管理员,默认 NOSUPERUSER
CREATEDB/OCREATEDB 创建数据库的权限
CREATEROLE/NOCREATEROLE 创建角色的权限
INHERIT/NOINHERIT 继承组或父用户的权限
LOGIN/NOLOGIN 登陆
CONNECTION LIMIT connlimit 限制连接数
PASSWORD 'password' 密码
ENCRYPTED/UNENCRYPTED 是否加密
VALID UNTIL 'timestamp' 帐户有效期
RESOURCE QUEUE queue_name 资源队列
DENY {deny_interval/deny_point} 拒绝某些连接

(1) 创建用户

create role lei with login;             # 创建用户
drop owned by lei; # 删除用户
reassign owned by oldUser to newUser; # 将 oldUser 的权限赋予 newUser
alter role lei password '123456'; # 修改密码
alter role lei valid until 'infinity'; # 永不失效
alter role lei deny day 'Sunday';
alter role lei resource queue queue1;
alter role lei set search_path to sc01,public;

(2) 创建组

# 创建组
create role admin createrole createdb;
# 添加或删除组成员
grant admin to lei;
revoke admin from lei;
# 赋予合适的权限给组 admin
grant all on table mytable to admin;
grant all on schema myschema to admin;
grant all on database mydb to admin;
# 获取管理属性
set role admin;

(3) 对象权限管理

表 2 :对象权限

属性 说明
Tables、Views、Sequences SELECT、INSERT、UPDATE、DELETE、RULE、ALL
External Tables SELECT、RULE、ALL
Databases CONNECT、CREATE
TEMPORARY、TEMP ALL
Functions EXECUTE
Procedural Languages USAGE
Schemas CREATE、USAGE

(4) 基于时间的登录认证

通过 BETWEEN 和 AND 关键字连接两个日期/时间。

BETWEEN DAY 'Monday' AND DAY 'Tuesday'
BETWEEN DAY 'Monday' TIME '00:00' AND DAY 'Monday' TIME '01:00'
BETWEEN DAY 'Monday' TIME '12:00 AM' AND DAY 'Tuesday' TIME '02:00 AM'
BETWEEN DAY 'Monday' TIME '00:00' AND DAY 'Tuesday' TIME '02:00'
BETWEEN DAY 1 TIME '00:00' AND DAY 2 TIME '02:00'

注意:日期间隔不能跨 Saturday(周六)

Incorrect: DENY BETWEEN DAY 'Saturday' AND DAY 'Sunday'

删除时间约束,原则:有交集即移出

ALTER ROLE dylan DROP DENY FOR DAY ‘Monday’;

(5) 配置客户端认证

修改 $MASTER_DATA_DIRECTORY/pg_hba.conf

# local(本地)/host(远程) dbname role authmethod
local all gpadmin ident
host all gpadmin 127.0.0.1/28 trust
host all gpadmin 192.168.2.110/32 trust
host all gpadmin ::1/128 trust
host all gpadmin fe80::250:56ff:fe2a:552a/128 trust
local replication gpadmin ident
host replication gpadmin samenet trust
host all gpadmin 0.0.0.0/0 md5
host all lei 0.0.0.0/0 md5
local all lei trust

重新加载 pg_hba.conf 使修改生效

gpstop –u

二、配置客户端($MASTER_DATA_DIRECTORY/postgresql.conf)

postgresql.conf 是 Greenplum 中一个重要的配制文件,下面介绍几个重要的配制项。

# 限制并发操作的连接的两个配制
max_connections = 250 # 最大连接数,Segment 最少是 Master 的 3 倍
max_prepared_transactions = 250 # 最大事务

每天用心记录一点点。内容也许不重要,但习惯很重要!

Greeplum 系列(七) 权限管理的更多相关文章

  1. [Django]用户权限学习系列之权限管理界面实现

    本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...

  2. 一步一步Asp.Net MVC系列_权限管理总结(附MVC权限管理系统源码)

    在上一节中我们总结了关于权限控制的方式,我们这一节讲解关于权限控制中角色权限的授予处理等等并做本系列的总结. 首先,我们来谈谈权限控制中角色权限的控制,上一节只是针对权限拦截中比较粗的控制,如果我们需 ...

  3. Shiro系列(1) - 权限管理的介绍与原理

    1. 什么是权限管理 一般来说,只要有用户参与,那么该系统都会需要权限管理,权限管理实现了对用户访问系统  指定功能的限制,按照管理员定义的安全规则或权限策略,限制用户只能访问自己被授权的那些资源路径 ...

  4. Shiro系列(0) - 权限管理在J2EE企业级开发中的应用与实战

    其实也是应大家要求,讲一下权限管理,之前有讲过,但是没有拿出来细讲,这次索性录了视频从头到尾把shiro讲一遍.后续spring security会另外找个时间也讲一下. 主要内容会包括以下 1.了解 ...

  5. 一步一步Asp.Net MVC系列_权限管理设计

    http://www.cnblogs.com/mysweet/archive/2012/07/26/2610793.html

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2): ...

  7. [Django]用户权限学习系列之设计自有权限管理系统设计思路

    若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...

  8. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列

    http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开 ...

随机推荐

  1. 重新学习Spring之核心IOC容器的底层原理

    一:IOC容器的定义 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般 ...

  2. gqlgen golang graphql server 基本试用

    gqlgen golang 的graphql server 具体代码参考https://github.com/rongfengliang/gqlgen-demo 特点 模型优先 类型安全 代码生成 安 ...

  3. Tomcat 7 可以修改 Session 默认的 Cookie 名 JSESSIONID 了

    Tomcat 7 可以修改 Session 默认的 Cookie 名 JSESSIONID 了       程序员必上的开发者服务平台 —— DevStore 看看下面这个配置: <Contex ...

  4. TextRank in Python

    运用到nltk,sklearn,networkx等很多好用的库,值得参考 https://joshbohde.com/blog/document-summarization

  5. SQL中減少日志文件大小

    SQL中減少日志文件大小   编写人:CC阿爸 2014-6-14 在日常SQL数据库的操作中,常常会出现SQL日志文件超大,大小都超过正常MDF数据库文件,作为一般用户来讲,LDF太大,只会影响服务 ...

  6. 写给C#程序员的javascript说明: 各类型变量和prototype

    在javascript中存在类似的私有变量 公有变量和静态变量 私有: var AA=function(){ var aa="im private"; }; 私有变量通过闭包访问. ...

  7. 02 - Unit03:注册功能实现

    注册功能实现 发送Ajax请求 服务器处理 Ajax回调处理 发送Ajax请求 绑定事件: "注册"按钮的单击事件 获取参数: 用户名/密码/昵称 请求地址: /user/regi ...

  8. java中的变量和常量

    也可以先声明后赋值  自动类型转换 1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型 2.  目标类型大于源类型,如 double 类型长度 ...

  9. 黄聪:C#程序中判断是否处在DEBUG调试状态或者RELEASE发布状态

    习惯了用老方式(注释的方式)来对程序进行调试,不过昨天才发现这样调试存在很大的隐患:在工程发布的时候如果忘记把该注释的代码注释掉,而让这些调试信息随工程一起发布,如果是可见的调试信息倒好发现,如果不是 ...

  10. servlet中获取配置文件中的参数.

    web.xml (添加init-param) <?xml version="1.0" encoding="UTF-8"?> <web-app ...