上一主题: Role-Based Access Control下一主题: 默认用户和组


RBAC 概述

RBAC 是 CA AppLogic® 基于角色的访问控制系统。 RBAC 提供粒度控制,用户可以通过该控制对网格中的某些对象执行某些操作。 RBAC 的常规用途是允许多个用户在单个网格上工作,而不影响其他用户的工作。 RBAC 不提供多重租赁。 例如,所有用户均可以查看所有应用的列表,与 Linux 中的用户可以列出他们无权访问的文件的方式相似。 (不分离对象名称空间。)

RBAC 支持用户和组授权用户操作。 组可以包括用户或其他组作为其成员。 可以使用 CA AppLogic® 命令行界面 (CLI) 创建特定于特定网格的用户和组。 用户和组信息是包括在网格控制器上的目录服务中进行维护的。

RBAC 还支持使用外部目录服务(可选),如 Microsoft® Windows® Active Directory®。 在这种情况下,用的信息是在用户使用该服务进行验证时从外部目录服务获取的。

CA AppLogic® 将特定于网格的用户和组称为本地。 将外部目录服务中维护的用户和组称为全局。 各自的目录服务也区分为本地全局。 可以将网格配置为仅使用本地用户和组,或使用本地和全局的用户和组。

用户和组也称为主体。 为了唯一标识主体,会为每个主体分配一个唯一标识符或主体 ID。 如果主体是用户,则主体 ID 通常以用户 ID 命名。 同样,如果主体是组,则主体 ID 通常以组 ID 命名。 主体 ID 可用于查找主体范围、类型和名称。 主体范围指出主体为本地还是全局。 主体类型指出主体为用户还是组。 主体名称是其人们可用的普通名称。 例如,本地用户 John 是具有本地范围、用户类型、名为 John 的主体。

RBAC 的主要功能是提供用户授权。 为了提供此授权,RBAC 使用访问控制列表 (ACL)。 有三种与 ACL 关联的网格对象类型:应用、全局目录和网格本身。 ACL 包含所有者和条目列表。 所有者是主体,且具有修改 ACL 的隐式权利。 每个条目包含主体和相应的访问级别,对授权该主体在对象上执行操作的方式进行管理。 访问级别命名为权限集合。 例如,网格对象有名为“grid_administrator”的访问级别,包含在该访问级别中的权限之一是允许登录到网格。 在 ACL 中,通过一个唯一的主体 ID 表示每个主体。

ACL 概述

RBAC 不消除维护人员对网格的访问权限。 由维护人员所执行的操作不受授权影响。

ACL 是授予对象访问权限的所有方式的列表。 该列表包括个人和组的权限级别。 用户既可作为个人列出,也可作为一个或多个所列组中的成员列出。 因此,在授予对象访问权限时,系统将评估每个相关的 ACL 条目。 对于作为组成员或列出的个人的用户,系统会授予其许可的最高访问权限。 如果“许可的最高访问权限”针对对象提供必要的权限,则授权检查将会成功。

系统将以递归方式考虑组成员身份。 因此,系统会在两种情况下认为用户是组成员。

递归组成员身份将扩展到组内定义的所有嵌套组的级别。

示例:网格 ACL 上具有组和个人访问权限的用户

Jan 是网格 ACL 上 financial_operators 组的成员此组在网格对象上已获得 grid_user 访问级别。 此访问级别包括配给应用的权限。 此访问级别不包括创建本地用户的权限。

另外,Jan 在网格 ACL 上具备个人条目。 此个人条目在网格对象上已获得 grid_administrator 访问级别。 此访问级别包括创建本地用户的权限。 此访问级别不包括配给应用的权限。

Jan 登录到网格。 在同一个会话中,Jan 希望创建本地用户并配给应用。 授权检查允许 Jan 执行这两项操作。 由于具备组成员身份,Jan 具有配给应用的权限。 由于具备个人 ACL 条目,Jan 具有创建本地用户的权限。

示例:递归组成员身份

Robin 希望将某个本地用户从网格中删除。 只有 grid_administrators 组的成员具有删除本地用户的权限。 Robin 未被列为 grid_administrators 组的成员。 但是,Robin 是 al_senior_admins 组的成员。 此组被列为 grid_administrators 组的成员。 因此,系统将 Robin 视为 grid_administrators 组的成员。 Robin 具有删除本地用户的权限。