广告
返回顶部
首页 > 资讯 > 数据库 >PostgreSQL数据库角色(五)
  • 474
分享到

PostgreSQL数据库角色(五)

2024-04-02 19:04:59 474人浏览 八月长安
摘要

        使用角色的概念管理数据库访问权限。     角色可以是数据库用户和一组数据库用户

   
    使用角色的概念管理数据库访问权限。
    角色可以是数据库用户和一组数据库用户,可拥有数据库对象。

- 1.数据库角色
    独立于操作系统用户。
    创建角色: create role name;
    删除角色: drop role name;
    确定现有角色: select * from pg_roles;  或者\du 列出现有角色。

    新安装的数据库默认有一个预定义角色:postgres.
    给定客户端连接可以连接的数据库角色集,由客户端身份验证设置决定.

- 2. 角色属性
    这些属性定义其权限并与客户端身份验证系统交互。

    登录权限(login privilege): 
        具有login属性的角色才能用作数据库连接的初始角色名称。create role name  login;

    超级用户状态(superuser status):
        数据库超级用户绕过所有权限检查,但登录权限除外.  create role name superuser;

    database creation
        授予角色创建数据库的权限: create role name createdb;

    role creation
        授予角色创建更多角色的权限: create role name createrole;

    initiating replication
        授予角色启动流复制的权限: create role name REPLICATION LOGIN;

    passWord
        数据库密码与操作系统密码分开 使用时创建角色时指定密码。CREATE ROLE name PASSWORD 'string';

    优秀做法:
        创建具有CREATEDB和CREATEROLE权限但不是超级用户的角色,然后将此角色用于数据库和角色的所有日常管理.

- 3 角色成员:
    可以将权限授予整个组或从组中撤销。
    先创建角色: create role name;
    组角色存在后,可使用grant和revoke命令添加和删除成员。
    grant grouprole  to role1...;
    revoke grouprole from role1...;

    数据库不允许您设置循环成员资格循环。此外,不允许授予角色成员资格 PUBLIC。

    例如:
        CREATE ROLE joe LOGIN INHERIT;
        CREATE ROLE admin NOINHERIT;
        CREATE ROLE wheel NOINHERIT;
        GRANT admin TO joe;
        GRANT wheel TO admin;

    组角色的成员可以通过两种方式使用角色的权限. 
    设置临时组角色: set role name;
    重置角色: reset role;
    删除组角色: drop role name;
    数据库会话可以访问组角色的权限,创建的任何数据库对象都被组角色拥有。
    成员角色会继承组角色的权限。

    用户在角色执行时不会自动继承权限。postgresql默认为所有角色提供 INHERIT属性.


- 4 删除角色:
    角色可以拥有数据库对象并且可以拥有访问其他对象的权限。
    删除角色前,先删除该角色拥有的任何对象或将其重新分配给其他所有者; 并且必须撤消授予该角色的任何权限。
    ALTER TABLE bobs_table OWNER TO alice;

    或者:
        REASSIGN OWNED命令可用于将要删除的角色所拥有的所有对象的所有权重新分配给单个其他角色.必须在包含该角色所拥有的对象的每个数据库中运行它.
        DROP OWNED不会删除整个数据库或表空间.

    删除已用于拥有对象的角色的最常用方法是:
        REASSIGN OWNED BY doomed_role TO successor_role;
        DROP OWNED BY doomed_role;
        -- 在集群
        DROP ROLE doomed_role;         

- 5. 默认角色:
    可访问常用的功能和信息。
角色	                    允许访问
pg_read_all_settings	读取所有配置变量,仅对超级用户可见的变量。
pg_read_all_stats	    阅读所有pg_stat_ *视图并使用各种与统计相关的扩展,仅对超级用户可见的扩展。
pg_stat_scan_tables	    执行可能ACCESS SHARE会对表进行定的监视函数。
pg_signal_backend	    将信号发送到其他后端(例如:取消查询,终止)。
pg_monitor	            读取/执行各种监视视图和功能。这个角色的成员pg_read_all_settings,pg_read_all_stats和pg_stat_scan_tables。

管理员监控数据库服务器的目的配置:
    pg_monitor,pg_read_all_settings,pg_read_all_stats和pg_stat_scan_tables角色,它们授予一组公共权限,允许角色读取通常仅限于超级用户的各种有用的配置设置,统计信息和其他系统信息。

管理员可以使用GRANT命令向用户授予对这些角色的访问权限:
    GRANT pg_signal_backend TO admin_user;



您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL数据库角色(五)

