11.9.2. 管理控制台和 CLI 里基于角色的访问控制

当启用了基于角色的访问控制(Role-Based Access Control,RBAC)时,用户可以访问的资源以及用资源属性进行的操作是由所分配的角色来决定的。
管理控制台

在管理控制台里,根据分配给用户的角色的权限,有些控件和视图是禁用的(灰色)或不可见的。

如果你没有对某个资源属性的读权限,该权限将在控制台里显示为空白。例如,多数角色无法读取数据源的用户名和密码字段。

如果你没有对某个资源属性的写权限,该权限将在资源编辑表单里显示为禁用(灰色)。如果你没有对这个资源的写权限,那么整个编辑表单都不会出现。

如果用户没有对某个资源或属性的访问权限(就是对于这个角色来说是“不可寻址的”),那它们不会出现在在该用户的控制台里。其中一个例子是,访问控制系统自身在默认情况下只对一些角色可见。
管理 CLI 或 API

启用了 RBAC 后,使用 jboss-cli.sh 工具或管理 API 的用户在 API 里会遇到稍许不同的行为。

无法读取的资源和属性将从结果里过滤。如果被过滤的内容是角色可以寻址的,那么它们的名称将列为结果里 response-headers 部分的 filtered-attributes。如果它们是无法被寻址的,那就不会被列出。

试图访问不能寻址的资源将导致 resource not found 错误。

如果用户试图写入或读取他们可以寻址的资源但缺乏对应的读写权限,就会返回 Permission Denied 错误 。