DB2入门(4)——DB2的账户设置
来源:互联网 发布:苹果电脑炒股软件 编辑:程序博客网 时间:2024/06/06 18:07
概述
- DB2的身份认证(authentication)
就目前接触过的数据库来说,大多是在数据库中添加用户,比方Oracle的tiger账户,MySQL的user表,SQL Server我记得也是数据库添加账户的,那Postgresql是在pg_hba.conf中设置访问权限,在数据库中Create user的,但是DB2有很大的不同哦。
然后就是哪个用户可以访问哪些表,grant这些操作在DB2中又是如何定义的呢?
身份认证是用户在尝试访问DB2实例或数据库时遇到的第一道安全闸门。身份认证就是使用安全机制验证所提供用户ID和口令的过程。用户和密码身份认证由DB2外部的设施管理,比如操作系统、域控制器或者Kerberos安全系统。这和其他数据库管理系统是不同的,如Oracle、Infomix、Sybase和SQL Server,后者既可以在数据库本身定义和验证用户账户,也可以在操作系统中完成(安装podtgresql是创建的postgres用户既是操作系统账户也是数据库账户)。外部安全性服务对希望访问DB2服务器的用户进行身份认证,DB2外部的安全性软件负责处理身份认证。当成功校验了用户ID和口令后,内部DB2进程将接管控制,并确保用户有权执行所请求的操作。
DB2是没有用户的,所有的用户都是操作系统用户,这是由于历史原因造成的。
一旦用户ID和口令作为实例附件或数据库 连接请求的一部分明确的提供给DB2,DB2就会尝试使用该外部安全设施验证用户ID和口令。
实际的认证位置由DB2实例参数AUTHENTICATION的值决定。有不同的身份认证方案:
权限(authorization)
权限涉及将DB2角色赋予用户和/或组。每一种角色具有一定级别的权限,对特定数据库和和/或其中的对象执行某些命令。DB2中包括以下7种不同角色或权限:- SYSADM
- SYSCTRL
- SYSMAINT
- SYSMON
- DBADM
- SECADM
- LOAD
特权(privilege)
就是我们之前的grant这些了,select、update、execute的权限相关了。
对象特权
认证(Authentication)
什么时候进行身份认证
DB2身份认证 控制数据库安全性策略的以下方面:
- 谁有权访问实例或数据库
- 在哪里以及如何校验用户的 密码
DB2身份认证类型
- 客户机、服务器
- 身份认证类型
DB2能够根据用户是视图连接数据库、还是执行实例连接和实例级操作,指定不同的身份认证机制。在默认情况下,实例对于所有实例级和连接级请求使用一种身份认证类型,这由数据库管理配置参数AUTHENTICATION来指定。DB2 V9.1中引入了数据库管理程序配置参数SRVCON_AUTH。这个参数专门处理对数据库的连接。例如,如果在DBM CFG中进行以下设置:
DB2 GET DBM CFG
Server Connection Authencation (SRVCON_AUTH) = KERBEROS
Database manager authentication (AUTHENTICATION) = SERVER_ENCRYPT
那么在连接实例时会使用SERVER_ENCRYPT。但是在连接数据库时会使用KERBEROS身份认证。如果服务器是没有正确的初始化KERBEROS,但是提供了有效的用户ID/口令,那么运行这个用户连接实例,但是不允许他连接数据库。
身份认证是在服务器和客户机处同时设置的。
权限(Authorization)
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"
结果如图:
可以看到db2inst1用户所在的组是有SYSADM权限的
特权(privilege)
- DB2入门(4)——DB2的账户设置
- DB2快速入门—DB2 11的安装与使用
- DB2入门(5)——DB2配置文件
- DB2学习文档10——设置DB2环境
- DB2学习总结(1)——DB2数据库基础入门
- DB2入门(2)——数据库、实例、存储模型
- DB2入门(3)——表空间概念理解
- DB2入门
- DB2入门
- DB2 账户及用户标识
- db2
- DB2
- DB2
- db2
- DB2
- DB2
- db2
- DB2
- 使用ToolRunner运行Hadoop程序基本原理分析
- 执行所读取的sql文件中的sql语句报语法错误之文件编码问题
- 关于CCS的coff和elf
- js实现帧动画
- 数组的各种遍历方法和jQuery中的each方法
- DB2入门(4)——DB2的账户设置
- 基于 Eclipse 的 MapReduce 开发环境搭建
- ROC,AUC,Precision,Recall,F1的介绍与计算
- runtime交换方法的正确姿势
- java环境变量的最简配置方法
- runtime交换方法的正确姿势
- 什么是Java异常?
- windows下C++的中文块注释问题
- PHP 腾讯云 配置 Apache + PHP