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
140
2
Share
Active Directory #TechLunch
Active Directory
2014/9/3 (水) @ Livesense TechLunch
発表者:吉田 航
Livesense Inc.
PRO
September 03, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
Rubyはただの⾔語に⾮ず
livesense
PRO
0
270
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
75
27新卒_総合職採用_会社説明資料
livesense
PRO
0
5.2k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
9.8k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
470
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
620
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
66k
Other Decks in Technology
See All in Technology
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
310
GoとSIMDとWasmの今。
askua
1
320
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
190
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
390
Cloud Run のアップデート 触ってみる&紹介
gre212
0
270
Claude Codeを組織で使いこなす— サーバサイドAIエージェント運用の実践知
techtekt
PRO
0
150
long-running-tasks
cipepser
2
450
Javaで学ぶSOLID原則
negima
1
250
Strands Agents超入門
kintotechdev
1
150
Sony_KMP_Journey_KotlinConf2026
sony
1
190
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
470
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Paper Plane (Part 1)
katiecoart
PRO
0
8.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
How to Talk to Developers About Accessibility
jct
2
210
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
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 ご静聴ありがとうございました