安全性

IBM® UrbanCode Deploy 提供了一个灵活的基于团队和角色的安全性模型,该模型将映射到您的组织结构

从较高的层面来讲,安全性系统由认证域、授权域、角色和团队组成。认证域将验证正在尝试登录 IBM UrbanCode Deploy 的用户或系统的身份。授权域将管理用户组。角色将管理许可权。团队将用户与角色连接在一起并保护产品区域。

许可权和安全性类型的概述

了解基于团队的安全性系统的良好起点是了解许可权。IBM UrbanCode Deploy 以大多数读者熟悉的方式使用许可权这个术语:每种许可权都控制对一个产品区域或产品功能的访问。 大多数许可权都涉及了典型活动(例如,创建、读取、更新和删除)。许可权将定义可以执行哪些操作,而不会定义哪些用户可以执行操作。

大多数产品区域都具有一组许可权,这些许可权将影响用户与该区域进行交互的方式。产品区域的许可权由安全性类型进行定义。组件产品区域具有一些安全性类型,这些类型将影响用户与组件进行交互的能力。可用于代理程序产品区域的安全性类型会影响代理程序,以此类推。

大多数产品区域可以具有为其定义的更多安全性类型。每种合格的安全性类型都附带了一种为其定义的“ 标准”类型(例如,“标准代理程序”或“标准组件”)。区域中的其他每种类型共享一组相同许可权。例如,每种代理程序类型都具有一组相同许可权:编辑和查看。请参阅安全性类型

角色

角色是一组已授予的许可权。定义角色的过程包括授予对受该角色影响的所有安全性类型的许可权。开发者类型的角色可以具有创建应用程序的许可权,但无法在生产环境中运行这些应用程序。或者,开发者类型的角色能够运行应用程序,但无法创建这些应用程序。您决定角色及其功能的数目。IBM UrbanCode Deploy 在交付时提供了一个角色(即管理员角色),已将所有安全性类型的所有许可权授予该角色。

要点: 角色不会将授予它的许可权传递给任何实际用户。与许可权一样,角色将定义可以执行哪些操作,而不会定义哪些用户可以执行这些操作。角色及其相关联的许可权将按团队应用于用户。

团队

团队是使用户或组与角色相关联的构造。将用户添加到团队时,将对该用户分配角色;如果不进行角色分配,那么无法将用户添加到团队。会自动将所有为该角色定义的许可权授予角色成员。还可以对角色添加组,在这种情况下,会自动将为该角色定义的许可权授予组成员。

创建团队时,所有用户和组都可供分配,并且所有角色都可供使用。可以将多个角色分配给用户。如果对用户分配了一个已授予特定许可权的角色和另一个未授予该许可权的角色,那么该用户将视为具有该许可权。

团队将保护资源。例如,为了保护环境,将团队分配给该环境。在保护该环境后,只有分配了具有相应许可权的角色的团队成员才能影响该环境。

IBM UrbanCode Deploy 附带的系统团队具有分配了管理员角色的 admin 用户。已将所有标准安全性类型以及服务器和 Web UI 设置的所有许可权授予管理员角色。无法删除系统团队。

资源安全性

许可权具有两种类型:具有特定作 用域的类型以及具有更一般的作用域的类型。环境安全性类型具有四种许可权:创建、编辑、执行和查看。除了创建以外许可权,这些许可权仅影响特定资源;它们的作用域为特定环境。例如,如果具有执行许可权的团队附属于生产环境,那么只有那些具有该许可权的团队成员才能在该环境中运行应用程序。具有其他未授予执行许可权的角色的团队成员无法在该环境中运行应用程序。不附属于该环境的团队的成员无论是否具有执行许可权,都无法运行应用程序。

创建许可权与其他许可权类型不同。创建类型不是以特定资源为作用域,而是具有更广泛的作用域。具有创建类型许可权的 团队成员可以创建相关类型的资源,而不必首先使这些团队成员附属于特定资源。要继续执行环境示例,具有创建环境许可权的用户可以创建环境,即使其团队不附属于特定环境。

在下图中,productionTeam 团队附属于 tutorialProdEnvironment 环境。productionRole 角色对该环境具有执行许可权。具有该角色的团队成员(例如,prodDeployer)可以在该环境中运行应用程序。即使团队附属于该环境,不具有该角色的团队成员(例如,developerLead)也无法运行应用程序。

图 1. 团队安全性许可权
注:
用户 developerLead 可以创建和修改环境。 此外,即使 developmentTeam 团队不附属于此环境或任 何其他环境,用户 developerDB 也可以创建环境。

当团队已分配给对象时,也确定了安全性类型。通过改变安全性类型,可以微调团队许可权。例如,团队可能对某个组件具有一组许可权,通过更改安全性类型,团队可能对其他组件具有另一组许可权。


反馈