postgresql中用户安全配置的示例分析
小编给大家分享一下postgresql中用户安全配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一、配置说明:
角色名称:user01
1.user01权限说明:
连接test数据库,未授权时无法连接其它数据库;
在指定schema,建立\查看\删除表,查看schema中对象;
2.其它普通用户:
无法连接test数据库及schema(sales)中对象,需要授权;
二、操作步骤:
instance(实例级): role(角色)
$ psql postgres
postgres=# CREATE ROLE user01 LOGIN NOSUPERUSER NOCREATEDB;
2.database(数据库级): CREATE(schemas) and CONNECT(database)
$ psql postgres
postgres=# CREATE DATABASE test;
postgres=# REVOKE ALL ON DATABASE test FROM public; -- 禁止其它普通role连接test
postgres=# GRANT CONNECT ON DATABASE test TO user01;
3.schema(架构级):
CREATE(put object into schema)
USAGE (allow us to actually look into a schema and see which objects are present).
$psql test
test=# REVOKE ALL ON SCHEMA public FROM public;-- 其它普通role无法连接test
test=# CREATE SCHEMA sales;
CREATE SCHEMA
test=# GRANT CREATE,USAGE ON SCHEMA sales TO user01; -- user01 可以在sales中建立、查看对象
GRANT
test=# \q
$ psql test -U user01
test=> CREATE TABLE sales.t_sales (id int4);
CREATE TABLE
4.table(表级): grant
默认user01创建、drop表和DML表内容
5.column(列级):grant
默认user01创建、drop表和DML列内容
以上是“postgresql中用户安全配置的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341