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的文件,下方的安装和环境的配置也是安装该文件的安装程序进行的。
3458 2
|
Linux
linux grep查看指定内容上下几行
linux系统中,可以利用grep查看指定的内容, 比如:grep “123” test.log //查看test.
6160 0
|
Kubernetes 负载均衡 网络协议
k8s学习-Service(概念、模板、创建、外部代理、删除等)
k8s学习-Service(概念、模板、创建、外部代理、删除等)
897 0
|
12月前
|
Kubernetes 应用服务中间件 nginx
鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
Rainbond V6 国产化部署教程,针对鲲鹏 CPU + 麒麟 V10 的离线环境,手把手教你从环境准备到应用上线,所有依赖包提前打包好,步骤写成**傻瓜式**操作指南。别说技术团队了,照着文档一步步来,让你领导来都能独立完成部署。
鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
|
11月前
|
弹性计算 开发框架 Ubuntu
阿里云服务器ECS镜像知识解析:功能特性、场景及上手实操教程参考
对于部分初次选择阿里云服务器的新手用户来说,可能并不是很清楚阿里云服务器镜像是什么?ECS镜像堪称搭建ECS实例的基础模板,其中涵盖了启动及运行实例所必需的操作系统以及预先配置好的数据。本文将围绕阿里云服务器镜像的相关知识展开介绍,助力大家全方位了解并熟练运用这一强大功能。
|
JavaScript 定位技术
echarts地图数据信息流向图效果
本文介绍了如何使用 ECharts 创建一个地图数据信息流向图效果,包括设置地理坐标、线条动画和流向图的实现方法,并通过 Vue.js 封装了一个可重用的 ECharts 地图组件。
1089 24
echarts地图数据信息流向图效果
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在文本生成中的应用
【8月更文挑战第26天】本文将探讨人工智能(AI)在文本生成领域的应用。我们将介绍AI如何通过自然语言处理(NLP)和机器学习(ML)技术,实现自动生成高质量文本内容的能力。文章将详细解释AI文本生成的基本原理,包括预训练模型、神经网络架构以及训练和优化过程。我们还将讨论AI文本生成技术的局限性和未来发展方向,并提供一些实际的应用案例。
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
1947 91
|
安全 BI 数据安全/隐私保护
AD域、Windows AD域管理功能大全
Windows AD域管理功能大全,再也不用东拼西凑了!
1246 1