第四十八章 Security
IRIS
中的安全元素
安全性提供了一个简单、统一的安全架构,该架构基于以下元素:
-
Authentication
验证。身份验证是向IRIS
证明身份的方式。如果没有可信的身份验证,授权机制就毫无意义——一个用户可以冒充另一个用户,然后利用通过欺诈手段获得的特权。
可用的身份验证机制取决于访问 IRIS
的方式。 IRIS
有许多可用的身份验证机制。有些需要编程工作。
-
Authorization
授权。用户通过身份验证后,下一个要回答的与安全相关的问题是允许该人使用、查看或更改什么。这种访问的确定和控制称为授权。
作为程序员,有责任在代码中包含适当的安全检查,以确保给定用户有权执行给定任务。
-
Auditing
审计。审计提供了与系统相关的可验证且值得信赖的操作轨迹,包括身份验证和授权系统的操作。此信息为在任何安全相关事件发生后重建事件序列提供了基础。了解系统经过审核的事实可以对攻击者起到威慑作用(因为他们知道在攻击过程中会泄露有关自己的信息)。
IRIS
提供了一组可以审核的事件,并且可以添加其他事件。作为一名程序员,有责任在代码中包含自定义事件的审核日志记录。
-
Database encryption
数据库加密。IRIS
数据库加密可防止未经授权的用户查看静态数据,从而保护存储在磁盘上的信息。IRIS
使用AES
(高级加密标准)算法实施加密。当IRIS
写入磁盘或从磁盘读取时,会发生加密和解密。在IRIS
中,加密和解密都经过了优化,对于任何IRIS
平台来说,它们的影响都是确定性的并且很小;事实上,写入加密数据库根本没有增加时间。
数据库加密的任务通常不需要编写代码。
与 IRIS
之间的安全通信
当 IRIS
与外部系统之间进行通信时,可以使用以下附加工具:
-
SSL/TLS
配置。IRIS
支持存储SSL/TLS
配置并指定关联名称的功能。当需要SSL/TLS
连接(例如,用于HTTP
通信)时,可以通过编程方式提供适用的配置名称,IRIS 会自动处理SSL/TLS
连接。 -
X.509
证书存储。IRIS
支持加载X.509
证书和私钥并指定关联的配置名称。当需要X.509
证书(例如,对SOAP
消息进行数字签名)时,通过编程方式提供适用的配置名称,IRIS
会自动提取并使用证书信息。
可以选择输入关联私钥文件的密码,也可以在运行时指定该密码。
- 访问证书颁发机构 (
CA
)。如果将适当格式的CA
证书放置在指定位置,IRIS
将使用它来验证数字签名等。
IRIS
自动使用 CA
证书;无需编程工作。
IRIS
应用程序
IRIS
安全模型包括应用程序,这些应用程序是控制身份验证、授权和代码使用的其他方面的配置。这些适用于用户界面、外部可执行文件和 API
。
授权模型
作为程序员,有责任在代码中包含适当的安全检查,以确保给定用户有权执行给定任务。因此,有必要熟悉 授权模型,该模型使用基于角色的访问。简而言之,条款如下:
-
Assets
资产。资产是受保护的物品。资产的性质差异很大。以下各项均为资产:- 每个
IRIS
数据库 - 能够使用
SQL
连接到IRIS
- 执行备份的能力
- 每个
Analytics KPI
类别 -
IRIS
中定义的每个应用程序
- 每个
-
Resources
资源。资源是一种 安全元素,可以将其与一个或多个资产关联。
对于某些资产,资产和资源之间的关联是一个配置选项。创建数据库时,可以指定关联的资源。同样,当创建 IRIS
应用程序时,可以指定关联的资源。
对于其他资产,关联是硬编码的。对于 Analytics KPI
类,将关联的资源指定为该类的参数。
对于定义的资产和资源,可以自由地以任一方式进行关联 - 通过硬编码或定义合适的配置系统。
-
Roles
角色。角色是一个 安全元素,它指定一个名称和一组关联的权限(可能非常大)。权限是对特定资源的特定类型(读、写或使用)的权限。例如,以下是特权:- 读取数据库的权限
- 写入表的权限
- 使用应用程序的权限
-
Usernames
用户名。用户名(或简称为用户)是一个 安全元素,用户使用它登录IRIS
。每个用户都属于一个或多个角色(或者是其中的成员)。
另一个重要的概念是角色升级。有时需要临时向用户添加一个或多个新角色(以编程方式),以便用户可以在特定上下文中执行通常不允许的任务。这称为角色升级。用户退出该上下文后,将删除临时角色;这就是角色降级。
可以在管理门户中定义、修改和删除资源、角色和用户(前提是以具有足够权限的用户身份登录)。然而,当部署应用程序时,更有可能在安装过程中以编程方式定义资源、角色和初学者用户名; IRIS
提供了实现此目的的方法。
网友评论