前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins安全配置/访问控制/审计 原

Jenkins安全配置/访问控制/审计 原

作者头像
donghui
发布2019-04-19 15:02:10
1.2K0
发布2019-04-19 15:02:10
举报
文章被收录于专栏:donghui的博客donghui的博客

Jenkins支持多种安全模型,并且能够与多种用户存储库集成。

Jenkins的安全配置:

系统设置→Configure Global Security

访问的页面为http://my.jenkins.server/configureSecurity/

勾选启用安全的复选框就可以在Jenkins中设置基本的安全。

Jenkins访问控制分为:安全域(即认证)与授权策略。

安全域决定Jenkins在认证的过程中从哪里寻找用户,默认包括的选项有:Jenkins专有用户数据库,LDAP,Servlet容器代理。

授权策略决定用户登录后可以做什么,默认包括的选项有:任何用户可以做任何事(没有任何限制),安全矩阵,登录用户可以做任何事情,遗留模式,项目矩阵授权策略。

说明:安全矩阵和项目矩阵授权策略的配置是一模一样的,唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略。

此外,还有一系列认证和用户管理相关的插件:

https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Authenticationandusermanagement

例如:通过Active Directory Plugin可以使用Microsoft Active Directory(即windows域账号)来进行认证,通过Crowd Plugin可以使用Atlassian Crowd来进行认证 ……

此外,如果没有可用的插件,Script Security Realm Plugin允许你使用自定义的脚本进行认证。

对于授权策略,除了默认的安全矩阵和项目矩阵授权策略,

Role Strategy Plugin提供了基于角色的授权策略,它允许你定义全局的和项目即的角色,并为用户分配相应角色。

关于用户的权限,作如下说明:

这一系列权限被分成几个组:Overall,Credentials,Slave,Job,Run,View,SCM

  • Overall:This group covers basic system-wide permissions:
    • Administer:Lets  a  user  make  system-wide  configuration  changes  and  other  sensitive  operations,  for example in the main Jenkins configuration pages. This should be reserved for the Jenkins administrator.
    • ConfigureUpdateCenter
    • Read:This permission provides read-only access to virtually all of the pages in Jenkins. If you want anonymous users to be able to view build jobs freely, but not to be able to modify or start them, grant the Read role to the special “anonymous” user. If not, simply revoke this permission for the Anonymous user. And if you want all authenticated users to be able to see build jobs, then add a special user called “authenticated”, and grant this user Overall Read permission.
    • RunScripts:Required for running scripts inside the Jenkins process, for example via the Groovy console or Groovy CLI command.
    • UploadPlugins
  • Credentials
    • Create
    • Delete
    • Manage Domains
    • Update
    • View
  • Slave:This group covers permissions about remote build nodes, or slaves:
    • Build: This permission allows users to run jobs as them on slaves.
    • Configure: This permission allows users to configure slaves.
    • Connect: This permission allows users to connect slaves or mark slaves as online.
    • Create: This permission allows users to create slaves.
    • Delete: This permission allows users to delete existing slaves.
    • Disconnect: This permission allows users to disconnect slaves or mark slaves as temporarily offline.
  • Job:This group covers job-related permissions:
    • Build: This permission grants the ability to start a new build.
    • Cancel: This permission grants the ability to cancel a scheduled, or abort a running, build.
    • Configure: Change the configuration of a job.
    • Create:Create a new job.
    • Delete: Delete a job.
    • Discover:This permission grants discover access to jobs. Lower than read permissions, it allows you to redirect anonymous users to the login page when they try to access a job url. Without it they would get a 404 error and wouldn't be able to discover project names.
    • Read:This permission grants read-only access to project configurations. Please be aware that sensitive information in your builds, such as passwords, will be exposed to a wider audience by granting this permission.
    • Workspace:This permission grants the ability to retrieve the contents of a workspace.Jenkins checked out for performing builds. If you don't want a user to access files in the workspace (e.g. source code checked out from SCM or intermediate build results) through the workspace browser, you can revoke this permission.
  • Run:This group covers rights related to particular builds in the build history:
    • Delete:Delete a build from the build history.
    • Update:Update the description and other properties of a build in the build history. This can be useful if a user wants to leave a note about the cause of a build failure, for example.
  • View:This group covers managing views:
    • Configure: This permission allows users to change the configuration of views.
    • Create:This permission allows users to create new views.
    • Delete: This permission allows users to delete existing views.
    • Read: This permission allows users to see views (implied by generic read access).
  • SCM:Permissions related to your version control system:
    • Tag:Create a new tag in the source code repository for a given build.

审计——跟踪用户的行为

除了配置用户的帐号和访问权限,跟踪用户的操作也是有用的。

这里有两个插件可以帮助你做这样的事情:

Audit Trail plugin将用户的更改记录在一个特殊的日志文件中,

JobConfigHistory plugin允许你保存Jenkins系统配置和Job配置文件以前版本的副本。

参考:

《the jenkins definitive guide》

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/06/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档