LoginSignup
2
5

More than 3 years have passed since last update.

JenkinsログインユーザをOS認証に変更する方法

Last updated at Posted at 2019-06-02

エンタープライズ環境では、セキュリティ要件からOSやミドルウェア(MW)ユーザのパスワードについて定期的な変更運用が求められることがあると思います。
OSに関しては企業内で利用する種類も限定的であり、パスワード変更の仕組みも標準化が比較的容易であると考えますが、MWに関しては利用するMW毎に独自のGUIやCLIが存在し、それぞれ独自にパスワード変更の仕組みを作る必要が出てきます。
MWユーザの認証方式をOS認証にする事ができれば、OSのユーザ管理ポリシーと平仄を合わせる事ができ、管理負荷を削減する事が可能です。
以下では、Jenkinsのログインユーザ(管理ユーザ)の認証をOS認証に変更する方法と動作確認した内容を記載します。

記載内容

  1. 環境情報
  2. Jenkinsのセットアップ
  3. Jenkinsの初期設定(GUI)
  4. Jenkinsの認証関連の確認
  5. JenkinsのMWユーザの認証をOS認証に変更

1. 環境情報

環境情報
[root@localhost ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.6 (Maipo)
[root@localhost ~]# 
[root@localhost ~]# uname -a 
Linux localhost.localdomain 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 15 17:36:42 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# 

2. Jenkinsのセットアップ

Jenkins公式サイトの手順に従いJenkinsのRPMのダウンロード&インストール

yumリポジトリにJenkinsのリポジトリを追加
[root@localhost ~]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
RPMパッケージの公開鍵をインポート
[root@localhost ~]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Jenkinsのインストール
[root@localhost ~]# yum install jenkins
Jenkinsの起動&起動確認
[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# 
[root@localhost ~]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since 日 2019-06-02 15:05:24 JST; 6s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3925 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
    Tasks: 25
   CGroup: /system.slice/jenkins.service
           └─3944 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=tr...

 6月 02 15:05:22 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
 6月 02 15:05:22 localhost.localdomain runuser[3930]: pam_unix(runuser:session): session opene...0)
 6月 02 15:05:24 localhost.localdomain jenkins[3925]: Starting Jenkins [  OK  ]
 6月 02 15:05:24 localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]#

3. Jenkinsの初期設定(GUI)

初回ログイン

スクリーンショット 2019-06-02 15.15.42.png

初回ログイン時のパスワードは以下ファイルに記載されている

/var/lib/jenkins/secrets/initialAdminPassword

ユーザの作成

スクリーンショット 2019-06-02 15.18.51.png

初期インストールプラグインの設定

スクリーンショット 2019-06-02 15.16.36.png

環境ログイン

スクリーンショット 2019-06-02 15.20.01.png

4. Jenkinsの認証関連の確認

Jenkinsコンソールから認証情報の確認

スクリーンショット 2019-06-02 15.27.12.png

初回ログイン時に作成したjenkinsユーザのみ存在

OSユーザの確認

[root@localhost ~]# cat /etc/passwd | grep jenkins
jenkins:x:993:989:Jenkins Automation Server:/var/lib/jenkins:/bin/false
[root@localhost ~]# 

初回ログイン時に作成した「jenkins」ユーザがOSユーザとしても存在

OSユーザ「jenkins」のパスワードを変更し、Jenkinsコンソールに入れるか確認

[root@localhost ~]# passwd jenkins
ユーザー jenkins のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@localhost ~]# 

Jenkinsに変更したパスワードでGUIログイン

スクリーンショット 2019-06-02 15.36.15.png

OS上で変更したパスワードではログインできない

スクリーンショット 2019-06-02 15.36.29.png

5. JenkinsのMWユーザの認証をOS認証に変更

Jenkinsコンソールから以下の設定変更を実施

[Jenkinsの管理] > [グローバルセキュリティの設定] > [ユーザ情報]
「Unix user/group database」に変更
スクリーンショット 2019-06-02 15.45.01.png

OS上で変更したパスワードでログインできる事を確認

スクリーンショット 2019-06-02 15.45.38.png
スクリーンショット 2019-06-02 15.45.50.png

初回ログイン時にJenkinsのGUIで設定したパスワードではログインできない事を確認

スクリーンショット 2019-06-02 15.51.18.png

スクリーンショット 2019-06-02 15.51.29.png

上記の通り設定変更する事で、JenkinsのMWユーザのパスワード管理をOSユーザのパスワード管理の仕組みに合わせる事が可能になると思います。
内容に誤り等があればご指摘ください。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5