设置配备铺排僻静性
基于标签的访问节制(Label-based acess control,LBAC)僻静特性
LBAC 议决为表对象附加僻静标签完成了对表对象的访问节制。试图访问对象的用户必需具有授权给本人的僻静标签。倘若标签婚配的话,则承诺访问;否则拒绝访问。
有三种范例范例的僻静标签:
- 行僻静标签:该僻静标签和数据库表中的数据行或记载相干联
- 列僻静标签:该僻静标签与数据库表中的列相干联
- 用户僻静标签:该僻静标签被授权给数据库用户
僻静标签是由一个或多个僻静标签组件构成。您可以运用三种僻静标签组件构建本人的僻静标签:
- 集合(Set):集合是一些元素的组合,该组合中元素的出现递次并不首要。统统元素之间的关系是齐截的。
- 数组(Array):数组是一个经由排序的集合,可用来暗示一个复杂的条理构造。在数组中,元素出现的递次很是首要。比方,第一个元素的级别要比第二个高,而第二个元素的级别比第三个高。
- 树(Tree):树暗示一种愈加重年夜的条理构造,它可以具有多个节点和分支。比方,可以运用树暗示构造图。
可以运用僻静计策定义僻静标签组件,由这些僻静标签组件构成详细的僻静标签。必要运用 DBSECADM 处理 LBAC 对象。
对运转在 UNIX 或 Linux 上的系统运用可拔出的身份验证模块
可拔出的身份验证模块(Pluggable Authentication Module,PAM)是一个经由精良定义的框架,可以支撑最初由 Sun Microsystems 开发的各类身份验证模块。
PAM 使系统处理员可以针对差其余运用次序完成差其余身份验证机制。比方,诸如 UNIX 登录次序之类的系统与访问数据库敏感信息的运用次序比拟,其需求不尽相反。PAM 可以在一个机器中完成许多种这类场景,这是由于身份验证就事是在运用次序级别上完成的。
除了可以使运用次序选择所需的身份验证机制,PAM 还可以完成模块堆栈。模块被逐个堆起来,是以使运用次序在授权访问之前可以运用多种要领进行身份验证。PAM 供应了一组 API 来支撑身份验证、账户处理、会话处理和暗码处理。
系统处理员可以启用或禁用 PAM 功用。默许情况下,数据库就事器运用传统 Informix 身份验证机制(该机制基于 BSD rhosts 机制),从而中止对用户强加较年夜变换。
要连系运用 PAM 和 Dynamic Server:
- Informix 数据库就事器必需运用支撑 PAM 的应用系统平台
- 客户机运用次序必需运用最新版本的客户机 SDK 编写
- 必需在应用系统上设置配备铺排准确的 PAM 就事
- 必需晓得 PAM 就事可否承当卖力给定的暗码或许它可否运用挑衅——相应(challenge-response)要领的和谈(比方,RADIUS 身份验证就事器)
- 倘若 PAM 就事运用挑衅——相应要领的和谈,则必需点窜运用次序以处理挑衅和相应。运用次序必需求观念到 PAM 模块会天生多个挑衅这一实情。
- 必需确保 PAM 身份验证不会影响企业复制(Enterprise Replication)和高可用性数据复制(High-Availability Data Replication)。
- 必需同时为客户机运用次序和数据库就事器点窜 sqlhosts 文件中的就事器条款(倘若客户机运用次序和数据库就事器位于差别职位或位于统一机器上差别职位)
可拔出的身份验证形式(PAM)在 Solaris、Linux、HP-UX 和 AIX® 上的 32 位和 64 位形式都受支撑。
Windows 中的 LDAP 身份验证支撑
Windows 中的 LDAP 身份验证的树立和设置配备铺排与 UNIX 和 Linux 运用的可拔出的身份验证模块(PAM)相似。倘若盼望运用 LDAP 就事器对您的系统用户进行身份验证,可以运用 LDAP 身份验证支撑模块。该模块包孕源代码,您可以对其进行点窜来完成特定的 LDAP 身份验证支撑模块。
身份验证模块是一个 DLL,平日位于 %INFORMIXDIR%\dbssodir\lib\security 目录。%INFORMIXDIR%\dbssodir\pam.conf 文件列出了该模块的参数。功用残破的 LDAP 身份验证模块的源代码和所需的设置配备铺排文件示例包孕在 %INFORMIXDIR%\demo\authentication 目录中。
LDAP 身份验证模块供应了单模块(single-module)身份验证。该模块并不支撑诸如模块堆栈等特性。系统处理员可以启用或禁用身份验证。
设置配备铺排会话属性
您可以在衔接或访问时变换数据库就事器会话的属性,而不用要变换会话运转的运用次序。这种特性在某些情况下很是无效,比方倘若您无法点窜运用次序的源代码来设置环境选项或环境变量,或许包孕会话相干的 SQL 语句(比方由于 SQL 语句包孕供应商获得的代码)。
要变换会话的属性,必要为差别数据库操持自定义的 sysdbopen( )
和 sysdbclose( )
次序,以支撑特定用户或 PUBLIC 组的运用次序。sysdbopen( )
和 sysdbclose( )
运用次序可以包孕一些 SET
、SET ENVIRONMENT
、SQL
或 SPL
语句,当数据库掀开或封闭时,数据库就事器将为用户或 PUBLIC 组施行这些语句。
比方,您可以为 user1 定义包孕 SET PDQPRIORITY
、SET ISOLATION LEVEL
、SET LOCK MODE
、SET ROLE
或 SET EXPLAIN ON
语句的次序,当 user1 运用 DATABASE
或 CONNECT TO
语句掀开数据库时,将施行上述语句。
会话环境变量 PDQPRIORITY
和 OPTCOMPIND
的任何设置是由 sysdbopen( )
次序内的 SET ENVIRONMENT
语句指定,该次序将在会话时代一向对峙运转状况。SET PDQPRIORITY
和 SET ENVIRONMENT OPTCOMPIND
语句并不长期存留在通例次序中,当包孕在 sysdbopen( )
次序中时会一向糊口生涯在该次序中。
倘若用户断开次序与数据库的衔接(或许当 PUBLIC.sysdbclose( )
运转时,存在 sysdbclose( )
并且不属于当前用户),将运转 user.sysdbclose( )
次序。
版权声明:
原创作品,承诺转载,转载时请务必以超链接要领标明文章 原始来由 、作者信息和本声明。否则将清查法律责任。