DB2(三)——权限(authentication)

简介:

  DB2定义了一个权限层次结构,用于将一组预先确定的管理权限授予用户账号组(group)。这些管理权限包括能够对数据库进行备份、更改配置参数、查看表数据等等。权限级别控制执行数据库管理器维护操作和管理数据库对象的能力。
  DB2授权控制数据库安全策略的以下方面:

  • 用户被授予的权限级别
  • 允许用户运行的命令
  • 允许用户读取或修改的数据
  • 允许用户创建、修改和删除的数据库对象
      DB2中共包括两类权限:实例级和数据库级权限。
  • 实例级权限

    • SYSADM 系统管理员
    • SYSCTRL 系统控制
    • SYSMAINT 系统维护
    • SYSMON 系统监视
      这些权限只能分配给组
  • 数据库级权限

    • DBADM
    • SECADM
    • LOAD

用户可以通过以下命令来判断自己拥有哪些权限和数据库级特权

db2 get authorizations     ---9.7

[db2inst1@db22 adm]$  db2 "SELECT substr(AUTHORITY,1,30) as AUTHORITY, D_USER, D_GROUP, D_PUBLIC, ROLE_USER, ROLE_GROUP, ROLE_PUBLIC, D_ROLE  FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('DB2INST1', 'U') ) AS T ORDER BY AUTHORITY"  

结果如图:

AUTHORITY D_USER D_GROUP D_PUBLIC ROLE_USER ROLE_GROUP ROLE_PUBLIC D_ROLE
ACCESSCTRL Y N N N N N *
BINDADD (允许用户在数据库中创建新的包) N N Y N N N *
CONNECT (允许用户连接数据库) N N Y N N N *
CREATETAB (允许创建表) N N Y N N N *
CREATE_EXTERNAL_ROUTINE (允许用户注册外部例程-用C或java写的例程) N N N N N N *
CREATE_NOT_FENCED_ROUTINE N N N N N N *
CREATE_SECURE_OBJECT N N N N N N *
DATAACCESS Y N N N N N *
DBADM Y N N N N N *
EXPLAIN N N N N N N *
IMPLICIT_SCHEMA 允许用户在尙不存在的模式中创建对象(自动创建模式) N N Y N N N *
LOAD N N N N N N *
QUIESCE_CONNECT(允许用户连接处于quiesced状态的数据库) N N N N N N *
SECADM Y N N N N N *
SQLADM N N N N N N *
SYSADM * Y * * * * *
SYSCTRL * N * * * * *
SYSMAINT * N * * * * *
SYSMON * N * * * * *
WLMADM N N N N N N *

可以看到db2inst1用户所在的组是有SYSADM权限的

授予/撤销实例级权限

获得SYSADM权限

  DB2中的SYSADM权限就像是unix上的root权限。SYSADM用户能够对其他用户授予或撤销特权或权限。只允许SYSADM 用户更新DBM CFG文件。SYSADM 权限由DBM CFG中的SYSADM GROUP参数控制。

[db2inst1@db22 ~]$ db2 get dbm cfg | grep -i sysadm
 SYSADM group name                        (SYSADM_GROUP) = DB2IADM1

获取SYSCTRL权限

  SYSCTRL用户可以对实例中的任何数据库执行的命令示例如下所示:

  • db2start/db2stop
  • db2 create/drop databse
  • db2 create/drop tablespace
  • db2 backup/restore/rollforward database
  • db2 runstats (针对任何表)
  • db2 update db cfg for database dbname

  拥有SYSADM权限的用户使用以下命令将SYSCTRL分配给一个组:

db2 update dbm cfg using SYSCTRL_GROUP group_name

授予/撤销数据库级权限

  数据库级权限包括DBADM、CONNECT、CREATETAB 、SECADM和LOAD。

获得dbadm权限

db2 grant dbadm on database to group db2groupq

获得LOAD权限

db2 grant load on database to user xinzhuang
db2 grant insert on table sales to user xinzha
相关文章
|
存储 Java Windows
Java21 JDK下载安装及Windows环境变量配置
JDK是Java的开发工具包,要进行Java学习或开发之前,需先下载安装,下载地址如下:提示:这网址里面有三个扩展名的文件,分别是“.zip”、“.exe”和“.msi”,鄙人选择的是.exe的文件,下方的安装和环境的配置也是安装该文件的安装程序进行的。
2889 2
|
Kubernetes 负载均衡 网络协议
k8s学习-Service(概念、模板、创建、外部代理、删除等)
k8s学习-Service(概念、模板、创建、外部代理、删除等)
698 0
|
Linux
linux grep查看指定内容上下几行
linux系统中,可以利用grep查看指定的内容, 比如:grep “123” test.log //查看test.
5292 0
|
5月前
|
弹性计算 开发框架 Ubuntu
阿里云服务器ECS镜像知识解析:功能特性、场景及上手实操教程参考
对于部分初次选择阿里云服务器的新手用户来说,可能并不是很清楚阿里云服务器镜像是什么?ECS镜像堪称搭建ECS实例的基础模板,其中涵盖了启动及运行实例所必需的操作系统以及预先配置好的数据。本文将围绕阿里云服务器镜像的相关知识展开介绍,助力大家全方位了解并熟练运用这一强大功能。
|
9月前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
1288 91
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在文本生成中的应用
【8月更文挑战第26天】本文将探讨人工智能(AI)在文本生成领域的应用。我们将介绍AI如何通过自然语言处理(NLP)和机器学习(ML)技术,实现自动生成高质量文本内容的能力。文章将详细解释AI文本生成的基本原理,包括预训练模型、神经网络架构以及训练和优化过程。我们还将讨论AI文本生成技术的局限性和未来发展方向,并提供一些实际的应用案例。
|
11月前
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
720 2
|
12月前
|
安全 BI 数据安全/隐私保护
AD域、Windows AD域管理功能大全
Windows AD域管理功能大全,再也不用东拼西凑了!
960 1
|
API Android开发 数据安全/隐私保护
Android经典实战之窗口和WindowManager
本文介绍了Android开发中“窗口”的基本概念及其重要性。窗口是承载用户界面的基础单位,而`WindowManager`系统服务则负责窗口的创建、更新和移除等操作。了解这些概念有助于开发复杂且用户体验良好的应用。
326 2
|
机器学习/深度学习 监控 安全