Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
複数Redmine環境におけるユーザ管理の効率化
Report
Yuuki Nara
Follow
Systems Engineer
Nov. 14, 2020
•
0 likes
0 likes
×
Be the first to like this
Show More
•
670 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
Redmine4時代のプラグイン開発 redmine.tokyo #13
Sho Douhashi
ある工場の Redmine 2021 ( Redmine of one plant 2021 )
Kohei Nakamura
Unofficial Redmine Cookingの紹介
Yuuki Nara
講演1 redmineの簡易crmとしての活用事例r2
Hidehisa Matsutani
RedMica 2.0 (2021-11) 新機能ハイライト
Go Maeda
はじめる! Redmine (2021年版)
Go Maeda
UnofficialCookingの紹介とRedmine本家への貢献
Yuuki Nara
US進出でのAndroid開発inメルカリ Mercari US App Development
Tomoaki Imai
1
of
17
Top clipped slide
複数Redmine環境におけるユーザ管理の効率化
Nov. 14, 2020
•
0 likes
0 likes
×
Be the first to like this
Show More
•
670 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Software
複数Redmine環境におけるユーザ管理の効率化 Redmine multi host-usermanagement
Yuuki Nara
Follow
Systems Engineer
Advertisement
Advertisement
Advertisement
Recommended
カテゴリのサブプロジェクト継承対応機能追加
Yuuki Nara
1.3K views
•
12 slides
Unofficial Redmine Cooking & unofficial-redmine.org 紹介 redmine.tokyo#21
Yuuki Nara
181 views
•
25 slides
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例
Yuuki Nara
168 views
•
25 slides
unofficial redmine 紹介 RedmineJapan2020
Yuuki Nara
1.7K views
•
25 slides
FileMakerでノーコード開発:Web入力自動化ツールを作ってみた
Takeshi Nakano
315 views
•
47 slides
Redmine本家コピー+投票サイト作成(Python-Redmine利用事例)
Yuuki Nara
2.8K views
•
30 slides
More Related Content
Slideshows for you
(16)
Redmine4時代のプラグイン開発 redmine.tokyo #13
Sho Douhashi
•
9.1K views
ある工場の Redmine 2021 ( Redmine of one plant 2021 )
Kohei Nakamura
•
2.8K views
Unofficial Redmine Cookingの紹介
Yuuki Nara
•
5.6K views
講演1 redmineの簡易crmとしての活用事例r2
Hidehisa Matsutani
•
7.7K views
RedMica 2.0 (2021-11) 新機能ハイライト
Go Maeda
•
3.6K views
はじめる! Redmine (2021年版)
Go Maeda
•
19.9K views
UnofficialCookingの紹介とRedmine本家への貢献
Yuuki Nara
•
11.8K views
US進出でのAndroid開発inメルカリ Mercari US App Development
Tomoaki Imai
•
27.8K views
ある工場と Redmine 2020
Kohei Nakamura
•
2.6K views
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Go Maeda
•
31.2K views
Redmine 4.1 / RedMica 1.0ユーザーのための RedMica 1.1 (2020-05)・ 1.2 (2020-11) 新機能ガイド
Go Maeda
•
2K views
Redmine.tokyo21 questionnaire
Jun Naitoh
•
1.9K views
Redmine issue assign notice plugin の紹介
onozaty
•
2K views
挫折しないRedmine (2022)
Go Maeda
•
950 views
社内LT資料 Backlogのご紹介
皓登 水上
•
2.1K views
Redmineのスマホアプリ RedminePM
project mode, Inc.
•
9.3K views
Similar to 複数Redmine環境におけるユーザ管理の効率化
(20)
View Customize Pluginで出来ること
onozaty
•
50.4K views
「dominoワークフローはここまで進化した!v12クラウドネイティブがもたらす新たなアプリ運用」ケートリックウェビナー2021.06.25
Kazunori Tatsuki
•
250 views
Kids,Ruby,Fun! ぼくたち、 Rubyプログラミング少年団! 〜小学生からはじめる Ruby プログラミング〜
宏治 高尾
•
5.2K views
Redmineをプラグインで拡張しよう
Haruyuki Iida
•
19.6K views
UE4.25新機能とTwinmotion 2020の紹介(オンライン【Unreal Engine Meetup Fukuoka】 2020/4/25)
エピック・ゲームズ・ジャパン Epic Games Japan
•
1.8K views
【19-B-5】出張!DDD難民救済キャンプ
kentaro watanabe
•
1.7K views
Line Creators Studio Android With Kotlin
LINE Corporation
•
2.9K views
Unofficial Redmine Cooking 闇鍋_デモ環境への発展
Yuuki Nara
•
4.4K views
Rxt study lt_jp#2
Yutaka KOGURE
•
6.7K views
Building Static Website With Github And Jekyll
Yoji Shidara
•
1.8K views
RedMica 2.2 (2022-11) 新機能ハイライト
Go Maeda
•
100 views
Efsta cod2012 master_for_slideshare
Takahito Sugishita
•
458 views
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
Takahito Sugishita
•
399 views
Embedded Webで加速するWeb of Things
Futomi Hatano
•
2.7K views
Webアプリ開発のトレンドとUIライブラリ開発事情(仙台Geek★Night #1)
masakazusegawa
•
1K views
私が作成したVoltアプリの紹介
Masahiko Miyo
•
222 views
Japan Container Day 2018
Yoshio Terada
•
57.1K views
【Redmine 4.2 を先取り】RedMica 1.1 (2020-05) 新機能ハイライト
Go Maeda
•
10.4K views
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
•
16.8K views
jus研究会名古屋大会「Redmineでプロジェクトを【見える化】しよう!」
Taku Yajima
•
154.7K views
Advertisement
Recently uploaded
(20)
①【布克大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
3 views
留信网认证可查【伊利诺伊理工学院文凭证书毕业证购买】
1lkjhg
•
2 views
在哪里可以做《俄克拉荷马大学文凭证书|毕业证》
lobd15
•
2 views
☀️《USD毕业证仿真》
jjkjkijk
•
2 views
☀️【伯明翰大学毕业证成绩单留学生首选】
25mjhd12
•
2 views
留信网认证可查【太平洋大学文凭证书毕业证购买】
hh123hh1
•
2 views
①【南十字星大学毕业证文凭学位证书|工艺完美复刻】
vgh215w
•
2 views
国外学历【约克大学研究生文凭毕业证留学生首选】
1w53dacxz
•
2 views
留信网认证可查【波恩大学文凭证书毕业证购买】
khh123kj
•
2 views
留信网认证可查【怀俄明大学文凭证书毕业证购买】
1lkjhg
•
2 views
留信网认证可查【威得恩大学文凭证书毕业证购买】
32lkhng
•
2 views
留信网认证可查【伯明翰大学文凭证书毕业证购买】
32lkhng
•
2 views
国外学历【麻省大学达特茅斯分校研究生文凭毕业证留学生首选】
534asdsa
•
3 views
在哪里可以做《邦德大学文凭证书|毕业证》
kjds1245
•
2 views
国外学历【奥克兰商学院研究生文凭毕业证留学生首选】
jsad789
•
2 views
①【萨斯喀彻温大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
Jitera Inc.Company presentation_v5.pdf
SoshiSuzuki2
•
170 views
☀️【波恩大学毕业证成绩单留学生首选】
bjd42as
•
2 views
留信网认证可查【艾格伍学院文凭证书毕业证购买】
32lkhng
•
2 views
留信网认证可查【奥克兰大学文凭证书毕业证购买】
ihh14ds
•
2 views
複数Redmine環境におけるユーザ管理の効率化
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 1 複数Redmine環境における ユーザ管理作業の効率化 2020/11/14 redmine.tokyo 第19回勉強会 @y503unavailable
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 2 自己紹介 • 名前:奈良 裕記 ( y503unavailable <- httpエラーコード503) – 製造業で開発部署のadminしてます。 • RedmineTokyoスタッフ unofficialcooking カスタマイズ情報サイト担当 – https://redmine.tokyo/projects/unofficialcooking • Kindle本やYoutube動画も作成、unofficial-redmine.org – https://www.slideshare.net/y503unavailable/unofficial-redmine-japan2020 • 6年前にRedmineサーバ統合を実施 (この時のDB構造知見が今回役に立った) – https://www.slideshare.net/y503unavailable/redmine-42182169
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 3 お断りと連絡先 • 本LTの内容はPoC段階であり無保証です。(普段よりも) • 実施時は自己責任でお願いします。 ご意見・ご提案などは Redmine.Tokyoのunofficialcookingまでお願いします。 https://redmine.tokyo/issues/1188 画面デモなど希望あれば、ユーザディスカッションの#1か懇 親会で声掛けてください。
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 4 Redmineは1台で足りますか? • 大規模運用で数百人/複数部署/複数用途で利用する場合、 1台のRedmine内に無理やり押し込んで運用するより、 複数のRedmineサーバに分割する方が運用し易い。 – 1台のRedmineの中でシステムレベル設定項目の使い分けは困 難。ユーザ間調整も面倒。 – Redmineの利用状況、利用者間の関係、admin間の関係、現場 差異、現場モチベーション –無理に統合 << 分割+統合管理仕組
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 5 Redmineの設定項目分類 区分 設定者 内容 システム単位の設定 Redmine管理者 トラッカー、ロール、ワークフロー、ステータス、カ スタムフィールド定義、用語定義、ユーザグループ定 義、その他システムレベル設定 Project単位の設定 PJ管理者 プロジェクト階層毎設定、バージョン、カテゴリ、メ ンバー ユーザ設定 各ユーザ 名前、パスワード、管理者権限、言語設定など システム単位の設定項目は、Redmine管理者のみが設定できる。 つまり、サーバの統合により、Redmine管理者の権限が無くなると、従来 行えていたシステムレベルの管理作業が行えなくなる。 (本表の対象は設定項目のみ、チケット/変更記録/活動は除外した。)
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 6 複数Redmine運用時の課題と改善案 • 単に複数Redmineを運用するだけなら苦労しない。 • しかしRedmine間で内容を連携し活用、組織単位などで集計したい場合、 運用負荷がn倍になる。 • 課題例 – 人事異動対応/各サーバ毎実行必要(人事異動/新人/退職) – 組織/ユーザ単位の利用状況集計作業が面倒 (ユーザID/組織グループがサーバ毎に異なるため、余計な変換作業が発生) • 改善案 – サーバ間でユーザとグループの定義内容の同一性を確保する。 – 変更内容を自動反映する(名前、パスワード変更、無効化、所属変更) – Redmine自体の機能で実現する必然性は無い。データはDB上だからDBの機能で実現すれば良い。
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 7 実現手法 下記手順により対応した(DBのテーブル単位複製) 1. Redmineをprimary/secondary(複数可)に分ける。 2. ユーザ/グループ定義の変更作業はprimaryのRedmineでのみ実施 (各個人またはシステム管理者の設定) 3. secondary側は、ユーザIDを追加不可の設定にする。 管理/設定/認証/ユーザーによるアカウント登録-無効 4. DBのテーブル単位複製機能を利用 – primary上のユーザ定義/グループ定義情報の変更のみを、secondaryに複製する。(DB設定) – (usersと users-groupsテーブル) – secondary側のreadonly指定は実施しない primary secondary users,users-groupsのみ複製
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 8 一応動いた ・動作確認内容 ユーザ/グループ定義が正しく反映されることを確認した 1. primary側のユーザ名を変更、secondary側を再表示し反映済確認 2. secondary側ユーザ名を変更、primary側を再表示し反映無確認 3. primary側ユーザ名を再度変更、secondary側を再表示し反映済確認 4. primary側グループ登録内容を変更、 secondary側を再表示し反映済確認 • 試行環境 – CentOS7,MariaDB10,Redmine4.1-trunk(unofficial-redmine版) – DB設定手順は本資料末尾の参考資料を参照 users,users-groupsのみ複製 primary secondary
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 9 ご利益と落とし穴 • 本設定による利点 – Redmineのユーザ/グループ定義作業箇所を一か所に集約した。 (人事異動対応作業効率化) – Redmineサーバ間のデータ分析、連携が容易になった。 • 問題点と対応 – 単にDBで設定内容を一元管理しただけなので、 問題点(+対策案)は勿論ある。 (次頁以降) users,users-groupsのみ複製
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 10 問題点と対策1 primaryへのログイン時、secondaryの最終ログイ ン日時が変更される。ユーザ使用状況把握困難 対策 ・primary側のソースを変更し更新させない – models/user.rb: def update_last_login_on! パスワード/名前変更時には変更されてしまうが、 大規模環境ならAD利用で直接変更しないのでは? 原因 users.last_login_on (最終ログイン日時)も複製されるため
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 11 問題点と対策2 各secondaryのみのシステム管理者権限を設定できない secondary管理者へのprimary管理者権限設定は不可 対策案(未検証) • secondary内でDBのレプリケーショントリガーを利用し、 usersテーブル更新時に、特定IDにadminを強制設定する • 定期的にsqlでupdateする。(頻繁な変更は無い筈) システム管理者権限のフラグは、users.adminであり、 primaryの内容が当然複製される。
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 12 問題点と対策3 secondary側で、ユーザ情報・グループ定義情報の 変更/追加/削除操作が可能だが primary側更新で,ユーザ情報上書/グループ定義破損する。 対策 運用で対処(危険) secondary側のソース変更し更新操作させない Viewcustomizeでメニューから項目削除 特定ユーザに対して一部管理者メニューを非表示にする https://github.com/onozaty/redmine-view-customize-scripts/blob/master/hide_part_of_admin_menu.js 原因 グループ定義は、グループ定義中ユーザ単位のレコードのため
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 13 問題点と対策4 他にも問題点あるかもしれない(未検証) 二要素認証のusers.twofa_totp_last_used_at など心配 各環境で検証お願いします。本LTはPoC段階の提案です。 原因 usersテーブル内に、定義情報とサー バ内動的情報が同居している以上不可避
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 14 追加対応1 特定グループ定義の編集権限のみ移譲したい – 一部のグループ定義が、頻繁に変更される。 (特定secondaryのみ利用) – SEC&作業負荷面から、当該グループ定義の変更権限 のみをsecondary管理者に委譲したい。 対策 – 下記手法で外部の専用コマンドを作成する。 (特定グループIDのみ変更可能にする) – 【Redmine】Python で Redmine CLI ツールを作ってみる! https://mlog.wlaboratory.com/entry/category/tools/redmine/python-redmine-cli
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 15 追加対応2 ユーザ・グループ定義以外の、 他のシステムレベル定義項目も共通化したい 参考資料(DB設計) • RedmineのDB設計参考資料(サーバ統合事例)https://www.slideshare.net/y503unavailable/redmine-42182169 • Redmineデータベースのテーブル構造を紐解いてみるhttps://docs.google.com/presentation/d/e/2PACX- 1vSGC3DEnLZqAEs4zRmkCsrEz4m3Uj0qo0fiMHi2JexyVYUdV6wjoUftoIhhVTc1C- r_6lJDDOBuafvu/pub?start=false&loop=false&delayms=3000&slide=id.p 対策 システムレベル項目の各テーブルも、テーブル単位で複製すれば良い。 (トラッカー,ステータス,ロール,ワークフロー,カスタムフィールド) trackers, issue_statuses , roles,roles_managed_roles, workflows, custom_fields,custom_fields_roles,custom_fields_trackers,
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 16 参考文献(DB複製関連) 具体的なDB設定手順は、下記など参照してください。 • [MySQL][MariaDB] DBのレプリケーション構築手順 – https://qiita.com/suzutsuki0220/items/e5be03ea8f44ad2f6533 • Replication Filters – https://mariadb.com/kb/en/replication-filters/ • スレーブのレプリケーションフィルターについて – https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0088 • mariadbのスレーブトリガーを試してみる。(slave_run_triggers) – https://qiita.com/sand_bash/items/b6169757e7d32df88467 • postgresql-10以降でテーブル単位の複製が可能(ロジカルレプリケーション) – https://oss-db.jp/dojo/dojo_column_01 • 論理レプリケーション – https://www.postgresql.jp/document/11/html/logical-replication.html 今回の/etc/my.cnf 追加内容(参考) 複製元Redmine [mysqld] log-bin server-id=1 expire_logs_days=5 replicate-do-table=redmine.user replicate-do-table=redmine.groups_users 複製先Redmine [mysqld] server-id=2 replicate-do-table=redmine.users replicate-do-table=redmine.groups_users 接続状況確認 show slave status; show master status;
2020/11/14 第19回redmine.tokyo 勉強会
複数Redmine環境におけるユーザ管理作業の効率化 @y503unavailable 17 御清聴ありがとうございました • 各自のRedmine運用に、多少なりとも役に立て ば幸いです。 • Redmineはオープンソースソフトです。 –協力して育成&利用していきましょう。 ユーザ会はそのための場所です。 • ご意見、内容指摘の連絡先 redmine.Tokyo UnofficialCooking unofficial-redmine.org y503unavailable@ twitter, slack
Advertisement