本文链接: https://www.lsjlt.com/news/41254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PostgreSQL数据库角色(五)
            使用角色的概念管理数据库访问权限。     角色可以是数据库用户和一组数据库用户...
    99+
    2022-10-18
  • Postgresql数据库角色创建登录详解
    目录角色创建可登录角色创建组角色角色 PG中使用角色(role)机制来解决用户身份认证。拥有登陆数据库权限的角色称之为可登录角色(login role)。一个角色可以继承其他角色的...
    99+
    2023-02-21
    Postgresql角色创建登录 Postgresql数据库
  • Postgresql数据库角色创建登录的方法是什么
    本篇内容主要讲解“Postgresql数据库角色创建登录的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Postgresql数据库角色创建登录的方法是什么”吧!角色PG中使用角色(ro...
    99+
    2023-07-05
  • mysql数据库角色如何创建
    今天小编给大家分享一下mysql数据库角色如何创建的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2022-10-19
  • MongoDB数据库角色的示例分析
    这篇文章给大家分享的是有关MongoDB数据库角色的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Database User Roles ...
    99+
    2022-10-19
  • PostgreSQL(五)常用数据类型
    目录 1.字符串类型:char(n),varchar(n),text2.数值类型:smallint,int,bigint,decimal,numeric,real,doub...
    99+
    2023-09-26
    postgresql 数据库 java
  • 如何管理数据库权限与角色
    下面一起来了解下如何管理数据库权限与角色,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何管理数据库权限与角色这篇短内容是你想要的。          ...
    99+
    2022-10-18
  • SQL固定数据库角色是什么意思
    本篇内容介绍了“SQL固定数据库角色是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  数据库角色...
    99+
    2022-10-18
  • 怎么在SQL Server中处理数据库角色权限
    这期内容当中小编将会给大家带来有关怎么在SQL Server中处理数据库角色权限,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。    1:遍...
    99+
    2022-10-18
  • Java41: 数据库五(Oracle)
    数据库设计:    三范式(OLD)        列的值唯一,不能有重复的列值&nb...
    99+
    2022-10-18
  • Sqlserver用户、组或角色在当前数据库中已存在
    今天在给数据库账号分配数据库权限的时候,直接抛出抛出错误,错误的详细信息如下:用户、组或角色 '' 在当前数据库中已存在。 (Microsoft SQL Server,错误: 15023)。查阅相关文档后发...
    99+
    2022-10-18
  • 浅谈PostgreSQL数据库
    近期工作重点一直放在数据库设计方面,借助这次机会抽时间整理了一些我对PostgreSQL数据库的理解,同时也是对近段时间学习的一个总结。对于很多人而言或许没有听说过这个数据库,通常我们耳边伴随的都是Orac...
    99+
    2022-10-18
  • postgresql数据库基础
    创建只读账号1.1以初始化账号登入[root@localhost ~]# psql -U postgres1.2创建用户postgres=# create role develop with login p...
    99+
    2022-10-18
  • Postgresql数据库有哪些数据
    这篇文章主要讲解了“Postgresql数据库有哪些数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Postgresql数据库有哪些数据”吧!目录用途ba...
    99+
    2022-10-18
  • PostgreSQL 数据库操作函数
    查看当前数据库的连接状态 SELECT * FROM pg_stat_activity WHERE datname ="mydb";...
    99+
    2017-12-24
    PostgreSQL 数据库操作函数
  • Python操作PostgreSQL数据库
    个人简介:一个从会计转行数据分析师的三旬老汉 擅长领域:数据分析、数据仓库、大数据 博客内容:平时会将自己工作中遇到的问题进行归纳总结,分享给各位小伙伴,意在帮助大家少加班、不掉发,让我们相互学习...
    99+
    2023-10-27
    数据库 postgresql python
  • pmm监控postgresql数据库
    pmm监控postgresql数据库详细信息请参考:Configuring PostgreSQL for Monitoring:https://www.percona.com/doc/percona-mon...
    99+
    2022-10-18
  • PostgreSQL数据库使用 (三)
     系统: Ubuntu 16.04.4 LTS  PostgreSQL数据库: PostgreSQL 10.5 varchar(80)...
    99+
    2022-10-18
  • PostgreSQL数据库管理(六)
    数据库是模式的集合,模式包含表,函数等。 层次结构: 服务器,数据库,模式,表(或某些其他类型的对象,例如函数). 列出现有的数据库: SELECT datname...
    99+
    2022-10-18
  • python连接postgresql数据库
    python连接postgresql数据库 postgresql是常用的关系型数据库,并且postgresql目前还保持着全部开源的状态,所以我们今天就一起来学习一下,如何用python连接postg...
    99+
    2023-09-04
    数据库 postgresql python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作