Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性_第1页
Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性_第2页
Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性_第3页
Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性_第4页
Informix Dynamic Server 11.50 基础考试 555 认证准备,第 2 部分 安全性_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

cert5552 index html Informix Dynamic Server 11 50 基础考试基础考试 555 认证准备 认证准备 第第 2 部分部分 安全性安全性 开始之前 关于本系列 您正在考虑参加 Informix Dynamic Server IDS 基础认证考试 555 吗 如 果是的话 那么请阅读本文 这个免费的共包含 9 篇教程的 教程系列 讨论了 IDS 认证准备的所有基础方面 在参加认证考试之前 您必须理解这些主 题 即使您还不打算马上参加认证考试 这个教程系列也是了解 IDS 11 50 的 新特性的好材料 这个认证将考察关于 IDS 11 50 管理的入门级知识 包括基础 SQL 如何安装 IDS 11 50 如何创建数据库和数据库对象 安全性 事务隔离 备份和恢复流 程 以及数据复制技术 这些教程为考试的每部分打下了坚实的基础 不过 您不能仅使用这些教程作 为唯一的考试准备材料 回页首 关于本教程 通过本教程了解 IDS 11 50 的安全特性 包括 11 50 身份认证 授权和特权 这个帮助您准备 IDS 11 50 基础考试 555 的 教程系列 共包含 9 篇教程 本 教程是第 2 篇 本教程主要讨论测试的第 2 部分的目标 回页首 先决条件 为了理解本文描述的概念 您应该了解数据库的基础概念和操作系统安全特性 回页首 系统需求 本教程的例子基于运行在 UNIX 操作系统 具有本机安全特性 上的 IDS 11 50 不过 本教程提供的概念和信息与运行在任意分布式平台上的 IDS 相 关 数据库安全 在当今 数据库安全是极其重要的 您的数据库可能允许客户通过 Internet 购买产品 或者包含用于预测商业走势的历史数据 不管哪种情况 您的公司 都需要一个健全的数据库安全计划 数据库安全计划应该确定 谁可以访问数据库服务器实例和数据库 从哪里以什么方式验证用户密码 用户的授权级别 用户能够运行的命令 用户能够读取或修改的数据 用户能够创建 修改或删除的数据库对象 IDS 安全性机制 IDS 为实现数据库安全计划提供 3 个主要的机制 身份验证 授权和特权 身份验证身份验证 是指 IDS 验证用户的身份的过程 IDS 身份验证在验证用户 ID 和密码时与底层操作系统的安全特性密切合作 IDS 还可以在验证用 户身份方面与安全协议合作 比如 PAM 和 Kerberos 授权授权 涉及到确定用户或组能够执行的操作 或能够访问的数据对象 用户执行高级数据库和实例管理操作的能力取决于授予他们的权限 特权特权 比授权的粒度更细 可以授予用户或组 特权帮助定义用户能够 创建和删除的对象 特权还可以定义用户能够用于访问对象 比如表 视图 索引和包 的命令 IDS 支持基于标签的访问控制 LBAC 它提 供更细粒度的控制 甚至可以控制谁有权限访问某个行或列 IDS 还为更高级别的安全性提供加密 IDS 中的身份验证机制 身份验证是确认用户或应用程序的身份的机制 数据库服务器仅允许身份得到 确认的用户访问数据 如 图 1 所示 IDS 采用客户机 服务器架构 其中客户 机可以是远程用户或本地用户 图图 1 1 身份验证流程身份验证流程 本地连接是指客户机和位于相同机器上的服务器之间的连接 远程连接是指客 户机和位于不同机器上的服务器之间的连接 IDS 支持传统的身份验证机制 即用户需要提供用户 ID 和密码才能连接到数据库 IDS 还支持其他身份验证 机制 比如插入式验证模块 Pluggable Authentication Module PAM 传统身份验证 IDS 服务器在连接方面遵循 UNIX 安全性需求 在传统的身份验证中 IDS 通 过操作系统 API 验证用户的 UNIX 或 Windows 登录 ID 和密码 回页首 插入式身份验证模块 插入式身份验证模块 PAM 是一个框架 它允许用户开发和实现定制的身份验 证机制 同时不对应用程序进行任何修改 IDS 支持的模式包含密码模式和询 问响应模式 在密码模式下 用户仅凭密码就能够通过身份验证 在询问响应 模式下 服务器将提出一个问题 而客户机需要发送一个响应 仅当客户机发 送正确的响应时 它才能够访问数据库 回页首 配置 IDS 以使用 PAM 下面是将 IDS 配置为使用 PAM 模块的基础步骤 有些细节是特定于平台的 但是概念是通用的 1 定义定义 PAMPAM 模块 模块 标识或创建需要使用的 PAM 模块 例如 您可以使用 pam unix pam aix pam unix auth 它进行传统的基于网络文件的身份 验证 这个共享对象通常位于独立于平台的路径 比如 Solaris 上的 usr lib security pam unix so 如果您亲自创建模块 则要把它复 制到正确的位置 2 配置配置 PAMPAM 模块 模块 在 INFORMIXDIR etc sqlhosts 文件添加选项字段 表明将使用 PAM 身份验证 清单 1 显示如何配置密码类型的模块 清单清单 1 1 PAMPAM 的的 sqlhostssqlhosts 条目条目 Server name service machinename portno Options demo on ontlitcp demohost 1111 s 4 pam serv login pamauth password Where login is name of the PAM module set the PAM configuration file sqlhosts entry for a challenge type module Server name service machinename portno Options demo on ontlitcp demohost 1111 s 4 pam serv xxx pamauth challenge Note Here xxx is a challenge oriented module which will have the required entry in the PAM configuration file 回页首 单点登录 SSO 单点登录是一个身份验证特性 只要用户登录客户机的操作系统之后就不再需 要提供用户名和密码 IDS 使用 Kerberos 5 安全协议实现了对单点登录 SSO 的支持 使用 SSO 时 DBMS 和其他支持 SSO 的服务在用户首次登录到客户机系统 或 Windows 中的域 时进行身份验证 Kerberos 实现验证用户凭证 Kerberos 身份验证生成一组用于储存登录凭证的密匙 当用户操作试图访问 Dynamic Server 数据库时 票据授予票据 ticket granting ticket TKT 交换允许 不提示登录访问数据库 SSO 还支持机密性和完整性服务 因此 SSO 环境不需要具有其他 Dynamic Server CSM 启用机密性之后 对于通过 SSO 验证的用户 向其传入或其输出 的数据都经过加密 并且仅使用授权凭证登录的用户能够查看这些数据 完整 性服务确保在用户和 DBMS 之间发送的数据没有在传输过程中被篡改 将 IDS 配置为使用 SSO 需要大量特定于平台的设置 不过 对于基础考试 您仅需理解如何设置 sqlhosts 文件和 concsm cfg 文件以使用 SSO 这在 Encryption Support in IDS 的 Generic Security Services Communications Support Module GSSCSM 主题下讨论 IDS 中的访问控制 可以通过多种方法使用 SQL 语句保护对数据的访问 首先 本教程描述数据库 服务器中用于控制访问 SQL 对象的各种访问控制机制 接着描述列级别的加密 特性 该特性用于加密表中指定的列上的数据 IDS 中包含的访问控制机制大体分为两类 即自主访问控制 DAC 和基于标签 的访问控制 LBAC 在数据库服务器中使用特权和角色来实施 DAC LBAC 的 实施是使用安全标签来实现的 数据库管理员 DBA 在保护敏感数据免受非授权用户访问方面起到关键作用 SQL 提供在不同粒度级别上实现数据保护的方法 注意 DBA 与数据库系统管 理员 DBSA 是不同的 DBSA 的角色是维护服务器 而 DBA 的角色是创建和 维护数据库 自主访问控制 自主访问控制 Discretionary access control DAC 是主要的访问控制机制 它支持使用特权和角色访问 SQL 对象 在数据库服务器中 使用 DAC 保护的 对象包括数据库 表 列 视图 类型 例程和语言 DAC 不能用于行级别的 保护 因此 保护行要使用 LBAC 通过保护这些对象以及给授权用户授予访问 这些对象的特权可以实现高效的访问控制 没有所需权限的用户不能执行访问 这些对象的查询 在典型的 IDS 安装中 有大量的用户访问系统 执行查询和修改数据 为所有 用户创建必要的特权会使管理员角色的工作过于琐碎繁杂 另外 公司的策略 可能为用户规定不同的特权 这取决于他们执行的工作 这让管理员的责任更 加重大 因为必须根据最新的特权策略授予或撤销特权 服务器中的角色功能 减轻了管理员的压力 基于角色的访问控制 RBAC 将特权合并到角色中然后 再将角色分配给用户 从而扩展了基于特权的访问 回页首 受保护的 SQL 对象 DBMS 中的以下对象需要用户具有特定的授权或特权才能访问 数据库 表 表中的列 片段 视图 用户定义类型 UDT 例程 语言 用户提交的大部分 SQL 查询都与一个或多个这些对象进行交互 在这些对象上 为用户授予的特权确定用户能够执行所需的操作 图 2 显示了在 SQL 查询执 行路径上进行的特权检查 首先 检查数据库特权 然后检查与用户查询相关 联的 SQL 对象上的特权 用户特权基于显式地授予用户的特权 用户当前角色 具有的特权和公共特权 图图 2 2 SQLSQL 查询中的特权检查查询中的特权检查 表 1 总结了特定 SQL 对象可用的特权 表表 1 1 SQLSQL 对象及其特权对象及其特权 SQLSQL 对象对象特权特权 Database Connect resource DBA TableSelect update insert delete index alter references ColumnSelect update references Fragment Insert update delete ViewSelect insert delete update Sequence Select alter UDTUsage under RoutineExecute Language Usage 每个 SQL 对象都与某个特权相关联 并且每个特权都与一组功能相关联 当用 户被授予某个特权时 他就有权限执行该 SQL 对象上的功能 IDS 提供 GRANT 和 REVOKE 语句来授予或删除特权 GRANTGRANT 和和 REVOKEREVOKE 语句语句 SQL 提供 GRANT 和 REVOKE 语句来向用户授予特权或回收特权 清单 2 显示 了数据库对象上的 GRANT 和 REVOKE 语句的语法 这个例子中的特权表示 CONNECT RESOURCE 或 DBA 特权之一 user list 表示用户列表 包括 PUBLIC 清单清单 2 2 语法 语法 GRANT REVOKEGRANT REVOKE 语句语句 GRANT privilege TO user list REVOKE privilege FROM user list 向一个用户或用户列表授予特权 PUBLIC 是用于表示数据库系统中的所有用户 的关键字 当特权授予 PUBLIC 时 则表示系统的所有用户都拥有该特权 类 似地 当从 PUBLIC 回收特权时 系统中的所有用户都被剥夺授予给 PUBLIC 的特权 不过 他们还拥有单独授予的特权 或通过角色授予的特权 授予用 户的特权只有在回收该特权时才失效 仅特权授予者和 DBA 能够撤销特权 表 2 列出了可以授予用户的数据库特权 表表 2 2 数据库特权数据库特权 数据库特权数据库特权说明说明 DBA 数据库创建者 所有者 能够授予数据库中的其他对象上的特权 Resource 能够连接到数据库并创建其他对象 Connect 能够连接到数据库执行查询 DBA 特权授予创建数据库的用户 但也可以在数据库创建之后授予其他用户 DBA 特权是 3 个数据库级别的特权中最高级的特权 因此 本教程将具有 DBA 特权的用户称为 DBA DBA 能够执行数据库中的所有操作 DBA 还能够 将 DBA RESOURCE 和 CONNECT 特权授予数据库的其他用户 因此 一个数据 库可以有多个 DBA 通常情况下 数据库中的对象创建者就是该对象的所有者 DBA 还可以在数据库中创建由其他用户拥有的对象 DBA 能够执行的任务包括 向其他用户授予数据库级别的特权 或回收这些特权 在数据库的其他对象上授予特权 比如表 视图 序列 UDT 例程和语 言等 在数据库中创建由其他用户拥有的表 视图和索引 修改和删除数据库中的对象 而不管其所有者是谁 运行 DROP DATABASE 语句 执行 RESOURCE 有权限执行的所有操作 在数据库中 RESOURCE 特权仅低于 DBA 特权 DBA 向其他用户授予 RESOURCE 特权 让他们能够在数据库中创建其他 SQL 对象 RESOURCE 特权用户能够执 行的任务包括 创建永久的表 索引和 SPL 例程 需要使用磁盘空间的任务 执行 CONNECT 特权用户有权限执行的所有操作 DBA 向用户授予 CONNECT 特权 让他们能够连接到数据库并执行查询 CONNECT 是数据库级别的最低级特权 因为拥有该特权的用户不能在数据库中 创建其他对象 以下是 CONNECT 用户能够执行的任务 连接到数据库 在拥有必要的表级别特权的数据库表上运行查询和 DML 语句 执行 SPL 例程 前提是拥有必要的表级别特权 创建视图 前提是有权限在视图所在的表上执行查询 创建临时表和在临时表上创建索引 表表 3 3 表特权表特权 表特权表特权说明说明 Select 允许用户从表读取数据 他们能够在表上执行 SELECT 查询或创建 视图 Update 允许用户更新表中的数据 Insert 允许用户在表中插入行 Delete 允许用户从表中删除行 Index 允许用户在表上创建索引 Alter 允许用户修改表 References允许用户在表上创建引用约束 Under 允许用户在表下创建子表 列特权列特权 授予表级别特权之后 就隐式地对表中的所有列授予了列特权 列级别特权帮 助进一步将用户的操作限定到特定的列上 在列级别上可用的特权仅包括 SELECT UPDATE 和 REFERENCES 片段特权片段特权 您可以使用 GRANT FRAGMENT 语句在表的单个片段上授予 INSERT UPDATE 和 DELETE 特权 片段特权仅适用于用表达式创建的片段 授予表中的片段的片段 级别特权在以下情况下不存在 如果表的片段策略从基于表达式更改为其他策略 比如循环 round robin 如果从表中删除某个片段 这将导致删除该片段上的特权 如果片段基于的表达式被更改 那么片段特权就会被删除 用户只能采 用默认的表特权 表 4 列出了可以授予用户的类型特权 表表 4 4 类型特权类型特权 类型特权类型特权说明说明 Usage 授权使用已命名的数据类型 Under 授权在类型层级中将已命名的数据类型用作超类型 视图特权视图特权 在一个视图 VIEW 创建之后 IDS 将在给视图的创建者或所有者授予特权之 前检查底层表的特权 如果用户在底层表上拥有 SELECT 特权 那么将创建视 图 并向用户授予视图的 SELECT 特权 如果用户在底层表上不具有 SELECT 特权 那么将不创建视图 如果用户在底层表上还拥有 INSERT UPDATE 和 DELETE 特权 那么将向用户授予视图的这些权限 您使用视图时 将对该视图 使用特权 而不是底层表 视图的创建者通常将视图的特权授予其他用户 序列特权序列特权 序列特权 SEQUENCE 类似于表级别的特权 不同之处是在序列上仅授予 SELECT 和 ALTER 特权 具有 SELECT 特权的用户能够在查询中使用序列 具 有 ALTER 特权的用户能够使用 ALTER SEQUENCE 或 RENAME SEQUENCE 语句修 改序列 序列仅能由具有 DBA 特权的用户创建 可以向用户或角色授予序列上 的 ALTER 和 SELECT 特权 例程特权例程特权 创建例程所需的特权与使用例程所需的特权不同 创建例程或过程需要以下特 权 数据库级别的 DB2 特权或 RESOURCE 特权 语言级别特权 决定编写例程使用的语言 EXTEND 角色特权 如果 IFX EXTEND ROLE 配置参数设置为 1 并且例程 使用 Java 技术或 C UDR 的话 默认情况下 例程的创建者拥有执行该例程的特权 如果另一个用户需要执行 这个例程 那么例程的创建者必须向该用户授予 EXECUTE 特权 语言特权语言特权 在 IDS 中 用户定义例程 UDR 是用 SPL 或其他外部语言 比如 C 和 Java 编写的 要用特定语言创建例程 用户需要使用该语言的 USAGE 特权 默认情况下 SPL 的语言使用特权对用户 informix 和持有数据库 DBA 特权的 用户可用 不过 informix 用户可以向其他用户授予该语言使用特权 具有 DBA 特权的用户不能向其他用户授予该特权 默认情况下 创建 SPL 例程的 USAGE 特权授予 PUBLIC 角色 基于角色的访问控制 RBAC 将特权合并到角色中然后再将角色分配给用户 从而扩展了基于特权的访问 角色可以定义为工作任务的类别 例如 您可以 在公司中定义经理角色 经理角色有一组职责 比如雇用职员 审查绩效 工 薪谈判和批准奖金等等 一般情况下 经理都要在所有部门中完成这些职责 为了完成这些任务 经理需要某些特权 比如访问员工记录或其他仅经理可以 访问的数据 当员工晋升为经理或招聘了新的经理时 他们将担任经理角色并 获得与该角色相关的特权 IDS 在 DBMS 提供的角色与这里的角色属于同一概 念 预定义角色预定义角色 从安全性角度看 为了最大限度地限制滥用数据库内容 在公司中有必要将管 理职责分配给不同的职员 为了支持职责分离 IDS 具有以下预定义角色 数据库服务器管理员 DBSA o用户帐户 负责配置 调优 和维护基于本地 IDS 数据库服务器 的服务器实例 o职责包括启动和关闭数据库服务器 磁盘空间管理 备份恢复 性能调优和故障诊断 数据库系统安全维护员 DBSSO o为在本地数据库服务器实例上工作的特定用户定义审计掩码 审计分析员 AAO o负责审计配置和审计跟踪分析 数据库管理员 DBA o在本地数据库服务器中维护特定的数据库 o自动地将权限授予数据库创建者或由数据库创建授予权限 o不一定要包含数据库服务器特权 操作系统管理员 OSA o定义和维护本地用户帐户 包括 AAO DBSA 和 DBSSO 组 o安装 IDS 产品 负责为角色分离更改所需的组权限 o维护内核参数设置和资源限制 比如文件和内存 用户 o用于运行基于数据库的应用程序的本地或远程用户帐户 特权用户 oIDS 将 informix 和根用户定义为特权用户 您可以在数据库中根据自己的需求创建定制的角色 角色仅能由 DBA 特权用户 创建 特权由 DBA 授予角色 而角色被分配给用户 用户可以根据需要执行的 任务担任角色 并且在任务完成之后脱离角色 可以给一个用户授予多个角色 但一个用户一次仅能担任一个角色 因此 取决于需要执行的操作 用户将担 任一个角色并获取该角色拥有的特权 以下的小节描述创建角色 授予和设置角色 默认角色 撤销用户的角色 撤 销角色的特权和删除角色等的语法和语义 创建角色创建角色 角色仅适用于创建它的数据库中 清单 3 提供了 CREATE ROLE 语句的语法 其中 role name 是角色的名称 清单清单 3 3 语法 语法 CREATECREATE ROLEROLE CREATE ROLE role name 授予角色特权授予角色特权 为角色授予特权的语法与为用户授予特权的语法相同 在指定用户名的位置将 用户名替换为角色名 仅 DBA 能够给角色授予特权 清单清单 4 4 语法 给角色授予特权语法 给角色授予特权 GRANT priv list ON table To role list 授予授予 撤销用户的角色撤销用户的角色 给用户授予角色类似于给用户授予特权 主要区别是授予特权是在 SQL 对象上 授予的 比如表 列 视图 例程 语言或片段 而授予角色时不与 SQL 对象 相关联 角色存在数据库内部 用户担任拥有一组特权的角色 这些特权可以 在任何 SQL 对象上 如前面小节所述 撤销角色的语句也与撤销特权的语句相 似 清单清单 5 5 语法 授予语法 授予 撤销用户角色撤销用户角色 GRANT role name TO user list REVOKE role name FROM user list 拥有 DBA 特权的用户将角色授予其他用户 CREATE ROLE 和 GRANT 角色语句 不能激活角色 角色由 SET ROLE 语句激活 默认角色默认角色 管理员可以定义一个默认的角色 并将其授予其他用户或在特定数据库中授予 PUBLIC 默认的角色在用户建立与数据库的连接时会自动应用 清单 6 提供 GRANT DEFAULT ROLE 语句的语法 可以将默认角色授予一组用户 清单清单 6 6 语法 授予默认角色语法 授予默认角色 GRANT DEFAULT ROLE role name TO user list 担任角色担任角色 将非默认角色授予用户之后 用户必须使用 SET ROLE 语句启用该角色 在建 立到数据库的连接时 用户就担任了默认的角色 如果没有给用户授予默认角 色 那么建立连接之后用户在数据库中不担任任何角色 通过使用 SET ROLE 语句 用户可以更改当前角色或切换到新的角色 清单 7 提供 SET ROLE 语 句的语法 角色可以设置为 role name 此外 还可以将角色设置为 NULL 值 或 NONE 在这种情况下禁用了当前的角色 当将角色设置为 DEFAULT 时 将 启用默认的角色 清单清单 7 7 语法 设置角色语法 设置角色 SET ROLE role name SET ROLE NULL SET ROLE NONE SET ROLE DEFAULT 当用户担任一个新角色时 除了用户已有的特权和公共特权之外 他还将得到 该角色的所有特权 如果将一个角色授予已经担任一个角色的用户 那么除了 用户已有的特权和公共特权之外 该用户还将拥有这两个角色的所有特权 可 以给同一用户授予多个角色 但用户最多只能担任一个非默认角色 这是 SET ROLE 语句指定的 如果 SET ROLE 语句重复了 那么新的角色将作为当前角色 代替旧角色 删除角色删除角色 仅有 DBA 或使用 WITH GRANT OPTION 向其授予角色的用户能够删除角色 一 旦删除角色之后 任何用户都不能授予或启用被删除的角色 此外 担任被删 除角色的用户将失去该角色的所有特权 除非用户本身被授予相同的特权 或 相同的特权授予 PUBLIC 如果删除的角色是默认的角色 那么用户的默认角色 将变成 NULL 清单 8 提供 DROP ROLE 语句的语法 角色的名称由 role name 表明 清单清单 8 8 语法 删除角色语法 删除角色 DROP ROLE role name 回页首 基于标签的访问控制 LBAC 自主访问控制是在数据库对象级别上工作的 比如数据库 表 列和视图等 而基于标签的访问控制是在数据的行和列级别上工作的 表由安全策略保护 单个的行和列则由安全标签保护 数据库安全管理员 DBSECADM 创建安全策 略和标签 并将标签授予用户 当具有安全标签的用户向由等效安全策略保护 的表写入数据行时 将在该表的每个行生成数据标签 LBAC 工作的基本原理是 在保护行的数据标签中 其安全标签占据优势的用户能够读取数据 如何计算 优势 任何标签都由每个组件中的个体组件和元素组成 如果用户标签中的个 体组件超过特定安全策略的行标签的个体组件 那么用户标签就占优势 通过 样例场景能够更好的展示这些概念 样例样例 LBACLBAC 场景场景 考虑一个具有传统组织结构的公司 LBL Corp 图 3 显示了该公司的部分组织 结构 该图显示由各自的 VP 领导的所有公司部门 Marketing VP Sales VP oWest region Director oEast region Director oSouth region Director oNorth region Director Engineering VP Finance VP HR VP 图图 3 3 LBLLBL Corp Corp 的部门的部门 以下场景描述 LBL Corp 公司的 3 个业务需求 然后描述如何使用 LBAC 实 现这些业务需求 场景场景 1 1 部门层级结构 部门层级结构 销售部门进一步划分为由各个区域主管领导的区域 这个层次结构进一步划分 为更小的区域 最后一级是个体销售人员 图 4 显示了扩展后的销售组织 Sales VP oWest region Director oEast region Director Georgia Manager Atlanta Sales rep 1 Sales rep 2 Florida Manager oSouth region Director Texas Dallas Sales rep 1 Sales rep 2 Houston Sales rep 1 Sales rep 2 oNorth region Director 图图 4 4 LBLLBL Corp Corp 的销售部门的销售部门 存储销售数据的首要要求是 员工能够看到属于自己或自己管辖的下属组织的 数据 同时他们又不能看到属于其他同事的数据 例如 销售副总裁能够看到 属于所有区域的数据 而每个区域的主管仅能看到属于他们的区域的数据 在 该层级结构的最末端 个体销售人员仅能看到自己的数据 这可以通过以下途径实现 将标签授予组织中的用户 并且让位于层次结构的 更高层的人员比位于更底层的人员占有更多标签 这样 授予销售 VP 的标签 多于授予任何区域主管的标签 授予区域主管的标签多于授予任何子区域经理 的标签 而授予子区域经理的标签多于授予个体销售人员的标签 这种关系最 好通过为销售部门定义一个 TREE 组件来实现 本教程继续将该场景作为例子 讨论 并且为销售数据表定义安全策略和标签 场景场景 2 2 文档分类 文档分类 另一个能够将 LBAC 派上用场的场景是 根据文档的敏感级别将其分类 拥有 某个敏感级别的用户能够读取敏感级别更低的文档 回过头来看看 图 3 销售 文档可以根据敏感级别进行分类 比如 Top Secret Secret Confidential 和 Unclassified 公司的 CEO 被授予组件元素为 Top Secret 的标签 技术 架构师甚至应该被授予更高的敏感级别 以让他们能够访问核心竞争信息 这 种关系最好通过定义一个敏感级别 ARRAY 组件来实现 本教程继续将该场景作 为例子讨论 并且描述创建安全组件的例子 场景场景 3 3 特殊用户 特殊用户 现在我们进入第 3 个场景 它描述了 SET 组件类型的使用 回顾 图 3 的 HR 部门 每个部门的 VP 能够看到自己部门的员工的记录 但不能看到其他部门 的员工的记录 不过人力资源 VP 应该能够看到公司的所有员工的记录 因此 HR VP 的标签包含所有部门 其他 VP 的标签仅将各自的部门作为 SET 组件的 一部分 本教程在后面的小节中通过例子对此进行演示 样例场景展示了 LBAC 能够以多种方式提供创建安全策略的框架 并使用这些 策略保护数据 受 LBAC 保护的表的主要特征是 通过细化数据访问粒度来实 现安全性和隐私性 支持 LBAC 实施的 SQL 对象是安全标签组件 安全策略和 安全标签 这些对象用于保护表中的各个行和列 LBAC 的实施级别低于 DAC 的实施级别 在数据库级别和表级别检查了特权之后 将在获取数据的行和列 级别实施 LBAC 仅有 DBSECADM 能够创建 LBAC SQL 对象或将它们应用到表或 授予用户 DBSECADM 是 IDS 提供的内置角色 并且由数据库系统管理员将该 角色授予个体用户 所有 LBAC SQL 对象都存在数据库上下文中 创建 LBAC 框架有 3 个重要步骤 定义安全策略 创建安全标签 将安全标签分配给用户 IDS 中的加密支持 加密技术是作为插入式通信支持模块 pluggable communication supports module CSM 与 IDS 集成的 表 5 给出了 IDS 提供的 CSM 列表 表表 5 5 IDSIDS 中的中的 CSMCSM CSMCSM 名名 称称 操作系操作系 统统 库位置和名称库位置和名称 说说 明明 ENCCSM UNIX INFORMIXDIR lib csm iencs11a so 这 个 模 块 用 于 加 密 在 客 户 机 和 服 务 器 之 间 传 输 的 所 有 数 据 WINDOW S INFORMIXDIR lib csm iencs11a d ll SPWDCS M UNIX INFORMIXDIR lib csm ispws11a so 这 个 模 块 仅 用 于 加 密 从 客 户 机 发 送 到 服 务 器 的 密 码 WINDOW S INFORMIXDIR lib csm ispws11a d ll GSSCSM UNIX INFORMIXDIR lib csm igsss11a so 这 个 模 块 用 于 在 ID S 中 指 出 单 点 登 录 身 份 验 证 WINDOW S INFORMIXDIR lib csm igsss11a d ll 回页首 配置 IDS 以使用加密 这个配置过程包含 2 个步骤 步骤步骤 1 1 在 在 CSMCSM 配置文件配置文件 concsm cfg concsm cfg 中配置中配置 CSMCSM 这个文件位于 INFORMIXDIR etc 您也可以使用 INFORMIXCONCSMCFG 环境变 量 定义加密 CSM 清单 9 显示了 concsm cfg 中的 ENCCSM 条目的语法 清单清单 9 9 ENCCSMENCCSM 语法语法 ENCCSM path cipher options mac options switch options Where the options are Path The absolute path of the CSM shared library Cipher Specifies the names of the ciphers that you want to use for encryption Mac Specifies the absolute path of the MAC key file Switch Specifies the time interval for switching between ciphers if multiple ciphers are defined For example ENCCSM usr informix lib csm iencs11a so cipher des ecb ede ecb mac levels files switch cipher 2 key 1 定义简单密码 CSM 清单 10 显示了 concsm cfg 中的 SPWDCSM 的语法 清单清单 10 10 SPWDCSMSPWDCSM 语法语法 SPWDCSM path global option conn options Where the options are Path Absolute path of the CSM shared library Global option Not supported currently must be null conn options p 0 password not mandatory p 1 password mandatory for authentication The following example shows how the entry for SPWDCSM in the concsm cfg file should look Here ispws11a so is a CSM library and p 1 mandates that the password verification is needed SPWDCSM usr informix lib csm ispws11a so p 1 定义 GSSCSM 清单 11 显示了 concsm cfg 中的 GSSCSM 条目的语法 清单清单 11 11 GSSCSMGSSCSM 语法语法 GSSCSM path global options conn options Where the options are Path Absolute path of the CSM shared library Global option Not supported currently must be null Conn options You can configure Kerberos defined confidentiality and integrity services leave it blank to accept the defaults You can enter any values you can do this for one service or for both services The settings must be entered as comma separated values The conn options in the concsm cfg file are as follows Settings Result c 0 Confidentiality service of the Generic Security Services GSS API is disabled c 1 Confidentiality service is enabled This is the default setting i 0 Integrity service of the GSS API is disabled i 1 Integrity s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论