第四十八章 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 提供了实现此目的的方法。

10-06 09:58