Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Active Directory #TechLunch
Search
Livesense Inc.
PRO
September 03, 2014
Technology
2
120
Active Directory #TechLunch
Active Directory
2014/9/3 (水) @ Livesense TechLunch
発表者:吉田 航
Livesense Inc.
PRO
September 03, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
6
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
13
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.4k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
380
26新卒_総合職採用_会社説明資料
livesense
PRO
0
8.7k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
26k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
12k
中途セールス職_会社説明資料
livesense
PRO
0
250
EM候補者向け転職会議説明資料
livesense
PRO
0
120
Other Decks in Technology
See All in Technology
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
150
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
5min GuardDuty Extended Threat Detection EKS
takakuni
0
110
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
120
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
140
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
180
A2Aのクライアントを自作する
rynsuke
1
170
How Community Opened Global Doors
hiroramos4
PRO
1
110
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
120
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
330
実践! AIエージェント導入記
1mono2prod
0
150
BrainPadプログラミングコンテスト記念LT会2025_社内イベント&問題解説
brainpadpr
1
160
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Statistics for Hackers
jakevdp
799
220k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Code Review Best Practice
trishagee
68
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Music & Morning Musume
bryan
46
6.6k
Transcript
Active Directory TechLunch at 2014/9/3 by Wataru Yoshida
今更ながらの自己紹介 • 吉田 航 • 2013年1月入社 • いわゆる社内SE的なお仕事 • 職歴
• 某大手SIerに8年在籍 インフラエンジニア 3年:NW機器とかサーバとか触ってました アプリケーションSE 3年:C#とかMSSQLとか触ってました 情報システム部門 2年 :いろいろ触ってました 2
やってきたお仕事 3 2013年2月 電話システム リプレース 2013年4月 Active Directory導入 2013年5月 社内システム用サーバー移設
2013年7月 無線LANリプレース、SSL-VPN導入 2013年9月 オフィス増床(久米ビル) 2013年11月 confluenceリプレース 2014年2月 消費税増税対応 2014年3月 JIRA導入 2014年4月 Google Apps導入、Gmail移行 2014年6月 オフィス増床(IKビル) 他にも組織変更対応、アカウント管理、内部統制対応、中間DBの改修など
本日のテーマ 4 Active Directory
5 1.Active Directory概要 2.Active Directory応用その1 3.Active Directory応用その2
Active Directoryとは • LDAPをベースとした、Microsoft製のディレクトリ サービス • Windows 2000 Server ではじめて搭載された
• 前身はWindows NTドメイン • 略してAD 6
LDAPとは • LDAP(Lightweight Directory Access Protocol) • ディレクトリサービスにアクセスするためのプロトコル • ディレクトリサービス
• ユーザーアカウントやコンピュータアカウント等の 情報を集約し、照会する機能を提供するサービス • 製品例 • OpenLDAP • Active Directory 7
LDAPのイメージ 8 ・ローカルにユーザーを持たず、LDAPでユーザーを一元管理 ※ホームディレクトリはローカルに保持し、認証のみをLDAPに任せる
Why Active Direcory ? • Windows製品との親和性 • グループポリシー(後述)が非常に強力 • デファクトスタンダード
• 連携できる製品が非常に多い • 管理が容易、ドキュメントも豊富 • MS製品にしてはよく出来てる • 高可用性&高安定性 • Windows Serverの標準機能(=無料!) 9
Active Directory導入のメリット • アカウント管理の負荷低減 • 入社、退社の際のアカウントメンテ • 管理者によるアカウントの無効化、パスワードリセット • Active
Directoryを認証基盤として活用 • 統制の強化 • パスワードポリシーの強制 • グループポリシーによる設定の統一 10
Active Directory導入前のリブセンス • 全PCのローカルユーザーのパスワードをExcel管理 • Pマークの運用で年1回のパスワード変更が必要 • 江原さんが全PCのパスワードを変えて回っていた(らしい) • 入社時のアカウント発行が苦行
• 当時のNASやブラウザチェック環境は、それぞれに同じID/PWの ローカルユーザーを登録していた • 「PCのパスワードが分からなくなった」 • 「ご愁傷様です」 11
12 これは早めにActiveDirectoryを 導入しないと死ぬ
Active Directory導入 • 速攻ActiveDirectoryを導入 • Windowsだけでなく、MacもADに登録 • ついでに無線LANの認証もAD連携させる • SSL-VPNの認証もADに任せちゃう
13
構成図 14
Active Directoryの画面(サーバ) 15
Active Directoryの画面(クライアント) 16
Active Directoryの画面(クライアント) 17
18 1.Active Directory概要 2.Active Directory応用その1 3.Active Directory応用その2
Active Directoryによる認証 • ADではアカウントをグループで束ねて管理することが可能 • グループはネスト可能 • NTFSアクセス権をADのグループで設定 • 組織変更が発生した際も、ADのグループをメンテするだけでOK
• 無線LANやSSL-VPNの認証もADのグループを利用 19
Active Directoryによる認証 20 NTFSアクセス権
Active Directoryによる認証 21
Active Directoryによる認証 無線LAN、SSL-VPN 22
グループポリシー • WindowsやOffice等の設定を強制配布する機能 • グループポリシーで配布された設定は、ローカルの設定 で上書きすることができない • 実際に配布している設定 • Windows
Updateの設定 • 無線LANの設定+証明書配布 • Officeの各種設定 • ログイン、ログオフスクリプト など • Windows以外のOSには適用不可 23
グループポリシーの設定画面 24 アルバイトPCから 外部媒体への書き込みを禁止
25 1.Active Directory概要 2.Active Directory応用その1 3.Active Directory応用その2
LDAPクエリ • ADが管理者にとって便利ということは分かった • 利用者側で何かに活用できないの? • ADの情報を他のシステムから参照したい • LDAPクエリによる問い合わせが可能 26
LDAPクエリ • LDAPクエリ • LDAPに問い合わせを行うためのクエリ • LDAPクエリの構文や基本的なアトリビュートは製品に 関わらず共通(RFCで定義されている) • 主要な言語であればLDAP用のライブラリが用意されて
いる 27
LDAPクエリ • RubyからActiveDirectoryにアクセスしてみる • ActiveRecordっぽくLDAPオブジェクトを 扱える”ActiveLdap”を使ってみる • 必要なgemのインストール 28 $
gem install net-ldap $ gem install activeldap
LDAPクエリ 29 HOST_IP_V4 = '192.168.20.221' BIND_BASE = 'ou=RootOU,dc=ad,dc=livesense,dc=co,dc=jp' BIND_USER =
'cn=200071,ou=Common,ou=User,ou=RootOU,dc=ad,dc=livesense,dc=co,dc=jp' BIND_USER_PASSWORD = 'hogehoge' BIND_PORT = 389 BIND_METHOD = 'plain' ActiveLdap::Base.setup_connection( :host => HOST_IP_V4, :port => BIND_PORT, :method => BIND_METHOD, :base => BIND_BASE, :bind_dn => BIND_USER, :password => BIND_USER_PASSWORD) ※ReadOnlyでよければ、自分の社員番号のユーザーで問題なし Active Directoryへのconnectionを張る
LDAPクエリ 30 class User < ActiveLdap::Base ldap_mapping dn_attribute: "cn", prefix:
'' end user = User.find('200071') #所属するグループの一覧を表示 user.memberOf.each do |member| p.member.rdns[0][‘CN’] end "G_触媒部_総務グループ“ "G_正社員“ "DL_SSLVPN_Permit“ … <出力> Active Directoryのユーザーオブジェクトを取得
LDAPクエリ • Railsに組み込んで、従業員マスタを作成してみる 31
LDAPクエリ • LDAPクエリを書く為には、LDAP識別名(dn)の記法と、 対象ドメインのOUのツリー構造を理解しておく必要があり ます。 • dn :LDAPオブジェクトを指定する識別名 • OU:オブジェクトを格納するコンテナ
32
LDAPクエリ 33 dn = 'cn=200071,ou=Common,ou=User,ou=RootOU,dc=ad,dc=livesense,dc=co,dc=jp' dn:カンマ区切りで識別子を並べた文字列 ドメイン OU オブジェクト名
LDAPクエリまとめ • LDAPクエリを活用すれば、ADのリソースに 他システムからアクセスできる • システム毎にアカウントの2重管理はせず、 ADにアカウントを集約することが可能 • LDAP認証を実装すれば、AD認証やSSOも実現可能 •
実際にAD認証機能を備えたパッケージも多い • Redmine、MS SQL Server、Google Apps、etc… 34
まとめ • Active Directoryにより管理者の運用負荷は大きく 低減される • Active Directoryを外部システムの認証基盤や 従業員マスタとして活用することが可能 35
36 ご静聴ありがとうございました