Jenkinsでユーザー管理してみる

CentOSにJenkinsをインストールしてみる
の続き

今回試すケース

下記のユーザーを追加し、
・admin
・operator

Jenkinsの管理の権限とジョブの権限を
下記のように設定してみる。

項目 adminユーザー operatorユーザー 匿名ユーザー
Jenkinsの管理 不可 不可
JobA 全て可 ビルド可 ビルド可
JobB 全て可 ビルド可 参照のみ可
JobC 全て可 ビルド可 非表示



準備

とりあえず、ジョブJobA/JobB/JobCを作成する。

現状、誰でも、ジョブの実行し放題、Jenkinsの管理し放題な状態。


セキュリティの有効化

ユーザー管理をするには、セキュリティの有効化をする必要がある。

Jenkinsの管理ページを開き、[セキュリティを設定]ボタンをクリックする。


[セキュリティを有効化]にチェックを入れ、
ユーザー情報は[Jenkinsのユーザーデータベース]を選択する。

[ユーザーにサインアップを許可]にチェックが入っておると、
勝手にユーザーを作成されてしまうので、今回は外しておく。

他は、とりあえずデフォルトのままで保存する。

ユーザーの追加

次に、ユーザーを追加する。

Jenkinsの管理のページから、[ユーザー管理]をクリックし、


ユーザーページを表示する。


[ユーザーの作成]をクリックし、AdminユーザーとOperatorユーザーを作成する。


グローバルな設定

グローバルセキュリティの設定ページを開き、
[権限管理で[行列による権限設定(プロジェクト単位)]を選択し
adminユーザーとoperatorユーザーを追加する。


adminは全てにチェックを入れ、全権限を与える。
※右端のアイコンをクリックすると、全てにチェックが入ります。

operatorは、
・全体のRead
・ジョブのReadとBuild
にチェックをいれ、JenkinsのTopページ表示とジョブの実行・参照を可能にしておく。

匿名ユーザーは
・全体のRead
だけチェックを入れ、JenkinsのTopページ表示はできるようにする。

まだあまり試せてないので、他にもチェックを入れておいたほうがいいのがあるかも。

保存して、設定完了。

現状、ログインしないと、ジョブは表示されない。


operatorでログインすると、ジョブは表示されるが、Jenkinsの管理はできない。


adminでログインすると、Jenkinsの管理も可能になる。


ジョブごとの設定

adminでログインした状態。

JobAの設定

JobAの設定画面を開き、[権限設定(プロジェクト単位)の有効化]にチェックを入れ、
ジョブのReadとBuildにチェックを入れる。

まだあまり試せてないので、他にもチェックを入れておいたほうがいいのがあるかも。
JobBの設定

JobAの設定画面を開き、[権限設定(プロジェクト単位)の有効化]にチェックを入れ、
ジョブのReadにチェックを入れる。

JobCの設定

JobCは、匿名ユーザーには非表示にするので、設定は不要。



以上で、ジョブごとの設定完了。
ログアウトすると、
・JobAはビルド可
・JobBは参照のみ可
・JobCは非表示
になっているのが確認できる。