- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
参考文档: https://docs.sonarqube.org/latest/instance-administration/security/ 。
SonarQube具有许多全局安全功能
除此之外,还可在group/user级别配置
安全性的另一个方面是对密码等设置进行加密。SonarQube提供了一种内置的机制来加密设置.
https://docs.sonarsource.com/sonarqube/latest/instance-administration/security/#authentication 匿名用户是否可以浏览SonarQube实例?当然不行!那就需要强制用户认证.
强制用户身份验证可防止匿名用户通过Web API访问Sonar Qube UI或项目数据。一些特定的只读Web API,包括提示身份验证所需的API,仍然可以匿名使用。 禁用此设置可能会使实例面临安全风险.
可通过多种方式来管理认证机制
当你在SonarQube数据库中创建用户时,他将被视为本地用户,并且针对SonarQube自己的user/group数据库进行身份认证,而不是通过任何外部工具。 默认情况下,admin是本地账户。 同样,所有非本地(non-local)账户将仅针对外部工具进行身份认证.
管理员可以管理所有用户的 Tokens ——创建和删除。一旦创建,Token就是运行分析所需的唯一凭证,作为sonar.login属性的值来传递.
当安装SonarQube时,会自动创建具有管理系统权限的默认用户: user: admin/passwd: admin 。
如果你修改了管理员密码,但又忘记了
USE sonar;
update users set crypted_password ='$2a$12$uCkkXmhW5ThVK8mpBvnXOOJRLd64LJeHTeCkSuB3lfaR2N0AYBaSi',
salt=null,
hash_method='BCRYPT'
where login ='admin'
如果您删除了管理员并随后锁定了具有全局管理权限的其他用户
insert into user_roles(uuid, user_uuid, role)
values ('random-uuid', (select uuid from users where login='mylogin'), 'admin');
在SonarQube中实现授权的方式是非常标准的。可以根据需要创建任意数量的用户和用户组。然后,可以将用户附加到(或不附加)到(多个)组。然后向组和/或用户授予(多个)权限。这些权限授予对项目、服务和功能的访问权限。 对不同组、不同用于仅限权限分配,以访问不同的资源.
用管理员账号登录SonarQube,打开Administration > Configuration > General Settings > Security,开启Force user authentication,点击Save保存生效。 开启该选项后,不允许匿名运行mvn sonar:sonar代码扫描,必须提供SonarQube Token.
用管理员账号登录SonarQube,打开Administration > Projects > Management,修改Default visibility of new projects为private.
这样新建项目后,只有该项目的授权用户才能看到该项目的代码。 对已有的项目,打开项目级别的Adminstration > Permissions,手工修改项目可见性.
用管理员账号登录SonarQube,打开Administration > Security > Global Permissions,去掉Anyone组的所有权限。 最新版本(v10.2.1.78527)AnyOne组已废弃 。
用管理员账号登录SonarQube,打开Administration > Security > Permission Templates,打开Default template,去掉Project Creator的所有权限.
用该用户登录SonarQube,打开MyAccount > Security,来生成一个Token。 在按项目作多租户隔离的场景,需要为每个项目在SonarQube上创建一个用户,并使用该用户的Token来作代码扫描.
用管理员账号登录SonarQube,打开项目级别的Adminstration > Permissions,选择Users,输入用户名称查询,然后设置该用户权限.
在按项目作多租户隔离的场景,需要为每个项目在SonarQube上创建一个用户,并设置只有该用户才有相应权限.
https://docs.sonarsource.com/sonarqube/latest/instance-administration/security/#permission-templates-for-default-permissions 。
SonarQube附带默认权限模板,该模板在创建项目,项目组合或应用程序自动授予特定组的特定权限。管理员可以编辑此模板.
使用sonar扫描新项目后,如果要做角色管理,可以在sonarqube控制台为项目指定权限模板以分配角色权限,但是每次扫描新项目都通过手动添加,特别是项目多的情况下,显然是不方便的.
sonarqube在创建新权限模板的时候,提供了Project Key Pattern(项目标识模式)功能,可以通过其正则表达式将权限模板自动授予到project_key符合的项目 。
.* 表示匹配0到多个字符(ps:这里与常见的正则表达式的模糊匹配(*)方式不同,[a,b] 匹配域内任意字符.
如:
.*test.* 可以匹配project key为:citestpipe,ci-test-pipe等形式的项目
.*[-,_]test.* 可以匹配project key为:ci-test-pipe,ci_test等形式的项目
use the "Create" button on Administration > Security > Permission Templates. It is possible to provide a Project key pattern . 。
特别注意:
如果之前没有进行这样的设置,过去创建的扫描项目不会默认继承这样的关系,必须重新手动进行授权。 官方解释:
虽然模板可以在项目创建后应用,但将包含 Creators 权限的模板应用于现有项目/项目组合/应用程序不会向项目的原始创建者授予相关权限,因为该关联未存储。** 请注意,项目和权限模板之间没有关系,这意味着:
3. 为模板设置用户/用户组的角色权限 。
权限模板设置完成后,新扫描的项目,只要project key匹配正则规则的,就会自动分配角色权限了,不需要再手动通过“ 配置-项目-项目管理 ”设置了 。
最后此篇关于SonarQube系列-认证&授权的配置的文章就讲到这里了,如果你想了解更多关于SonarQube系列-认证&授权的配置的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我只是不喜欢 Logback 的 XML 或 Groovy 配置,而更喜欢用 Java 进行配置(这也是因为我将在初始化后的不同时间在运行时更改配置)。 似乎对 Logback 进行 Java 配置的
我的 sphinx 配置是: ================================ config/sphinx.yml development: bin_path: "/usr/loc
我们计划在生产服务器中部署我们的系统。我有兴趣了解更多有关优化网站性能的信息。 Sitecore 有哪些优化建议? (缓存,网络配置中的其他设置) 我们可以在 IIS 中做哪些优化? 找不到关于这些主
我有一个 Django 应用程序,可以处理网站的两个(或更多)部分,例如网站的“admin”和“api”部分。我还为网站的其余部分提供了普通的 html 页面,其中不需要 Django。 例如,我希望
我刚刚开始研究Docker。我有一个 Node 应用程序,可以调整大小和图像,然后在完成后向 aws 发送 SQS 消息。我已成功创建应用程序的 docker 镜像,并从本地计算机复制它,但遇到了无法
如何配置 checkstyle(在 Ant nt Maven 中)任务?我尝试了一点,但没有正确收到报告。这是我的 Ant 脚本。
我正在使用 Quartz 和 Spring 框架重写一个遗留项目。原始配置是 XML 格式,现在我将其转换为 Java Config。 xml 配置使用 jobDetail 设置触发器 bean 的作
tl;rd: 使用主键对数据库进行分区 索引大小问题。 数据库大小每天增长约 1-3 GB 突袭设置。 您有使用 Hypertable 的经验吗? 长版: 我刚刚建立/购买了一个家庭服务器: 至强 E
在安装 gcp 应用程序后,我们尝试使用 GCP 的图形 api 配置 Azure Active Directory saml 配置。我们正在遵循相同的 AWS graph api saml 设置 U
我刚刚了解了 spring security 并想使用 java hibernate 配置连接到数据库,但我发现的示例或教程很少。我通过使用 xml 配置找到了更多。我在这里使用 Spring 4.0
我们最近切换到 Java 8 以使用 java.time API(LocalDate、LocalDateTime,...)。因此,我们将 Hibernate 依赖项更新到版本 4.3.10。我们编写了
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《quarkus实战》系列的第六篇,咱
我是 NGINX 的新手,我正在尝试对我们的 ERP 网络服务器进行负载平衡。我有 3 个网络服务器在由 websphere 提供支持的端口 80 上运行,这对我来说是一个黑盒子: * web01.e
我们想使用 gerrit 进行代码审查,但我们在 webview 中缺少一些设置。 是否可以禁止提交者审查/验证他们自己的 提交? 是否有可能两个审稿人给 +1 一个累积它 到+2,以便可以提交? 谢
配置根据运行模式应用于 AEM 实例。在多个运行模式和多个配置的情况下,AEM 如何确定要选择的配置文件?假设以下配置在 AEM 项目中可用, /apps /myproject - con
我正在使用 Neo4j 服务器。我遇到了负载相对较低的问题。但是,响应时间相当长。我认为为请求提供服务的线程数太少了。有没有办法调整为 HTTP 请求提供服务的线程池的大小。那可能吗? 最佳答案 线程
我在/etc/default/celeryd 中有以下配置 CELERYD_NODES = "worker1 worker2 worker3" CELERYD_CHDIR = "path to pro
Plone 在其页面中显示来 self 的母语(巴西葡萄牙语)的特殊字符。但是,当我使用我创建的 spt 页面时,它会显示转义序列,例如: Educa\xc3\xa7\xc3\xa3o 代替 Educ
我正在尝试开始使用 Emacs/Clojure。安装 emacs 扩展的正确方法是什么。我正在尝试安装以下插件: https://bitbucket.org/kotarak/vimclojure 我已
我有一个简单的 C 项目结构: proj/ src/ docs/ build/ tests/ lib/ 尝试编写合适的 CMake 文件。 到目前为止我的尝试:http://pas
我是一名优秀的程序员,十分优秀!