【问题标题】:SonarQube 6.0 authorization using groupsSonarQube 6.0 使用组授权
【发布时间】:2016-12-23 05:35:58
【问题描述】:

我正在使用 SonarQube (SQ) 6.0 社区版本并尝试使用组和项目权限设置授权。似乎没有一种方法可以将权限分配给创建的组,即使定义的 SQ 组具有分配给它们的权限。我想做的是通过管理->安全->全局权限过程为创建的组分配权限。但此操作仅返回基于内部 API api/permissions/groups 使用的 Any 和 sonar-administrators 定义的组,它仅返回具有权限的组。在操作管理->项目->管理->操作->编辑权限中使用了相同的 API。最后一个操作的目标是从任何人组中删除此项目的权限,并允许来自已创建组的权限(这将应用于该组中的用户)。但这似乎不可能。我查看了权限模板,但这似乎不允许与组关联。我真正想做的是一个常见的 RBAC 流程,SQ 似乎不支持。 SQ 中是否有针对此功能的解决方案?

【问题讨论】:

  • 不清楚您要做什么。您使用的是 UI 还是网络服务?
  • 我正在使用 UI,但已将日志记录配置为调试以确定 UI 正在使用哪些 API。在高层次上,目标是只允许在某个创建的组中定义的用户访问项目。因此,仅允许该组中的用户查看源代码和对项目执行其他操作(也允许 sonar-administrators 组中的用户进行某些访问)。

标签: sonarqube authorization sonarqube-web


【解决方案1】:

是的,UI 在这方面非常混乱,我挣扎了很长时间才意识到要做什么。

您需要做的是首先在搜索框中搜索一个字符串(“声纳”是一个很好的查询),然后列表将填充与该查询匹配的所有用户/组。然后,您可以为他们分配您认为合适的权限。

【讨论】:

    【解决方案2】:

    这里有两个不同的概念在起作用。全局权限授予用户和组进行全局级别更改的能力,即影响每个人的更改,例如安装了哪些插件以及在质量配置文件中哪些规则处于活动状态。项目权限授予用户和组查看和更改单个项目的能力。

    创建并填充群组后,您有两个选择:

    编辑个别权限的权限

    通过导航到项目,然后管理 > 权限,授予组对单个项目的特定权限。如果您有很多项目要更新,这可能会变得乏味。

    创建权限模板

    创建一个permission template(管理 > 安全 > 权限模板)并通过授予组特定权限来填充它。 此时权限实际上并没有改变。

    正确构建模板后,您可以将其单独、整体应用到项目中,和/或在默认情况下通过模板的项目密钥模式创建新项目。您还可以将新模板设为默认模板,以便其设置自动应用于所有新项目,而不管项目密钥如何。

    注意,权限模板与应用它的项目之间没有持续的关系。随后编辑模板不会更新任何项目的权限。

    【讨论】:

    • 感谢您的回复。您列出的两个 UI 选项是我尝试执行的选项。问题是当我执行这些选项时我创建的组没有列出,所以我无法分配组权限。当我确定用于列出这 2 个 UI 选项的组的 API(使用 DEBUG 日志记录选项)时,API 文档表明只列出了具有分配权限的组(即我之前列出的 API)。所以真正的问题是,由于我创建的组没有被这 2 个 UI 选项列出,因此无法分配组权限。
    • 诊断此问题可能需要比 cmets 中“允许”更多的交互。尝试打开SonarQube Google Group 线程。
    猜你喜欢
    • 2018-03-22
    • 2019-07-17
    • 2014-12-23
    • 2018-02-17
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    相关资源
    最近更新 更多