くらめその情シス:ユーザー管理(Active Directory)について語ってみようか
はじめに
こんにちは植木和樹@上越妙高オフィスです。本日はクラスメソッドの情報システムについて書いてみたいと思います。
私が入社したのが2013年5月で、当時は社員数は40人ほど、拠点も秋葉原本社1つのみでした。 入社から5年が経過した現在、社員は200名強、拠点は札幌・岩本町・大阪・福岡・上越・那覇などの国内拠点に加え、海外拠点もベルリンとバンクーバーと拡大してきました。
社員や拠点が増加することで、これまで少人数では十分だった仕組みや体制では運用に耐えられなくなる点がでてきます。
私が所属するIT推進室は2017年7月に正式に開始された部門で、情シス・経理・労務・営業・マーケといった部門にツールやサービスを展開し、業務を見直すことで効率的な事業・業務が行えることを支援しています。この1年でいろいろと取り組みをしてきたので、これまでと今を振り返りつつ、現在の課題と今後の施策をまとめておこうと思います。
今回は「ユーザー管理」についてです。
ユーザー管理システム
Active Directory
ユーザー管理にはActive Directory(AD)を利用しています。
クラスメソッドは元々JavaやFlexの受託開発がメインだったということで、Windows機がほとんどでした。また拠点も本社1箇所のみ、リモートワークもそれほど積極的には行われてこなかったようです(VPNはあった)。
そのため社内のサーバー室に物理サーバー2台用意し、それぞれADのプライマリとバックアップとして稼働させていました。うち1台はファイルサーバーも兼ねています。
G Suite (Google Apps)
メールはGmailを利用しています。
GmailのユーザーはActive Directoryとは特に連携しておらず、入社時にADのユーザーと共にユーザーを作成してきました。
ちなみにG Suiteへのログインにはサテライトオフィスという(IdP:認証プロバイダー)サービスを利用しており、実際のユーザー認証はこちらで管理しています。つまりG Suiteに加え、サテライトオフィスにもユーザーを作成してあげる必要があります。(G Suite自体のユーザーとパスワードは一般社員には公開されていません)
5年間のできごと
2018年現在、社内パソコンの7割がmacOSになりました。
社内チャットやWikiなど業務で利用するサービスやサービス(SaaS)がたくさん増えました。そのため各サービスごとにユーザーを追加、削除する業務負荷が高くなってきました。特にここ数年は毎月毎月メンバーが入社するため、どうにかこの負担を減らすことが求められました。
またセキュリティの観点でも検討が必要になりました。利用するサービスが増えたため、仮にPCの紛失・盗難や、社員の退職等があったときにも即時に各サービスの権限を剥奪(または一時停止)するのが困難な状況でした。
2014年にADサーバー2台をサーバー室からEC2に引っ越しました。
実施した施策と今
Active Directoryとサテライトオフィスをメインとしたユーザー管理の仕組みは変わっていません。
2015年(?)にサテライトオフィスが提供するサービスがリニューアルされたため、これと合わせてADとサテライトオフィスのユーザーを同期する仕組みを導入しました。これによりADにユーザーを追加すれば自動的にサテライトオフィスにもユーザーが作成されるようになりました。またADのユーザーをロックすればサテライトオフィスのユーザーも一時停止できるようになりました。
ユーザーを一元管理できるようになったことから、サテライトオフィスを利用したシングルサインオン(SSO)も導入しています。各種サービスがSAMLによるSSOに対応していれば、サテライトオフィスにログイン済であれば、ユーザーはログイン不要でサービス(例えばSalesforceやSansanなど)を利用することができます。対応サービスを順次展開中です。
AWSのWorkspaces等を利用するため、社内ADとAWS Directory Serviceの間はAD Connectorを利用して連携しています。
またMicrosoft オフィスのライセンスをOffice365に移行したため、社内ADとAzure ADの間もAD Connectorを利用して同期しています。
なお社内チャット(Chatwork)については、もしパスワード忘れなどでADにログインできなくなった場合にメール等々が一切使えず連絡手段がなくなるという事情から、SSOの対象外としています。
課題と今後について
ユーザーを一元管理できるようになり、ユーザーの追加・削除の手間が減りました。また社員からもSSOでログインが楽になったと好評なようです。
しかし課題も残っています。
課題1:ユーザーの新規作成と削除
サテライトオフィスで行っているのはあくまでログイン(サインオン)部分だけです。各サービスのユーザー登録は個別に行わなければなりません。
各サービスで「ユーザーの自動プロビジョニング」という、初回ログイン時にユーザーがいなければ作成する、という機能が提供されている場合もあります。ただサービスによって対応・非対応がマチマチです。そのためいまは個別に作成する運用にしています。
課題2:権限(グループ)の管理
認証をSSOで行った後、そのユーザーがどんな権限を持つかはサービス毎に管理しています。
Wikiページ、gitリポジトリ、メーリングリスト等々、サービスによってグループ分けや与えたい権限(参照のみ、変更可)は変わってくるものです。
本当はADのグループで一元管理しつつ各サービスにグループを同期して権限管理ができればいいのですが、上記理由から行っていません。
権限の一元管理をするには厳密で明文化された組織や職務の管理が必要になります。本当はやった方がいいし、今後の会社の成長を考えるとやるべきなんでしょうけど、なかなか難しい。
課題3:端末認証
万が一ユーザーのパスワードが漏洩した場合にも、会社で認められたパソコンからでないとログインができないようになっていれば更に安全です。
またWindowsやmacOSのログインが認証プロバイダーと同期できれば、パソコンにログインすれば各種サービスが利用できるようになります。なったらいいな。
まとめ
社員や拠点の増加、macOS端末の増加、利用サービスの増加に伴いユーザー管理を方法を見直してきました。
各サービス毎にユーザーを管理するのではなく、ログイン情報は一箇所にまとめ、そこのセキュリティを強化することで情報漏洩を防ぐ方針で行っています。
ただ管理という点ではまだ道半ばです。
- OneLoginやAzure ADなど、より高度で監査機能も許可された認証基盤の利用
- 指紋など生体認証の利用検討
- OSパッチやアンチウイルスソフトが最新状態になっていなければシステムの利用を許可しないなど取り組み
- 不審なログイン(失敗)履歴の検出や通知
など取り組むべき課題はまだまだあります。
弊社の情報システムにご興味のある方、「ユーザー管理はオレに任せろ!」と自負する方、ぜひお問い合わせください。